A Decentralized Operating System
▶Summary
The DOS project targets the challenge of developing and deploying distributed applications on large-scale decentralized computing infrastructures (DCIs) such that their dependability properties, e.g., safety and security, can be enforced by the foundational layers of the system stack in a policy-compliant manner.While it is possible today to construct distributed applications, it is challenging to ensure that their dependability properties are preserved end-to-end in a DCI consisting of a diversified set of compute nodes hosted in multiple administrative jurisdictions. This situation is primarily caused by the limitations of existing system stack foundations: (a) hardware: DCIs expose heterogeneous compute nodes that lack a unified interface to access, isolate, and manage them; (b) OS: current OSes lack mechanisms for resource management in a safe and secure manner for heterogeneous nodes operating across multiple trust domains. As a result, programmers rely on ad-hoc programming and deployment mechanisms, which are not only prohibitively expensive to develop and error-prone but also cannot ensure compliance with the dependability requirements.The DOS project seeks to bridge this gap by pursuing a radically new hardware/OS co-design by introducing1. a pluggable hardware component called Isolation Control Unit (ICU) that abstracts out the hardware heterogeneity while providing a minimalistic interface for resource management, isolation, communication, and trust establishment.2. a microkernel-based Decentralized Operating System (DOS) that builds on ICUs to manage DCIs as a unified dependable system substrate to enable policy-compliant application deployment.Overall, our work aims to empower programmers by providing a generic distributed programming framework on top of DOS to concisely specify the dependability policies along with the application logic, while our system stack transparently enforces these policies in decentralized environments.