Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Foster, I., Kesselman, C., Tuecke, S.: The Nexus approach to integrating multithreading and communication. Journal of Parallel and Distributed Computing 37, 70–82 (1996)
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)
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)
Aumage, O., Bougé, L., Méhaut, J.F., Namyst, R.: Madeleine II:A portable and efficient communication library for high-performance cluster computing. Parallel Computing 28, 607–626 (2002)
Dolphin Interconnect: SISCI Documentation and Library (1998), Available from URL, http://www.dolphinics.no/
Myricom: Myrinet Open Specifications and Documentation (1998), Available from URL, http://www.myri.com/
Antoniu, G., Bougé, L.: DSM-PM2: A portable implementation platform for multithreaded DSM consistency protocols. In: Müller, F. (ed.) HIPS 2001. LNCS, vol. 2026, pp. 55–70. Springer, Heidelberg (2001)
Prylli, L., Tourancheau, B., Westrelin, R.: The design for a high performance MPI implementation on the Myrinet network. In: Margalef, T., Dongarra, J., Luque, E. (eds.) PVM/MPI 1999. LNCS, vol. 1697, pp. 223–230. Springer, Heidelberg (1999)
Bougé, L., Danjean, V., Namyst, R.: Improving Reactivity to I/O Events in Multithreaded Environments Using a Uniform, Scheduler-Centric API. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, p. 605. Springer, Heidelberg (2002)
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)
Williams, N.J.: An Implementation of Scheduler Activations on the NetBSD Operating System. In: USENIX Annual Technical Conference, pp. 99–108 (2002)
Haines, M.: On Designing Lightweight Threads for Substrate Software. In: USENIX Technical Conference, Anaheim, CA, USENIX, pp. 243–255 (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Danjean, V., Namyst, R. (2003). Controlling Kernel Scheduling from User Space: An Approach to Enhancing Applications’ Reactivity to I/O Events. In: Pinkston, T.M., Prasanna, V.K. (eds) High Performance Computing - HiPC 2003. HiPC 2003. Lecture Notes in Computer Science, vol 2913. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24596-4_52
Download citation
DOI: https://doi.org/10.1007/978-3-540-24596-4_52
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20626-2
Online ISBN: 978-3-540-24596-4
eBook Packages: Springer Book Archive