Abstract
With μ-kernel based systems becoming more and more prevalent, the demand for extensible resource management raises - and with it the demand for flexible thread scheduling. In this paper, we investigate the benefits and costs of a μ-kernel that exports scheduling from the kernel to user level. A key idea of our approach is to involve the user level whenever the μ-kernel encounters a situation that is ambiguous with respect to scheduling, and to permit the kernel to resolve the ambiguity based on user decisions. A further key aspect is that we rely on a generic, protection domain neutral interface between kernel and applications.
For evaluation, we have developed a hierarchical user level scheduling architecture for the L4 μ-kernel, and a virtualization environment running on its top. Our environment supports Linux 2.6.9 guest operating systems on IA-32 processors. Experiments indicate an application overhead between 0 and 10 percent compared to a pure in-kernel scheduler solution, but also demonstrate that our architecture enables effective and accurate user-directed scheduling.
- T. E. Anderson, B. N. Bershad, E. D. Lazowska, and H. M. Levy. Scheduler activations: Effective kernel support for the user-level management of parallelism. In Proceedings of the 13th Symposium on Operating System Principles. ACM Press, Oct. 1991. Google ScholarDigital Library
- J. Appavoo, M. Auslander, D. DaSilva, D. Edelsohn, O. Krieger, M. Ostrowski, B. Rosenburg, R. Wisniewski, and J. Xenidis. Scheduling in K42. White Paper, Aug. 2002.Google Scholar
- P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the art of virtualization. In Proceedings of the 19th Symposium on Operating System Principles, Bolton Landing, NY, Oct. 2003. Google ScholarDigital Library
- S. Biemueller and U. Dannowski. L4-based real virtual machines - an api proposal. In Proceedings of the First International Workshop on MicroKernels for Embedded Systems, Sydney, Australia, Jan. 2007.Google Scholar
- Embedded Real-Time and Operating Systems Group. NICTA L4-Embedded Kernel Reference Manual (Version N1). Natioal ICT Australia, 2005.Google Scholar
- B. Ford and S. R. Susarla. CPU inheritance scheduling. In Proceedings of the 2nd Symposium on Operating Systems Design and Implementation, Berkeley, CA, Oct. 1996. Google ScholarDigital Library
- G. Heiser. Secure embedded systems need microkernels.;login: the USENIX Association newsletter, 30(6), Dec. 2005.Google Scholar
- O. Krieger, M. Auslander, B. Rosenburg, R. W. Wisniewski, J. Xenidis, D. D. Silva, M. Ostrowski, J. Appavoo, M. Butrico, M. Mergen, A. Waterland, and V. Uhlig. K42: Building a complete operating system. In Proceedings of the 1st EuroSys conference, Leuven, Belgium, Apr. 2006. Google ScholarDigital Library
- I. M. Leslie, D. McAuley, R. Black, T. Roscoe, P. T. Barham, D. Evers, R. Fairbairns, and E. Hyden. The design and implementation of an operating system to support distributed multimedia applications. IEEE Journal of Selected Areas in Communications, 14(7), Sept. 1996. Google ScholarDigital Library
- J. LeVasseur, V. Uhlig, M. Chapman, P. Chubb, B. Leslie, and G. Heiser. Pre-virtualization: soft layering for virtual machines. Technical Report 2006--15, Fakultät für Informatik, Universitat Karlsruhe (TH), July 2006.Google Scholar
- J. Liedtke. On μ-kernel construction. In Proceedings of the 15th Symposium on Operating System Principles, Copper Mountain, CO, Dec. 1995. Google ScholarDigital Library
- J. Liedtke, K. Elphinstone, S. Schönberg, H. Härtig, G. Heiser, N. Islam, and T. Jaeger. Achieved IPC performance (still the foundation for extensibility). In Proceedings of 6th Workshop on Hot Topics in Operating Systems, Cape Cod, MA, May 1997. Google ScholarDigital Library
- J. Liedtke, N. Islam, and T. Jaeger. Preventing denial-of-service attacks on a μ-kernel for WebOSes. In Proceedings of 6th Workshop on Hot Topics in Operating Systems, Cape Cod, MA, May 1997. Google ScholarDigital Library
- J. Liedtke and H. Wenske. Lazy process switching. In Proceedings of 8th Workshop on Hot Topics in Operating Systems, Schloß Elmau, Oberbayern, Germany, May 2001. Google ScholarDigital Library
- B. D. Marsh, M. L. Scott, T. J. LeBlanc, and E. P. Markatos. First-class user-level threads. In Proceedings of the 13th Symposium on Operating System Principles. ACM Press, Oct. 1991. Google ScholarDigital Library
- S. Ruocco. Real-time programming and L4 microkernels. In Proceedings of the 2006 Workshop on Operating System Platforms for Embedded Real-Time Applications, Dresden, Germany, July 2006.Google Scholar
- S. Ruocco. User-level fine-grained adaptive real-time scheduling via temporal reflection. In Proceedings of the 27th IEEE International Real-Time Systems Symposium, Rio de Janeiro, Brazil, Dec. 2006. Google ScholarDigital Library
- B. Saha, A.-R. Adl-Tabatabai, A. Ghuloum, M. Rajagopalan, R. L. Hudson, L. Petersen, V. Menon, B. Murphy, T. Shpeisman, E. Sprangle, A. Rohillah, D. Carmean, and J. Fang. Enabling scalability and performance in a large scale CMP enviroment. In Proceedings of the 2nd EuroSys conference, Lisbon, Portugal, Mar. 2007. Google ScholarDigital Library
- J. S. Shapiro. Vulnerabilities in synchronous IPC designs. In IEEE Symposium on Security and Privacy, Los Alamitos, CA, May 2003. Google ScholarDigital Library
- U. Steinberg, J. Wolter, and H. Härtig. Fast component interaction for real-time systems. In Proceedings of the 17th Euromicro Conference on Real-Time Systems, Palma de Mallorca, Spain, July 2005. Google ScholarDigital Library
- J. Stoess, C. Lang, and F. Bellosa. Energy management for hypervisor-based virtual machines. In Proceedings of the USENIX 2007 Annual Technical Conference, Santa Clara, CA, June 2007. Google ScholarDigital Library
- J. Stoess and V. Uhlig. Flexible, low-overhead event logging to support resource scheduling. In Proceedings of the Twelfth International Conference on Parallel and Distributed Systems, volume 2, Minneapolis, MN, July 2006. Google ScholarDigital Library
- The L4Ka Team. L4 Kernel Reference Manual (Version X.2). Universität Karlsruhe, 2004.Google Scholar
- A. Tucker and A. Gupta. Process control and scheduling issues for multiprogrammed shared-memory multiprocessors. In Proceedings of the 12th Symposium on Operating System Principles. ACM Press, Dec. 1989. Google ScholarDigital Library
- V. Uhlig. Scalability of Microkernel-Based Systems. PhD thesis, University of Karlsruhe, Germany, May 2005.Google Scholar
- VMware Inc. ESX Server Data Sheet, 2006.Google Scholar
Index Terms
- Towards effective user-controlled scheduling for microkernel-based systems
Recommendations
Towards a user-mode approach to partitioned scheduling in the seL4 microkernel
This paper presents a preliminary study of applying partitioned scheduling in the seL4 microkernel. This microkernel is the first operating system kernel ever to be formally proven for its functional correctness. Even though the kernel is completely ...
Towards a scalable microkernel personality for multicore processors
Euro-Par'13: Proceedings of the 19th international conference on Parallel ProcessingWith a steady trend from singe-core to multicore processors, scalability has become a significant design issue for the Operating Systems (OS), as many critical OS functions must be re-designed in order to achieve scalable performance. While numerous ...
Effective ensembles of heuristics for scheduling flexible job shop problem with new job insertion
Flexible job shop scheduling problem.Ensembles of heuristics.Re-scheduling for new job insertion.Multiple objectives scheduling problem. This study investigates the flexible job shop scheduling problem (FJSP) with new job insertion. FJSP with new job ...
Comments