CNS Core: Small: Disentangled System Software
Yale University, New Haven CT
Investigators
Abstract
Today's system software are large and vastly complex. While they are highly modular, their components are often interdependent and tightly coupled. As a result, system software, especially operating systems (OSes), have become difficult to maintain, evolve, update safely, and run reliably. This is particularly problematic in environments where reliability is necessary, yet hardware redundancy is expensive or impossible. For example, system software updates must be painstakingly applied without downtime or lost execution context in pacemakers and space probes. Even in data centers, where network switches are replicated for reliability, switch software failures and maintenance updates still lead to network outages. The key insight of the project is that state spill between modules is the root cause of entanglement within system software. State spill happens when one module's state undergoes a lasting change as a result of interacting with another module. It is both prevalent and deep in modern system software. By minimizing state spill, this project aims at disentangled system software in which every component can evolve independently, ideally at runtime, without the fear of failures in one component jeopardizing others. Today's cloud services achieve fault tolerance and timely evolution with massive redundancy and abundance in warehouse data centers. This project will help bring these values to computer systems where redundancy and abundance are a luxury, such as medical implants, embedded systems, and even edge data centers, substantially improving their availability. By elevating these computers to the same level as data centers, this project will encourage more services to be placed outside the cloud, closer to end users, a radical departure from today's cloud-centric paradigm. This departure not only has the potential for better user experiences and novel services but also to democratize computing. The project will also cross-pollinate other important directions in systems software research by motivating new language features and suggest more ways to ensure disentanglement statically, and by allowing incremental specification and verification of large software systems on a module-by-module basis. The project will provide a platform to engage undergraduate students and high-school students in computing research, especially women and underrepresented minorities. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
View original record on NSF Award Search →