A look at TCP/IP scalability to gigabit networking on SMP machines. Demonstrates the costs of cache line bouncing on SMP (and thus the need for CPU affinity for both processes and IRQ handlers), how the performance impact of unaligned buffers can matter in hot paths, the benefit of recycling buffers rather than freeing and reallcating them, and the importance of processing events in batches rather than one at a time.
Lobbying for the use of IPv6 in computing clusters, especially for dynamically moving nodes between different clusters. [Ivory tower academia, not specific to Linux, ends with "Our future work is to refine our design and put it into implementation."]
Modifying the scsi subsystem to do device scanning and inquiry via hotplug (both at boot time and afterwards), including the ability to hotplug device hierarchies ("bridge insertion events", new busses each potentially containing multiple scsi devices). Improving the scsi error handler to better deal with multiple queued commands. Contains some nice material on the history of hotplug (with reference to Greg KH's 2001 paper), and an appendix describing the operation of the scsi subsystem.
Lustre is a clustering filesystem, successor to CODA. [Still not in kernel.]
Cebolla is a Unix daemon providing a virtual private network that anonymizes senders and recipients. Done entirely in userspace, based on UDP. [Reinvents TCP.]
Adding SELinux support to a distribution, configuring and administering a system under SELinux, managing policy, etc.
The history of DES, obsolescence of triple DES, the 15 candidate cipers for AES round 1, the 5 finalists in round 2, explanation of the winner "Rijndael", how the final AES differs from Rijndael, modes of operation, and a mathematical walkthrough of the algorighm.
Large clusters require the installation and maintenance of hundreds or thousands of identical nodes, generally via network installs from a central image server. Most people use something simple like rsync, or perhaps drive the network install support in their distro with a script, but this paper describes how IBM evolved the AIX network manager into LUI ("Linux Utility for cluster Installation") and then took ideas from another project (SystemImager) to create an even bigger project called "System Installation Suite". There's a distribution called "Brian's Own Embedded Linux" in there too.
User Mode Linux is a port of the Linux kernel to run as a normal user process, requiring no special support from the host kernel. Its device drivers talk to libc instead of directly to hardware, and the UML kernel process intercepts and handles system calls for child processes via ptrace.
[UML broke a lot of ground in Linux virtualization, and this paper foreshadows things like containers, eliminating redundant cacheing, and memory management cooperation between host and guest, that would be genericized to other virtualization schemes years later. UML is still an excellent tool for learning about and debugging Linux.]
Following up on LVM's ability to grow and shrink partitions while they're in use, this paper describes theory and tools to do the same to unmounted ext2/ext3 filesystems, and a kernel patch to grow mounted ext2/ext3 filesystems with a new "mount -o remount,resize=" option. (The tricky bit is allocating more blocks to group descriptor tables.)
uClinux is a Linux distribution designed to run on processors with no MMU (Memory Managment Unit), including cheap Digital Signal Processors with minimal general purpose processing functionality. It combines a NOMMU linux kernel, a NOMMU C library (uClibc), and nommu utilities (based on BusyBox). The original targets of uClinux were Motorola's [now Freescale's] DragonBall and ColdFire designs, followed by the ADI BlackFin and nommu variants of MIPS, Hitachi SH2, ARM, and SPARC. Discusses development tools (cross compilers), API differences (no memory protection, fixed size stack, no fork() or brk(), addition of binflat), kernel changes, and porting to new platforms.
ols2002_proceedings-pages-146-175.pdf