Oooh, a keynote ? now this is what I came to see. A little bit of an inauspicious start, though: there was a massive struggle up the front trying to get the laptop to talk to the projector. I?m
so over the X.org fun and games.
Eventually they did manage to cajole all the parts into talking to each other, and the talk began. I?m not sure what I expected David Miller to be like, but he was different to it. Rather than a one?and?a?half hour marathon talk, he gave a couple of smaller ones, which was quite the kindness.
Networking Improvements
First he covered some of the networking improvements in the Linux kernel. There?s been a lot of work into cleaning up the congestion control algorithms: whereas previously a simple change would end up touching 100 files, now the code has been refactored so that each algorithm is isolated in its own file.
There?s also been improvements on the configuration between congestion control algorithms. Now you?ll be able to specify algorithms on either for an entire protocol or down to the per socket level. This?ll be especially nice for doing things like NFS over 802.11
x (see
this paper for more).
He also told us about some work by A. C. de Melo on a new protocol: DCCP (Datagram Congestion Control Protocol) ? essentially UDP with congestion control and some other improvements, freeing applications that don?t need TCP?s reliability guarantees from having to reimplement congestion control etc. themselves on top of UDP.
Linux on Niagara
David had a secret for us: he?s been working with Sun to get Linux going on their new Niagara chips. This is seriously cool. For those who?ve not heard, the Niagara is a massively multithreaded chip that?s quite different from most of the other silicon out there. Each chip has eight integer cores, with four running threads running round?robin per core. The thread switch here?s rather interesting: if I understood correctly, each thread on a core gets one tick in turn. This works because the context switching between threads is free! Quite a contrast to the more common chips a la Intel or AMD.
The way Linux will run on the Niagara is similar in a way to the S390 port, as a guest under a hypervisor. This lets the machine be partitioned into multiple ?zones? relatively straightforwardly from the OS?s perspective.
One of the audience?s questions for David on the new chip was how hard it is for applications to take advantage of the chip?s architecture. Apparently, as long as the job can be split into little independant parts ? say, serving up web pages or distributed encoding ? you?re golden. Otherwise, thanks to the chips relatively low clock speed, you might find the performance a bit lacking. The other caveat is that despite each chip having eight integer cores, there?s only one FPU per chip.
The port?s progressing well ? David estimates that there should be a stable port by mid?June. Progress has been helped along a lot by the similarities to the UltraSPARC 4 chip. I really want one of these puppies, but Solaris 10 sounds
very cool? choices, choices.
David finished up the talk with a brief bit about ?social interactions in the Linux development process?, or, how to get your patches accepted into the kernel. Basically, it comes down to don?t be a prat. You get your way by being nice and working hard. Nothing too non?obvious, really.