Factored operating systems (fos)
Authors:
Top Cited Papers
Open Access
- 21 April 2009
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGOPS Operating Systems Review
- Vol. 43 (2) , 76-85
Abstract
The next decade will afford us computer chips with 100's to 1,000's of cores on a single piece of silicon. Contemporary operating systems have been designed to operate on a single core or small number of cores and hence are not well suited to manage and provide operating system services at such large scale. If multicore trends continue, the number of cores that an operating system will be managing will continue to double every 18 months. The traditional evolutionary approach of redesigning OS subsystems when there is insufficient parallelism will cease to work because the rate of increasing parallelism will far outpace the rate at which OS designers will be capable of redesigning subsystems. The fundamental design of operating systems and operating system data structures must be rethought to put scalability as the prime design constraint. This work begins by documenting the scalability problems of contemporary operating systems. These studies are used to motivate the design of a factored operating system (fos). fos is a new operating system targeting manycore systems with scalability as the primary design constraint, where space sharing replaces time sharing to increase scalability.We describe fos, which is built in a message passing manner, out of a collection of Internet inspired services. Each operating system service is factored into a set of communicating servers which in aggregate implement a system service. These servers are designed much in the way that distributed Internet services are designed, but instead of providing high level Internet services, these servers provide traditional kernel services and replace traditional kernel data structures in a factored, spatially distributed manner. fos replaces time sharing with space sharing. In other words, fos's servers are bound to distinct processing cores and by doing so do not fight with end user applications for implicit resources such as TLBs and caches. We describe how fos's design is well suited to attack the scalability challenge of future multicores and discuss how traditional application-operating systems interfaces can be redesigned to improve scalability.Keywords
This publication has 14 references indexed in Scilit:
- An 80-Tile 1.28TFLOPS Network-on-Chip in 65nm CMOSIEEE International Solid-State Circuits Conference, 2007
- The Google file system2003
- Clock rate versus IPC2000
- Cellular Disco1999
- Disco1997
- Baring it all to software: Raw machinesComputer, 1997
- On micro-kernel construction1995
- Hive1995
- The Amoeba distributed operating system — A status reportComputer Communications, 1991
- Cache performance of operating system and multiprogramming workloadsACM Transactions on Computer Systems, 1988