Multicore OSes: Looking Forward from 1991, er, 2011

Upcoming multicore processors, with hundreds of cores or more in a single chip, require a degree of parallel scalability that is not currently available in today's system software. Based on prior experience in the supercomputing sector, the likely trend for multicore processors is away from shared memory and toward shared-nothing architectures based on message passing. In light of this, the lightweight messages and channels programming model, found among other places in Erlang, is likely the best way forward. This paper discusses what adopting this model entails, describes the architecture of an OS based on this model, and outlines a few likely implementation challenges.

[1]  Jim Davies,et al.  CSP (Communicating Sequential Processes) , 2011, Encyclopedia of Parallel Computing.

[2]  Mike Williams,et al.  Implementing a functional language for highly parallel real time applications , 1992 .

[3]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[4]  Adrian Schüpbach,et al.  The multikernel: a new OS architecture for scalable multicore systems , 2009, SOSP '09.

[5]  Luca Cardelli,et al.  Squeak: a language for communicating with mice , 1985, SIGGRAPH.

[6]  John H. Reppy Concurrent ML: Design, Application and Semantics , 1993, Functional Programming, Concurrency, Simulation and Automated Reasoning.

[7]  David Patterson The trouble with multi-core , 2010, IEEE Spectrum.

[8]  Michael Stumm,et al.  FlexSC: Flexible System Call Scheduling with Exception-Less System Calls , 2010, OSDI.

[9]  Margo Seltzer,et al.  Operating system scheduling for chip multithreaded processors , 2006 .

[10]  Jochen Liedtke,et al.  On micro-kernel construction , 1995, SOSP.

[11]  Edsger W. Dijkstra,et al.  The structure of the “THE”-multiprogramming system , 1968, CACM.

[12]  Richard F. Rashid From RIG to Accent to Mach: An Evolution of a Network Operating System , 1986, FJCC.

[13]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[14]  David F. Heidel,et al.  An Overview of the BlueGene/L Supercomputer , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[15]  Robert A Peck Amiga ROM kernel reference manual: libraries and devices , 1986 .