Operating Systems
LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation Yizhou Shan, Yutong Huang, Yilun Chen, and Yiying Zhang, Purdue University
作者首先提到了现在(数据中心里面)硬件资源的解聚非常明显,也就是CPU、内存、存储分布在不同的机器上,另外异构化的趋势也越来越明显。作者表示传统的宏内核并不能很好地利用这些资源,因为具体的计算还是由其中一台台机器跑的,受到了机器上硬件资源的限制,然后提出了splitkernel的概念,把硬件资源分成三种类型:计算、内存、存储,彼此之间用RDMA进行通讯,然后就可以想用多少资源就用多少资源。然后作者实现了LegoOS,还能兼容Linux API,跑了下benchmark性能和现有的宏内核大抵相当。这个想法看起来还是很有意思的,相当于自动把一个程序变成分布式的了。不知道怎么做的,我觉得这三种资源的抽象都需要每台机子上的CPU+内存来跑,就有点像轻量级的hyperviosr?另外作者说放弃了coherence,那是不是意味着开发者写多线程程序、共享内存的时候就要格外小心?以及不知道网络带宽和延迟的影响有多大。