Title
Corey: an operating system for many cores
Abstract
Multiprocessor application performance can be limited by the operating system when the application uses the operating system frequently and the operating system services use data structures shared and modified by multiple processing cores. If the application does not need the sharing, then the operating system will become an unnecessary bottleneck to the application's performance. This paper argues that applications should control sharing: the kernel should arrange each data structure so that only a single processor need update it, unless directed otherwise by the application. Guided by this design principle, this paper proposes three operating system abstractions (address ranges, kernel cores, and shares) that allow applications to control inter-core sharing and to take advantage of the likely abundance of cores by dedicating cores to specific operating system functions. Measurements of microbenchmarks on the Corey prototype operating system, which embodies the new abstractions, show how control over sharing can improve performance. Application benchmarks, using MapReduce and a Web server, show that the improvements can be significant for overall performance: MapReduce on Corey performs 25% faster than on Linux when using 16 cores. Hardware event counters confirm that these improvements are due to avoiding operations that are expensive on multicore machines.
Year
Venue
Keywords
2008
OSDI
inter-core sharing,operating system service,corey prototype operating system,application benchmarks,operating system,specific operating system function,operating system abstraction,overall performance,data structure,multiprocessor application performance
Field
DocType
Citations 
Kernel (linear algebra),Embedded operating system,Data structure,Bottleneck,Computer science,Real-time computing,Multiprocessing,Multi-core processor,Operating system,Web server
Conference
174
PageRank 
References 
Authors
9.29
20
12
Search Limit
100174
Name
Order
Citations
PageRank
Silas Boyd-Wickizer170339.13
Haibo Chen21749123.40
Rong Chen358630.22
Yandong Mao447521.48
M. Frans Kaashoek5155581966.90
Robert Morris6173911916.26
Aleksey Pesterev735721.52
Lex Stein825913.89
Ming Wu990162.61
Yuehua Dai1020014.61
Yang Zhang11104366.18
Zheng Zhang12119373.82