Nothing Special   »   [go: up one dir, main page]

Academia.eduAcademia.edu

Utility Accrual Scheduling of Distributable Threads: The Tempus Approach

2005

Agenda Utility Accrual Scheduling of Distributable Threads: The Tempus Approach Peng Li, Binoy Ravindran Real-Time Systems Laboratory Virginia Tech, Blacksburg, VA 24061, USA {peli2,binoy}@vt.edu 1. Introduction Dynamic, adaptive, real-time embedded control systems are present at any level(s) of an enterprise— e.g., devices in the defense domain such as multi-mode phased array radars and battle management. These embedded systems often include “soft” as well as “hard” time constraints. Jensen’s time/utility functions [4] (or TUFs) allow the semantics of soft time constraints to be precisely specified. A TUF specifies the utility to the system, resulting from the completion of an activity, as a function of the its completion time. Figure 1 shows examples of TUF time constraints. TUFs have been successfully used in two significant, real-time applications, including an AWACS (Airborne WArning and Control System) surveillance mode tracker system built by MITRE and Open Group, and a coastal air defense system built by CMU and General Dynamics. When timing constraints are expressed with TUFs, the scheduling optimality criteria are based on factors in terms of maximizing accrued utility from those activities—e.g., maximizing the sum, or the expected sum, of the activities’ attained utilities. Such criteria are called Utility Accrual (or UA) criteria, and sequencing (scheduling, dispatching) algorithms that consider UA criteria are called UA sequencing algorithms. Motivated by the need for dynamic scheduling, e.g., UA scheduling, in real-time distributed systems, the Object Management Group recently adopted the Real-Time CORBA 2.0 (Dynamic Scheduling) standard [7] (abbreviated here as RTC21 ). RTC2 specifies distributable threads (or DT s) as a programming and scheduling abstraction for system-wide, end-to-end scheduling in real-time distributed systems. The distributable thread model is a subset of the distributed thread model that was created in Jensen’s Archons Project [3]. A DT is a single thread of execution with a globally unique identifier that transparently extends and retracts through an arbitrary number of local and remote objects. Concurrency is at the DT-level. 1 Real-Time CORBA 2.0 has been recently renamed RealTime CORBA 1.2. E. Douglas Jensen The MITRE Corporation Bedford, MA 01730, USA jensen@mitre.org A DT carries its execution context as it transits node boundaries, including information such as the thread’s scheduling parameters (e.g., time constraints, execution time, importance), identity, and security credentials. We have developed the Tempus middleware that supports DTs as a programming and scheduling abstraction for system-wide, end-to-end scheduling [6]. DTs in Tempus can be subject to time constraints including those specified using arbitrarily-shaped TUFs and timeliness optimality criteria including maximizing accrued utility. In the rest of this paper, we overview the Tempus middleware. 2. The Tempus Middleware Core components of Tempus include an applicationlevel UA scheduling framework, a portable interceptor, and a node-local UA scheduling algorithm. Tempus’ application-level UA scheduling framework, called meta-scheduler provides a mechanism for implementing UA scheduling algorithms on top of POSIX RTOSes. It exclusively uses real-time POSIX APIs and thus enjoys good portability. Since Tempus exclusively uses POSIX RTOSes as its underlying base, the abstraction of DTs needs to be implemented as native OS abstractions, such as processes and threads. Each node in a real-time distributed systems runs an instance of the portable interceptor component. A portable interceptor (PI) is responsible for mapping a DT to a native OS thread and maintains that mapping information while the DT has a segment (active or blocked) on the PI’s residing node. Scheduling of DTs in Tempus is performed according to RTC2’s Case 2 approach, i.e., local scheduling on each node using propagated timeliness parameters. Thus, the scheduler instance on each node resolves resource dependencies and constructs local schedules in a way that seeks to maximize locally accrued utility and thus obtain approximate, globally optimal accrued utility. A DT may contain one or more potentially nested scheduling segments. A scheduling segment delimits the Form Approved OMB No. 0704-0188 Report Documentation Page Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number. 1. REPORT DATE 2. REPORT TYPE 01 FEB 2005 N/A 3. DATES COVERED - 4. TITLE AND SUBTITLE 5a. CONTRACT NUMBER Utility Accrual Scheduling of Distributable Threads: The Tempus Approach 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER 6. AUTHOR(S) 5d. PROJECT NUMBER 5e. TASK NUMBER 5f. WORK UNIT NUMBER 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) Real-Time Systems Laboratory Virginia Tech, Blacksburg, VA 24061, USA; The MITRE Corporation Bedford, MA 01730, USA 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION REPORT NUMBER 10. SPONSOR/MONITOR’S ACRONYM(S) 11. SPONSOR/MONITOR’S REPORT NUMBER(S) 12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release, distribution unlimited 13. SUPPLEMENTARY NOTES See also ADM00001742, HPEC-7 Volume 1, Proceedings of the Eighth Annual High Performance Embedded Computing (HPEC) Workshops, 28-30 September 2004 Volume 1., The original document contains color images. 14. ABSTRACT 15. SUBJECT TERMS 16. SECURITY CLASSIFICATION OF: a. REPORT b. ABSTRACT c. THIS PAGE unclassified unclassified unclassified 17. LIMITATION OF ABSTRACT 18. NUMBER OF PAGES UU 2 19a. NAME OF RESPONSIBLE PERSON Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18 ✻ U1 ❜ Utility U2 Utility ❜ ✻ c Umax ❙ ❙ Maintenance ❙ ❍❍ ❙ ❍ ❍ ❙ ❜❜ m Umax ✲ U3 tc (a) Track Asso. 0 Time Utility tf Utility Intercept ✻ Plot Correlation ✻ Mid-course Launch Time ✲ 2tf (b) Corrln. & Maint. ✲ ✲ Time (c) Missile Control Time (d) A Step TUF Figure 1. Example Time Constraints Specified Using TUFs part of a DT’s control flow that is subject to the specified time constraints. The scheduling parameters in Tempus are only meaningful to the node schedulers, and thus can have arbitrary format as long as the node schedulers can interpret them properly. In the current version of Tempus, the set of scheduling parameters must first specify the scheduler to be invoked. Tempus currently implements eight schedulers, including fixed priority schedulers, deadline-driven schedulers such as the Earliest Deadline First (EDF) scheduler, the Dependent Activity Scheduling Algorithm (DASA) scheduler [1], and the Generic Utility Scheduling (GUS) scheduler [5]. In addition, scheduling information associated with the designated scheduler needs to be specified, such as priorities for the fixed priority scheduler and deadlines for the EDF scheduler. 3. Experimental Results Our test bed contains a network of PCs running RedHat Linux and QNX Neutrino operating systems. The experiments use periodically spawned DTs with downward-step TUF, decreasing TUF, and parabolic TUF time constraints. We conducted experiments using four schedulers, including a RMA scheduler, an EDF scheduler, a DASA scheduler, and a GUS scheduler. Table 1 shows the mean’s and standard deviations of the Accrued Utility Ratio (AUR) under the four schedulers. AUR is the ratio of accrued utility to the maximal possible utility of all DTs. We observe that (1) the standard deviations of all performance measurements are small regardless of the mean values, which suggest that the performance of Tempus is stable and predictable; and (2) the GUS scheduler outperforms all other schedulers during “low load” as well “high load.” 4. Conclusions The Tempus middleware thus illustrates the effectiveness of scheduling DTs using propagated scheduling parameters (including arbitrarily-shaped TUFs) for node-local scheduling and resource contention resolution. Ongoing efforts include incorporating TMAR (thread maintenance and repair) protocols [2] into Load Algorithm Avg(AUR) Std(AUR) Lowload RMA EDF DASA GUS 77.262 76.5 77.248 87.604 1.643706 0.453045 2.123127 0.571384 Highload RMA EDF DASA GUS 64.202 66.662 67.474 80.16 1.105812 2.83841 2.29438 2.146404 Table 1. Performance of Scheduling Policies Tempus and developing scheduling algorithms for DTs that use RTC2’s Case 3 and Case 4 approaches. References [1] R. K. Clark. Scheduling Dependent Real-Time Activities. PhD thesis, Carnegie Mellon University, 1990. [2] J. Goldberg, I. Greenberg, R. K. Clark, E. D. Jensen, K. Kim, and D. M. Wells. Adaptive faultresistant systems. Technical Report csl-95-02, Computer Science Laboratory, SRI International, Menlo Park, CA., January 1995. http://www.csl.sri.com/ papers/sri-csl-95-02/. [3] E. D. Jensen. The Archons project: An overview. In Proceedings of the International Symposium on Synchronization, Control, and Communication. Academic Press, 1983. [4] E. D. Jensen, C. D. Locke, and H. Tokuda. A timedriven scheduling model for real-time systems. In IEEE RTSS, pages 112–122, December 1985. [5] P. Li. A Utility Accrual Scheduling Algorithm for Resource-Constrained Real-Time Activities. Phd dissertation proposal, Virginia Tech, 2003. Available at http: //www.ee.vt.edu/~realtime/li-proposal03.pdf. [6] P. Li, H. Cho, B. Ravindran, and E. D. Jensen. Scheduling distributable real-time threads in Tempus middleware. In IEEE Intl’ Conf. on Parallel and Dist. Systems, 2004. to appear. [7] OMG. Real-time CORBA 2.0: Dynamic scheduling specification. Technical report, Object Management Group, September 2001. OMG Final Adopted Specification, http://www.omg.org/docs/ptc/01-08-34.pdf.