Supporting lock-free synchronization in Pfair-scheduled real-time systems

We consider the use of lock-free techniques for implementing shared objects in real-time Pfair-scheduled multiprocessor systems. Lock-free objects are more economical than locking techniques when implementing relatively simple objects such as buffers, stacks, queues, and lists. However, the use of such objects on real-time multiprocessors is generally considered impractical due to the need for analytical real-time guarantees. In this paper, we explain how the quantum-based nature of Pfair scheduling enables the effective use of such objects on real-time multiprocessors and present analysis specific to Pfair-scheduled systems. In addition, we show that analytical improvements can be obtained by using such objects in conjunction with group-based scheduling techniques. In this approach, a group of tasks is scheduled as a single entity (called a supertask in the Pfair literature). Such grouping prevents tasks from executing simultaneously, and hence from executing in parallel. Consequently, grouping tasks can improve the worst-case scenario with respect to object contention. Grouping also enables the use of less costly uniprocessor algorithms when all tasks sharing an object reside within the same group. We illustrate these optimizations with a case study that focuses on shared queues. Finally, we present and experimentally evaluate a simple heuristic for grouping tasks in order to reduce object contention. Though the analysis presented herein focuses specifically on Pfair-scheduled systems, the observations and techniques should be applicable to other quantum-scheduled systems as well.

[1]  James H. Anderson,et al.  Implementing Pfairness on a symmetric multiprocessor , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[2]  Prashant J. Shenoy,et al.  Surplus fair scheduling: a proportional-share CPU scheduling algorithm for symmetric multiprocessors , 2000, OSDI.

[3]  Sanjoy K. Baruah,et al.  Proportionate progress: A notion of fairness in resource allocation , 1993, Algorithmica.

[4]  James H. Anderson,et al.  Locking in pfair-scheduled multiprocessor systems , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[5]  James H. Anderson,et al.  Object sharing in Pfair-scheduled multiprocessor systems , 2002, Proceedings 14th Euromicro Conference on Real-Time Systems. Euromicro RTS 2002.

[6]  James H. Anderson,et al.  Efficient scheduling of soft real-time applications on multiprocessors , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[7]  Sudarshan K. Dhall,et al.  On a Real-Time Scheduling Problem , 1978, Oper. Res..

[8]  Ragunathan Rajkumar,et al.  Synchronization in Real-Time Systems: A Priority Inheritance Approach , 1991 .

[9]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[10]  James H. Anderson,et al.  Pfair scheduling: beyond periodic task systems , 2000, Proceedings Seventh International Conference on Real-Time Computing Systems and Applications.

[11]  James H. Anderson,et al.  On the implementation of pfair-scheduled multiprocessor systems , 2004 .

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

[13]  James H. Anderson,et al.  Real-time computing with lock-free shared objects , 1997, TOCS.

[14]  James H. Anderson,et al.  Guaranteeing Pfair supertasks by reweighting , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[15]  Giuseppe Lipari,et al.  A bandwidth inheritance algorithm for real-time task synchronization in open systems , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[16]  Mark Moir,et al.  Pfair scheduling of fixed and migrating periodic tasks on multiple resources , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[17]  James H. Anderson,et al.  Mixed Pfair/ERfair scheduling of asynchronous periodic tasks , 2001, Proceedings 13th Euromicro Conference on Real-Time Systems.

[18]  Sudarshan K. Dhall,et al.  An On Line Algorithm for Real-Time Tasks Allocation , 1986, IEEE Real-Time Systems Symposium.

[19]  Theodore P. Baker,et al.  Stack-based scheduling of realtime processes , 1991, Real-Time Systems.

[20]  Anthony LaMarca,et al.  A performance evaluation of lock-free synchronization protocols , 1994, PODC '94.

[21]  James H. Anderson,et al.  A framework for implementing objects and scheduling tasks in lock-free real-time systems , 1996, 17th IEEE Real-Time Systems Symposium.

[22]  Marco Caccamo,et al.  Aperiodic servers with resource constraints , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).

[23]  Sanjoy K. Baruah,et al.  Fast scheduling of periodic tasks on multiple resources , 1995, Proceedings of 9th International Parallel Processing Symposium.

[24]  Luca Abeni,et al.  Resource sharing in reservation-based systems , 2001, Proceedings Seventh IEEE Real-Time Technology and Applications Symposium.

[25]  James H. Anderson,et al.  A lock-free approach to object sharing in real-time systems , 1997 .