This project encompasses design, implementation, and experimental evaluation of an operating system (OS) targeted specifically for compute nodes in "cloud" data centers. Cloud computing offers a chance to rethink OS design, as the goal is not a desktop system but rather an efficient building block for large clusters that support networked applications. The proposed OS acts as a "dumb" node in a cluster, taking commands from an external cluster manager and handing out resources to applications as appropriate. This, plus the use of relatively few devices and no graphical user interface, means it need only support a small fraction of traditional OS features. Instead the focus is on high performance with many cores, performance isolation, remote control, and tiers of service.
The operating system mechanisms explored in this project have potential to improve data center efficiency, both by improving single-node efficiency, and by making it easier to leverage underutilized nodes for batch processing and large-scale data analysis without hindering latency-sensitive applications. For greater impact, the project will release the source code of the developed OS as free, open-source software. An earlier version of the operating system that focused on enabling many-core parallelism has already been released. The new OS has potential uses for education as well for exploring higher-level cluster OS ideas. In addition, the principal investigator will leverage Berkeley's SUPERB program to bring in underrepresented undergraduate students for an 8-week summer research experience.