Controlling Kernel Scheduling from User Space: An Approach to Enhancing Applications’ Reactivity to I/O Events
In this paper, we present a sophisticated mechanism that allows an application to tightly control the way I/O events are handled within the underlying operating system’s kernel. The goal is to provide an efficient user-level interface to allow applications to quickly detect and handle asynchronous I/O events. Reactivity is obviously a crucial property for many time-critical applications. For instance, it is a major issue in distributed applications where poor reactivity to communication events may have a direct influence on the observed latency of communications, and may even impact on the whole application behavior. Our approach is based on an extension of the Scheduler Activation kernel scheduling model, originally proposed by Anderson et al. The idea is to minimize the time elapsed between the detection of an I/O event within the kernel and the scheduling of the appropriate user-level thread within the application. The progress of I/O operations still takes place in kernel space, but the scheduling decisions are taken in user space. We have implemented the core of our proposal within the Linux kernel, and the PM2 multithreading environment was ported on top of the corresponding user-level API. Our experiments demonstrate that the implementation of our kernel extensions is very efficient and that the overhead introduced by the user-level interface is very small. Moreover, the observed results show that our approach competes favorably against approaches based on the use of signals or kernel threads.
KeywordsSystem Call User Space Context Switch Virtual Processor Distribute Shared Memory
Unable to display preview. Download preview PDF.
- 2.Namyst, R., Méhaut, J.F.: PM2: Parallel multithreaded machine. A computing environment for distributed architectures. In: Parallel Computing (ParCo 1995), pp. 279–285. Elsevier Science Publishers, Amsterdam (1995)Google Scholar
- 3.Prylli, L., Tourancheau, B.: BIP:A new protocol designed for High-Performance networking on Myrinet. In: 1st Workshop on Personal Computer based Networks Of Workstations (PCNOW 1998), Orlando, USA. LNCS, vol. 1388, pp. 472–485. Springer, Heidelberg (1998)Google Scholar
- 5.Dolphin Interconnect: SISCI Documentation and Library (1998), Available from URL, http://www.dolphinics.no/
- 6.Myricom: Myrinet Open Specifications and Documentation (1998), Available from URL, http://www.myri.com/
- 10.Anderson, T., Bershad, B., Lazowska, E., Levy, H.: Scheduler activations: Efficient kernel support for the user-level managment of parallelism. In: Proc. 13th ACM Symposium on Operating Systems Principles (SOSP 1991), pp. 95–105 (1991)Google Scholar
- 11.Williams, N.J.: An Implementation of Scheduler Activations on the NetBSD Operating System. In: USENIX Annual Technical Conference, pp. 99–108 (2002)Google Scholar
- 12.Haines, M.: On Designing Lightweight Threads for Substrate Software. In: USENIX Technical Conference, Anaheim, CA, USENIX, pp. 243–255 (1997)Google Scholar