skip to main content
Department of Computer Science University of Colorado Boulder
cu: home | engineering | mycuinfo | about | cu a-z | search cu | contact cu cs: about | calendar | directory | catalog | schedules | mobile | contact cs
home · events · colloquia · 1996-1997 · 

Colloquium - Humphrey

ECCR 265

Predictable Threads for Dynamic, Hard Real-Time Environments
Department of Computer Science and Engineering, University of Colorado at Denver

The key metric of a real-time operating system is its predictability: kernel operations must not take an arbitrary amount of time, and there must exist support for the predictable execution of application code. Most existing real-time thread packages are based on modifications to non-real-time kernels that support threads. In these systems, meeting hard real-time deadlines can be difficult -- because the thread interacts with the non-real-time components of the kernel, performance can vary from instance to instance.

Marty Humphrey photo

The UMass Spring threads package has been designed to achieve predictability in hard real-time environments. The first part of the talk focuses on the threads package specification (similar in principle to POSIX PThreads and Real-Time Extensions). The contribution of this work is support for new semantics ("guaranteed" and "nonguaranteed" thread group spawning) and explicit support for semantically-correct premature thread (and thread group) termination under hard real-time constraints.

The second part of the talk discusses the implementation of the design specification in the UMass Spring kernel. Spring is a parallel and distributed operating system featuring an on-line, planning-based scheduler that makes it suitable for dynamic environments. Prior to his work, Spring applications could utilize only a single flow of execution (similar to a UNIX-like process model, adapted for real-time). A system description language and real-time programming language are used to meet the requirements of the threads package specification. Challenges and design decisions of the implementation of the threads package for a multiprocessor environment will be discussed. The evaluation of the implementation of the threads package in the UMass Spring kernel is discussed both in terms of primitive operations and higher-level system activities. In addition to new flexibility for user and kernel applications, the adoption of the threads package in the UMass Spring kernel significantly reduces kernel overhead in the context switch and memory access time. Results show that the lack of variance makes this package, to our knowledge, the first threads package suitable for dynamic, hard real-time environments.

Refreshments will be served immediately before the talk at 3:30pm.
Hosted by Dirk Grunwald.

The Department holds colloquia throughout the Fall and Spring semesters. These colloquia, open to the public, are typically held on Thursday afternoons, but sometimes occur at other times as well. If you would like to receive email notification of upcoming colloquia, subscribe to our Colloquia Mailing List. If you would like to schedule a colloquium, see Colloquium Scheduling.

Sign language interpreters are available upon request. Please contact Stephanie Morris at least five days prior to the colloquium.

See also:
Department of Computer Science
College of Engineering and Applied Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
Send email to

Engineering Center Office Tower
ECOT 717
FAX +1-303-492-2844
XHTML 1.0/CSS2 ©2012 Regents of the University of Colorado
Privacy · Legal · Trademarks
May 5, 2012 (13:29)