On the Design and Implementation of a Shared Memory Dispatcher for Partially Clairvoyant Schedulers

With the onset of distributed computing in hard real-time applications, the problem of assigning to, scheduling in, and executing jobs on processors, has received a lot of attention. Usually, real-time systems are embedded in closed loop reactive environments with uncertain behaviors and such systems take varying times to respond to such stimuli. One of the fundamental features of such systems is the presence of complex timing constraints between pairs of jobs. A secondary feature is the non-constant nature of the execution times of jobs. Real-time operating systems such as MARUTI can measure the interval within which the execution time varies (Mosse et al. In: Second IEEE Workshop on Experimental Distributed System, pp. 29–34., IEEE, 1990; Levi et al. 1989, ACM Special Interest Group Operat Syst 23(3):90–106). Partially clairvoyant scheduling was introduced in (Saksena, Parametric Scheduling in Hard Real-Time Systems. PhD thesis, University of Maryland, College Park, June 1994) to schedule jobs with varying execution times and non-trivial timing constraints. The schedulability of the job set is determined offline and a set of dispatch functions are produced from the given set of constraints if the job set is schedulable. The dispatch functions bind the start time of a job J to an interval that depends on the start and execution times of jobs sequenced before J. The online dispatcher of the system reads these dispatch functions and computes the interval within which a job can start without violating the constraints imposed on the system. In certain situations, the dispatcher fails to dispatch a job as the time to compute the dispatch functions associated with a job is greater than the interval within which the job needs to be dispatched. This phenomenon is called Loss of Dispatchability (Subramani, Duality in the Parametric Polytope and its Applications to a Scheduling Problem. PhD thesis, University of Maryland, College Park, August 2000). In this paper, we propose and implement a partially clairvoyant dispatching algorithm on a shared memory cluster with Concurrent Read Exclusive Write (CREW) architecture and contrast it with the sequential approach. For a preset number of processors, our approach has O(1) dispatch complexity while using a total of O(n2) space, while the sequential approach requires Ω(n) time. The detailed implementation profile obtained clearly demonstrates the superiority of the multiprocessor approach to dispatching. We also address the issue of scalability of the dispatcher for increasing number of processors and show that job sets of different sizes require different number of processors. Finally, we demonstrate the effect of execution time on the dispatchability of schedules.

[1]  K. Shin,et al.  Performance Guarantees for Web Server End-Systems: A Control-Theoretical Approach , 2002, IEEE Trans. Parallel Distributed Syst..

[2]  Max Q.-H. Meng,et al.  Real-time collision-free path planning and tracking control of a nonholonomic mobile robot using a biologically inspired approach , 2001, Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164).

[3]  Gerhard Fohler,et al.  Improving quality-of-control using flexible timing constraints: metric and scheduling , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[4]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[5]  M. Saksena,et al.  Parametric scheduling for hard real-time systems , 1994 .

[6]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[7]  K. Subramani,et al.  An Analysis of Partially Clairvoyant Scheduling , 2003, J. Math. Model. Algorithms.

[8]  Yi Zhang,et al.  A simple, fast and scalable non-blocking concurrent FIFO queue for shared memory multiprocessor systems , 2001, SPAA '01.

[9]  Kang G. Shin,et al.  Statistical Real-Time Communication over Ethernet , 2003, IEEE Trans. Parallel Distributed Syst..

[10]  Richard Gerber,et al.  Parametric Dispatching of Hard Real-Time Tasks , 1995, IEEE Trans. Computers.

[11]  Chan-Gun Lee,et al.  Implementation and performance evaluation of a real-time e-brokerage system , 2000, Proceedings 21st IEEE Real-Time Systems Symposium.

[12]  Yi Zhang,et al.  Integrating non-blocking synchronisation in parallel applications: performance advantages and methodologies , 2002, WOSP '02.

[13]  Ashok K. Agrawala,et al.  Dynamic Dispatching of Cyclic Real-Time Tasks with Relative Timing Constraints , 2000, Real-Time Systems.

[14]  Marc Donner,et al.  Run-time monitoring of real-time systems , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[15]  S.K. Tripathi,et al.  MARUTI: a hard real-time operating system , 1989, IEEE Workshop on Experimental Distributed Systems.

[16]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[17]  K. Subramani,et al.  An Analysis of Zero-Clairvoyant Scheduling , 2002, TACAS.

[18]  Kang G. Shin,et al.  Statistical real-time communication over Ethernet for manufacturing automation systems , 1999, Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium.

[19]  Maria L. Gini,et al.  A distributed surveillance task using miniature robots , 2002, AAMAS '02.

[20]  K. Subramani,et al.  Duality in the parametric polytope and its applications to a scheduling problem , 2000 .

[21]  Chan-Gun Lee,et al.  The monitoring of timing constraints on time intervals , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[22]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1986, PODC '86.

[23]  Xin Guo,et al.  An optimal strategy for sellers in an online auction , 2002, TOIT.

[24]  Yi Zhang,et al.  Non-blocking data sharing in multiprocessor real-time systems , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[25]  Michael Schiebe,et al.  Real-time systems engineering and applications , 1992 .

[26]  K. Subramani,et al.  A Specification Framework for Real-Time Scheduling , 2002, SOFSEM.

[27]  Satish K. Tripathi,et al.  The MARUTI hard real-time operating system , 1989, OPSR.

[28]  Rami G. Melhem,et al.  Dynamic and aggressive scheduling techniques for power-aware real-time systems , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[29]  K. Subramani A Comprehensive Framework for Specifying Clairvoyance, Constraints and Periodicity in Real-Time Scheduling , 2005, Comput. J..

[30]  Wu-chun Feng,et al.  Enhancing the performance and dependability of real-time systems , 1995, Proceedings of 1995 IEEE International Computer Performance and Dependability Symposium.