11/7/1996 3:45pm-4:45pm 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.
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.
|