page 1  (17 pages)
2to next section

The Design, Implementation, and Use of a Sporadic Tasking Model

Kevin Jeffay David Becker David Bennett
Shaun Bharrat Timothy Gramling Mark Housel
University of North Carolina at Chapel Hill
Department of Computer Science
Chapel Hill, NC 27599-3175 USA
April 1994

1. Introduction

This paper describes the design, implementation, and use of a model of sporadic tasks in the Real-Time Mach kernel (MK83) [15]. The purpose of this exercise was two-fold. First, was our desire to provide a programming model in real-Time Mach (RT-Mach) that was better suited to the demands and requirements of applications that must execute in response to non-periodic, but repetitive events. Examples of such applications include those that manipulate live multimedia data, such as videoconferencing systems, and those that need to control asynchronous devices such as local-area network adaptors, to implement real-time communications protocols. Second, we wanted to study the issues involved in applying recent scheduling theory results for sporadic tasks in the context of a general purpose kernel such as the Mach kernel.

With respect to these goals this work makes two contributions. The first is the development of programming model for real-time systems that allows for the modular construction of real-time applications as a set of cooperating processes where the realtime performance of an application is invariant of its structure. The second is a new result in the theory of sporadic tasks that is used to greatly simplify the implementation of sporadic tasks.

The starting point for this work is the model of sporadic tasks developed by Mok [12], and later extended by Jeffay [8], and Jeffay and Stone [6]. A sporadic task is a simple variant of a periodic task. Whereas periodic tasks recur at constant intervals, sporadic tasks simply have an upper bound on the their rate of occurrence (i.e., a lower bound on their inter-arrival time). The fact that sporadic tasks may execute at a variable (but bounded) rate makes them well-suited for supporting event-driven applications. At present, the theory of sporadic tasks is general enough to accommodate a model of computation wherein tasks may communicate via shared memory (i.e., tasks may have