Department of Computer Science and Technology

Technical reports

Integrated quality of service management

David Ingram

September 2000, 90 pages

This technical report is based on a dissertation submitted August 2000 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Jesus College.

DOIhttps://doi.org/10.48456/tr-501

Abstract

It has recently become standard practice to run soft real time applications, such as multimedia and games programs, on general purpose desktop systems. The operating systems in use on these platforms employ scheduling algorithms derived from the traditional multi-user timesharing world, which are unsuitable for real time purposes. The scheduler is viewed as a “black-box” whose behaviour depends in an unpredictable way on the entire system load. Many hard real time systems use static priorities instead, but these are not suitable for the dynamic task sets encountered in a general purpose computing environment.

A large number of prototype systems with improved real time schedulers have been created in the past. Unfortunately, designers of these systems placed constraints on the operating system structure which are incompatible with ubiquitous monolithic kernels, client-server architectures, existing standards and applications. This has prevented their adoption in a production desktop system. Furthermore little regard has been given to making real time capabilities convenient to use. An integrated user interface and automated quality of service management are necessary in a desktop environment.

This dissertation makes three main contributions which combine to overcome the difficulties just described:

(a) Scheduling. We present a conventionally structured, general purpose platform which provides effective soft real time scheduling. Binary compatibility with a large application software base has been preserved by extending an existing operating system; the modified platform is called Linux-SRT.

A basic design premise is that scheduling is separated from functionality, which allows quality of service to be associated with unmodified Linux applications and permits centralised control. We have developed a named reserve abstraction to share quality of service between threads and take advantage of application-specific knowledge where appropriate. Reserves and processes are handled by the same kernel scheduler without a separate real time mode or hierarchy of schedulers.

(b) Servers and IPS. Techniques for scheduling real time servers accurately are discussed, and a solution presented. This allows server processes to utilise their clients’ quality of service without restructuring. Multi-threaded servers are handled by allocating a single reserve to a set of threads. Single-threaded servers, including the X window system, are addressed with a retrospective accounting mechanism.

The implementation makes use of a novel IPC mechanism. This distributes kernel events to servers so they can synchronise with other activities, and is also used to integrate with window management and desktop control functions. In addition we have improved the normal socket abstraction by adding authentication and resource propagation, so that priority inheritance can take place between real time processes.

(c) Quality of service management. Linux-SRT applies quality of service parameters automatically to real time applications. These are described using a new kind of dual policy specification. Tools and user interface components which allow ordinary users to interact with the quality of service management system are demonstrated. These are tightly integrated with window management functions, avoiding cumbersome control programs.

We also evaluate methods for determining scheduling parameter values without user intervention. Processor time slices can be determined by empirical adaptation. Where statistical multiplexing is used, overrun probabilities are considered explicitly. Simple forms of mode-change support such as automatic idle state detection are also possible. Access control to real-time service classes has been defined in a flexible capability based manner, so programs do not need administrator rights to use them. Limits prevent over-committing of resources, starvation of lower priority processes and denial of service.

The resulting system has the following properties which have not been achieved before: soft real time scheduling on a desktop operating system, binary application compatibility, real time support for single-threaded servers, and a simple user interface for quality of service management.

Full text

PDF (8.3 MB)

BibTeX record

@TechReport{UCAM-CL-TR-501,
  author =	 {Ingram, David},
  title = 	 {{Integrated quality of service management}},
  year = 	 2000,
  month = 	 sep,
  url = 	 {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-501.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-501},
  number = 	 {UCAM-CL-TR-501}
}