每周论文
date
Mar 1, 2022
slug
theseus
tags
PaperReading
summary
type
Post
status
Published
Theseus: an Experiment in Operating System Structure and State Management(2022/3/5)LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation
Theseus: an Experiment in Operating System Structure and State Management(2022/3/5)
操作系统各个组件之间交互会导致持有彼此之间的状态(state spill),这会影响系统的Evolvability和Availability,比如fault tolerance和live update。为了解决这个问题,这篇工作利用Rust设计了Theseus,主要的贡献有两个:新型的结构和利用语内设计方法利用Rust的语言特性将操作系统的一部分任务交给编译器检查。通过这两个方面的设计,Theseus大大减少了操作系统必须维护的状态。最后为了证明其实用性,该工作在Theseus上实现了live evolution和fault recovery并做了相应的评估。
Evolvability : Then we define evolvability as a system's ability to survive changes in its environment, requirements and implementation technologies. Availability : refers to the overall uptime of the computer system or its specific features. state spill : One software component harboring changed states as a result of handling an interaction from another component, such that their future correctness depends on said states.
LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation
目前的数据中心使用的还是monolithic server。这种monolithic架构存在着限制,比如难以增加或删除某一种硬件组件,以及如果某一个硬件组件如内存控制器坏了,那么整个系统就没有办法继续使用了。针对这种架构缺陷,该工作提出了splitkernel架构,主张将硬件资源分开,即将各个硬件设备都视为独立,隔离的组件,每个组件下运行一个moniter(类似OS,将传统OS根据功能分开的产物),彼此之间通过网络进行通信,以此实现各个硬件的独立替换以及错误隔离。有趣的是,该工作针对CPU和内存分离的架构设计,通过在CPU组件额外设置一层DRAM作为缓存,即便将传统的内存与CPU分离,仍然能够得到和monolithic架差不多的性能。该工作基于splitkernel的架构实现了LegoOS。