PhD !

This blog post is long overdue, but like Lenny, it was finally released. Yes, I defended my PhD thesis on December 4th. So I’m officially a Doctor from the Université Joseph Fourier Grenoble.

The general context of my thesis is distributed systems, like peer-to-peer systems and applications running on HPC (High Performance Computing) cluster and grids. More specifically, I worked on methods and tools to study such systems, trying to answer the following questions: take a given application that will run on a distributed system. What can we learn or verify about its performance or its characteristics? Will it scale well, even with 1000 or 10000 nodes? Does this app perform better than this another app? Under which conditions? (that’s probably the hardest question, because you need to be able to run both apps under the same conditions if you want a fair comparison!)

My work involved studying basic building blocks that can be used to study distributed systems, like network emulators (Dummynet, Linux’s traffic control subsystem, NISTNet). I also designed P2PLab, which allows to emulate network-centric peer-to-peer systems using a cluster, targetting experiments with thousands of emulated instances of the application. For example, it allowed to run experiments with ~15000 emulated BitTorrent nodes using 160 real machines.

So what’s next? Well, my first-priority plan is to make use of my PhD to apply to an academic position (maitre de conférences, i.e assistant professor). If you know an open position where I would be a good fit, don’t hesitate to tell me! Of course, this plan might very well fail (I will know around end of June). In that case, I’ll probably be looking for a job, likely Free-Software-related. Again, if you hear of something for me, ping me!

11 thoughts on “PhD !

  1. The first thing you should do, IMO, is study the Transmission bittorrent client to figure out what is wrong with it, and then use that information to convince the Ubuntu desktop team to replace it with something that works reliably. Your recent work would give you just that expertise, yes?

    Ryan

  2. Congratulations! I’m in the latter stages of my own, so I know how much it sucks. Way to push through it!! woo hoo hoo!!! :)

  3. I don’t really know how to report good BitTorrent bugs because I don’t understand the issues involved well enough. If I were to write a report, it would sound like this.

    Procedure to reproduce bug:
    * Download a torrent file from a popular tracker (the Big Buck Bunny torrent usually has lots of seeders)
    * Give this torrent to Transmission and take note of the download speed, number of peers, and time taken to add peers.
    * Delete the downloaded file and give the torrent to Deluge or your favorite libtorrent-based client, downloading a second time, noting the download speed.

    Expected result: Transmission finds roughly the same number of peers in roughly the same amount of time, and downloads at the same rate, as Deluge. These numbers are congruent with the numbers of seeders and leechers as reported by the tracker

    Actual result: Deluge finds more peers in less time and downloads the file much faster than Transmission does. Deluge’s performance is congruent with the numbers posted by the tracker, whereas Transmission operates as though far fewer seeders were available.

    Notes: subsequently, seed the file for awhile in order to be a good citizen.

    I hope you can help me get to the bottom of this, if you know more about how BitTorrent works. I could learn, but naturally I’m working on many other things and mostly want a client that works well. The fact that Transmission was chosen over many more capable pieces of software is confusing to me and I think it would benefit the community if we could put some numbers on that performance delta!

    Thanks,
    Ryan

  4. After a quick look, it’s likely to be a problem of the interlying library (libtorrent for deluge, libtransmission for transmission). Apparently, libtransmission has fewer features, and, for example, lacks DHT support (which might explain the “doesn’t find as many peers” problem).

    I’ll try to take a deeper look later, but my TODO list is huge currently.

  5. Really interesting work, contratulations!

    I’m very interested in the scalability study you did, is it possible to view your thesis results?

    Thanks

  6. Congratulations, on your PHD and blog entry #333 ;)

    Where can I get your thesis? I’d like to read it and see if it can help us to run one of the largest – if not largest – Debian clusters in the world :)

Comments are closed.