Biscuit is a monolithic, POSIX-subset operating system kernel in Go for x86-64 CPUs. We wrote it to study the performance trade-offs of using a high-level language with garbage collection to implement a kernel with a common style of architecture.
ScaleFS is a highly scalable file system for the sv6 operating system. The aim is to achieve scalability over many cores and disks.
We build and investigate software systems for multicore computers. We have analyzed and fixed scalability problems in existing software, such as the Linux kernel, and built scalable software from scratch, such as RadixVM and the Corey kernel. To facilitate this work and help identify scalability bottlenecks on multicore computers we have built analysis tools, like DProf.
The Chord project explored how to build scalable, robust distributed systems using peer-to-peer ideas. The basis for much of our work is the Chord distributed hash lookup primitive. Chord is completely decentralized and symmetric, and can find data using only log(N) messages, where N is the number of nodes in the system. Chord’s lookup mechanism is provably robust in the face of frequent node failures and re-joins.
UIA is a distributed name system and ad-hoc routing infrastructure which provides zero-configuration connectivity among users’ mobile devices without the use of centralized servers. Each user has a local namespace which is shared among all her devices and is always available on every device. Users can assign personal names to each of their devices, and can also name other users and access their friends’ namespaces. UIA devices automatically maintain connectivity with other named devices, both in ad-hoc networks and in the global Internet when available.