|
ABSTRACT
Systems with minimal kernels address the problem of ever-increasing system software complexity by strict separation of resource permission management and resource policies into different trust domains. Lately, such system structure has found wide attention in the research community and industry in the form of hypervisors and virtual machines. With an increasing number of processors, these systems face a scalability problem. The separation eliminates semantic information about the expected parallelism for individual resources, such as memory pages or processors. Hence, the kernel is unable to optimize its synchronization primitives on a case-by-case basis---a precondition for a scalable, yet well-performing system. In this paper we present an adaptive synchronization scheme, one of the core building block for scalable microkernels. Herewith, unprivileged components (like virtual machines) can express the degree of concurrency at the granularity of individual resources. The kernel can safely adapt and optimize its internal synchronization regime on a case-by-case basis as we show exemplary for inter-process communication and the memory management subsystem of an L4 microkernel.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Accetta, M., Baron, R., Golub, D., Rashid, R., Tevanian, A., and Young, M. Mach: A new kernel foundation for UNIX development. In Proceedings of the Summer 1986 USENIX Technical Conference and Exhibition (June 1986).
|
| |
2
|
|
| |
3
|
Appavoo, J., Auslander, M., Dasilva, D., Edelsohn, D., Krieger, O., Ostrowski, M., Et Al. Memory management in k42. Whitepaper, Aug. 2002.
|
 |
4
|
Paul Barham , Boris Dragovic , Keir Fraser , Steven Hand , Tim Harris , Alex Ho , Rolf Neugebauer , Ian Pratt , Andrew Warfield, Xen and the art of virtualization, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
 |
5
|
|
| |
6
|
Bull, J. M., and O'Neill, D. A microbenchmark suite for openMP 2.0. In 3rd European Workshop on OpenMP (Sept. 2001).
|
| |
7
|
Chaves, Jr., E. M., Leblanc, T. J., Marsh, B. D., and Scott, M. L. Kernel-kernel communication in a shared-memory multiprocessor. In The Symposium on Experiences with Distributed and Multiprocessor Systems (Atlanta, GA, Mar. 1991).
|
| |
8
|
Chen, B. Multiprocessing with the Exokernel operating system. Master's thesis, Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2000.
|
| |
9
|
Corp., I. IA-32 Intel Architecture Software Developer's Manual, Volume 1--3, 2004.
|
 |
10
|
D. R. Engler , M. F. Kaashoek , J. O'Toole, Jr., Exokernel: an operating system architecture for application-level resource management, Proceedings of the fifteenth ACM symposium on Operating systems principles, p.251-266, December 03-06, 1995, Copper Mountain, Colorado, United States
|
| |
11
|
Eran Gabber , Christopher Small , John Bruno , José Brustoloni , Avi Silberschatz, The pebble component-based operating system, Proceedings of the annual conference on USENIX Annual Technical Conference, p.20-20, June 06-11, 1999, Monterey, California
|
| |
12
|
Ben Gamsa , Orran Krieger , Jonathan Appavoo , Michael Stumm, Tornado: maximizing locality and concurrency in a shared memory multiprocessor operating system, Proceedings of the third symposium on Operating systems design and implementation, p.87-100, February 1999, New Orleans, Louisiana, United States
|
 |
13
|
James R. Goodman , Mary K. Vernon , Philip J. Woest, Efficient synchronization primitives for large-scale cache-coherent multiprocessors, Proceedings of the third international conference on Architectural support for programming languages and operating systems, p.64-75, April 03-06, 1989, Boston, Massachusetts, United States
|
| |
14
|
|
 |
15
|
|
| |
16
|
Ho, C.-T., and Johnsson, L. Distributed routing algorithm for broadcasting and personalized communication in hypercubes. In International Conference on Parallel Processing (ICPP 1986) (1986), pp. 640--648.
|
| |
17
|
IEEE. IEEE Std 1596--1992: IEEE Standard for Scalable Coherent Interface. IEEE, Inc., Aug. 1993.
|
| |
18
|
|
| |
19
|
Daniel Lenoski , James Laudon , Kourosh Gharachorloo , Wolf-Dietrich Weber , Anoop Gupta , John Hennessy , Mark Horowitz , Monica S. Lam, The Stanford Dash Multiprocessor, Computer, v.25 n.3, p.63-79, March 1992
[doi> 10.1109/2.121510]
|
| |
20
|
Joshua LeVasseur , Volkmar Uhlig , Jan Stoess , Stefan Götz, Unmodified device driver reuse and improved system dependability via virtual machines, Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation, p.2-2, December 06-08, 2004, San Francisco, CA
|
 |
21
|
|
| |
22
|
|
 |
23
|
|
| |
24
|
Mckenney, P. E., and Slingwine, J. D. Read-copy update: Using execution history to solve concurrency problems. In Parallel and Distributed Computing and Systems (Las Vegas, NV, Oct. 1998).
|
 |
25
|
|
| |
26
|
|
| |
27
|
|
| |
28
|
Sailer, R., Valdez, E., Jaeger, T., Perez, R., Van Doorn, L., Griffin, J. L., and Berger, S. sHype: Secure hypervisor approach to trusted virtualized systems. Tech. Rep. RC23511, IBM T.J. Watson Research Center, Yorktown Heights, NY, Feb. 2005.
|
 |
29
|
Jonathan S. Shapiro , Jonathan M. Smith , David J. Farber, EROS: a fast capability system, Proceedings of the seventeenth ACM symposium on Operating systems principles, p.170-185, December 12-15, 1999, Charleston, South Carolina, United States
|
| |
30
|
SYSTEM ARCHITECTURE GROUP. L4 X.2 Reference Manual, 6th ed. University of Karlsruhe, Germany, Oct. 2005.
|
| |
31
|
Uhlig, V. Scalability of Microkernel-Based Systems. PhD thesis, University of Karlsruhe, Germany, May 2005.
|
| |
32
|
Volkmar Uhlig , Joshua LeVasseur , Espen Skoglund , Uwe Dannowski, Towards scalable multiprocessor virtual machines, Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium, p.4-4, May 06-07, 2004, San Jose, California
|
| |
33
|
|
| |
34
|
Ronald C. Unrau , Orran Krieger , Benjamin Gamsa , Michael Stumm, Experiences with locking in a NUMA multiprocessor operating system kernel, Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation, p.11-es, November 14-17, 1994, Monterey, California
|
 |
35
|
W. Wulf , E. Cohen , W. Corwin , A. Jones , R. Levin , C. Pierson , F. Pollack, HYDRA: the kernel of a multiprocessor operating system, Communications of the ACM, v.17 n.6, p.337-345, June 1974
[doi> 10.1145/355616.364017]
|
|