Lightweight kernel/user communication for real-time and multimedia applications

  • Authors:
  • Christian Poellabauer;Arsten Schwan;Richard West

  • Affiliations:
  • College of Computing, Georgia Institute of Technology, Atlanta, GA;College of Computing, Georgia Institute of Technology, Atlanta, GA;Computer Science Department, Boston University, Boston, MA

  • Venue:
  • NOSSDAV '01 Proceedings of the 11th international workshop on Network and operating systems support for digital audio and video
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Operating system enhancements to support real-time and multimedia appl ications often include specializations and extensions of kernel functionality, as with the kernel HTTP daemon (khttpd) in Linux, for instance. To enable efficient and flexible interactions of such extensions with user-level functionality, we have developed ECalls, a lightweight, bidirectional kernel/user event delivery facility, which not only supports the timely delivery of events, but it also reduces the cost and frequency of kernel/user boundary crossings. ECalls is a communication tool that allows (a) kernel extensions to register their offered services and (b) applications to register their interest in these services. Using ECalls, applications use lightweight system calls to generate events, while kernel extensions raise real-time signals or invoke handler functions (residing in either user or kernel space), or they may use kernel threads to handle events on behalf of applications. ECalls can also influence the CPU scheduler such that a process with pending events is given preference over other processes. To demonstrate its utility, this paper implements an I/O event delivery mechanism using ECalls. This mechanism is shown to improve the performance of two applications: a distributed video player and a web server.