Controlling Kernel Scheduling from User Space: An Approach to Enhancing Applications’ Reactivity to I/O Events

  • Vincent Danjean
  • Raymond Namyst
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2913)


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.


System Call User Space Context Switch Virtual Processor Distribute Shared Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Foster, I., Kesselman, C., Tuecke, S.: The Nexus approach to integrating multithreading and communication. Journal of Parallel and Distributed Computing 37, 70–82 (1996)CrossRefGoogle Scholar
  2. 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. 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
  4. 4.
    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)zbMATHCrossRefGoogle Scholar
  5. 5.
    Dolphin Interconnect: SISCI Documentation and Library (1998), Available from URL,
  6. 6.
    Myricom: Myrinet Open Specifications and Documentation (1998), Available from URL,
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 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. 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. 12.
    Haines, M.: On Designing Lightweight Threads for Substrate Software. In: USENIX Technical Conference, Anaheim, CA, USENIX, pp. 243–255 (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Vincent Danjean
    • 1
  • Raymond Namyst
    • 1
  1. 1.LaBRI, Université de Bordeaux ITalenceFrance

Personalised recommendations