Generalized Rate-Monotonic Scheduling Theory: a Framework for Developing Real-Time Systems
Total Page:16
File Type:pdf, Size:1020Kb
Generalized Rate-Monotonic Scheduling Theory: A Framework for Developing Real-Time Systems LUI SHA, SENIOR MEMBER, IEEE, RAGUNATHAN RAJKUMAR, AND SHIRISH S. SATHAYE Invited Paper Real-time computing systems are used to control telecommuni- Stability under transient overload. When the system is cation systems, defense systems, avionics, and modern factories. overloaded by events and it is impossible to meet all Generalized rate-monotonic scheduling theory is a recent devel- the deadlines, we must still guarantee the deadlines of opment that has had large impact on the development of real-time systems and open standards. In this paper we provide an up- selected critical tasks. to-date and selfcontained review of generalized rate-monotonic Real-time scheduling is a vibrant field. Several important scheduling theory. We show how this theory can be applied in research efforts are summarized in [25] and [26]. Among practical system development, where special attention must be them, Generalized Rate Monotonic Scheduling (GRMS) given to facilitate concurrent development by geographically dis- tributed programming teams and the reuse of existing hardware theory is a useful tool that allows system developers to and software components. meet the above measures by managing system concur- rency and timing constraints at the level of tasking and message passing’. In essence, this theory ensures that I. INTRODUCTION as long as the system utilization of all tasks lies below Real-time computing systems are critical to an industrial- a certain bound, and appropriate scheduling algorithms ized nation’s technological infrastructure. Modern telecom- are used, all tasks meet their deadlines. This puts the munication systems, factories, defense systems, aircraft development and maintenance of real-time systems on an and airports, space stations, and high-energy physics ex- analytic, engineering basis, making these systems easier to periments cannot operate without them. Indeed, real-time develop and maintain. GRMS was used by several major computing systems control the very systems that keep high-technology projects including Space Station Program us productive, and enable us to explore new frontiers of [ 111 and the European Space Agency on-board operating science and engineering. systems [8]. It is a recommended approach for using the In real-time applications, the correctness of a computation IEEE Futurebus+ in real-time applications [ 101. Some basic depends upon not only its results but also the time at which primitives of GRMS such as the basic priority inheritance outputs are generated. The measures of merit in a real-time protocol [23] and the priority ceiling protocol emulation system include: [20] have been selectively adopted in POSIX.4a, POSIXAb, Predictably fast response to urgent events. and Ada9x. High degree of schedulability. Schedulability is the To apply GRMS in the real world, some practical prob- degree of resource utilization at or below which the lems must be addressed. For example, the development timing requirements of tasks can be ensured. It can of large, complex systems requires several teams of pro- be thought as a measure of the number of timely grammers, often distributed across several geographical transactions per second. regions. To facilitate the practice of concurrent engineering, we introduce the principle of decoupling in our soft- Manuscript received July 13, 1993.The Software Engineering Institute, ware architecture. First, when possible we structure the Camegie Mellon University, Pittsburgh, PA, is sponsored by the U.S. Department of Defense (DoD). This work is funded in part by the Office ’ The GRMS approach is cited in the Selected Accomplishments section of Naval Research. The work of S. S. Sathaye was done while the author of the National Research Council’s 1992 report, “A broader agenda for was a Ph.D. candidate at Camegie Mellon University, supported by Digital computer science and engineering.” Furthermore, DoD’s 1991 Software Equipment Corporation’s Graduate Engineering Education Program. Technology Strategy Plan page 8-15 refers to the GRMS approach as L. Sha and R. Rajkumar are with the Software Engineering Institute, a “major payoff’ and states that “system designers can use this theory Camegie Mellon University, Pittsburgh PA 15213. to predict whether task deadlines will be met long before the costly S. S. Sathaye is with Digital Equipment Corporation, Network Archi- implementation phase of a project begins. It also eases the process of tecture & Performance Group, Littleton, MA 01460. making modifications to application software because changes are made IEEE Log Number 9214155. in a well-understood conceptual framework ... .” 00 18-92 19/94$O4.00 0 1994 IEEE 68 PROCEEDINGS OF THE IEEE, VOL. 82. NO. I, JANUARY 1994 Remote AudioWib 11. OF GRMS THEORY Sensor Monitoring SECTIONOVERVIEW In this section, we review basic results which allow us to design a distributed real-time system. We give a brief I I overview of scheduling independent tasks in a centralized environment. We then address the issue of task synchro- FDDI NETWORK nization and the effect of having task deadlines before the end of their periods. A periodic task T~ is characterized by a worst case computation time C, and a period T,. Unless mentioned otherwise, we assume that a periodic task must be finished by the end of its period. Tasks are independent if they do not need to synchronize with each other. A real-time system I typically consists of both periodic and aperiodic tasks. By ink+--- using either a simple polling procedure or a more advanced I- technique, such as a sporadic server [24], the scheduling Fig. 1. Block diagram of distributed real-time system. of aperiodic tasks can be treated within the rate-monotonic framework. A. Scheduling Independent Tasks system in such a way that the scheduling of each re- source can be viewed as if it were a stand-alone re- To analyze if a set of independent periodic tasks is source. Secondly, we separate the software constructs deal- schedulable, we introduce the following theorem [ 141. ing with timing (e.g., tasking) from constructs deadling Theorem I A set of n independent periodic tasks sched- with functionality. This helps to contain the impact of uled by the rate-monotonic algorithm will always meet their deadlines for all task start times, if changes. Budget considerations often require that off-the- C1 c2 c,, shelf hardware and software components be used in place - + - +.. + - 5 n(2'/" - 1) of custom-crafted solutions. To deal with the software reuse TI Tl T,, problem, we develop the notion of scheduling abstraction where C, is the execution time and Ti is the period of task r, . for hardware and software so that application developers C,/T, is the utilization of the resource by task 7%.The have a consistent scheduling interface that allows them bound on the utilization n (2'ln - 1) rapidly converges to to develop applications as if every sub-system supports In 2 = 0.69 as n becomes large. The bound of Theorem GRMS. 1 is very pessimistic because the worst case task set is Figure 1 represents a high-level view of our example contrived and is unlikely to be encountered in practice. The application, which will be presented and solved in detail average schedulable utilization is 88% [12]. The remaining later in this paper. Since there is no current widely utilization can still be used by background tasks with low available standard network that supports GRMS, we priority. Finally, the schedulable utilization of a given task build our example system around the ANSI X3T9.5 set can be improved by the use of the period transformation FDDI network as shown. Since Futurebus+ (IEEE 896 technique illustrated in Section 11-C. To determine if tasks family of standards) and POSIX.4a support the use scheduled on a resource with utilization greater than the of GRMS for real-time applications, we use them in bound of Theorem 1 can meet their deadlines, we can use an our example as the station backplane and operating exact schedulability test based on the critical zone theorem system, respectively. From the application viewpoint, (rephrased from [ 141): our example consists of both classical real-time surveil- Theorem 2 For a set of independent periodic tasks, if a lance and control applications, and emerging multimedia task r, meets its first deadline D, 5 T,,when all the higher priority tasks are started at the same time, then it meets all its applications. future deadlines with any other task start times. The rest of the paper is organized as follows. Section I1 It is important to note that Theorem 2 applies to any presents an overview of generalized rate-monotonic theory static priority assignment, not just rate-monotonic priority for centralized systems. Section 111 describes the theoretical assignment. To check if a task can meet its first deadline extensions necessary for applying GRMS to a distributed we describe the following argument from [12]. Consider system. Section IV discusses some key architectural con- any task r, with a period T,, deadline T,, and cepts for real-time software, and introduces the notion of D, 5 computation C,. Let tasks 71 to r,-1 have higher priorities scheduling abstractions, which is a technique to use and than 7,. Note that at any time t, the total cumulative analyze existing subsystems that are not designed to support demand on CPU time by these n tasks is GRMS. This is a very important aspect in the application of this theory to real-world systems. Section V describes a comprehensive example that illustrates task scheduling within subsystems as well as end-to-end scheduling in a large real-time system. Finally, we make our concluding The term [t/Tjl represents the number of times task 7, remarks in Section VI. arrives in time t and therefore C,rt/Tj1 represents its SHA er U/.: GENERALIZED RATE-MONOTONIC SCHEDULING THEORY 69 B.