As previous OS abstractions and structures fail to explicitly consider the separation between resource users and providers, the shift toward server-side computing poses serious challenges to OS structures, which is aggravated by the increasing many-core scale and workload diversity. #R##N#This paper presents the horizontal OS model. We propose a new OS abstraction, subOS, an independent OS instance owning physical resources that can be created, destroyed, and resized swiftly. We horizontally decompose the OS into the supervisor for the resource provider and several subOSes for resource users. The supervisor discovers, monitors, and provisions resources for subOSes, while each subOS independently runs applications. We confine state sharing among subOSes, but allow on-demand state sharing if necessary. #R##N#We present the first implementation, RainForest, which supports unmodified Linux applications binaries. Our comprehensive evaluations using six benchmark suites quantitatively show RainForest outperforms Linux with three different kernels, LXC, and XEN. The RainForest source code is soon available.
['Gang Lu', 'Jianfeng Zhan', 'Xinlong Lin', 'Chongkang Tan', 'Lei Wang']
On Horizontal Decomposition of the Operating System