Blocking Analysis for Spin Locks in Real-Time Parallel Tasks

In recent years, there has been significant interest in developing real-time schedulers for parallel tasks. Most of that research has concentrated on idealized task models where tasks do not access any shared resources protected with locks. In this paper, we consider the problem of scheduling parallel tasks which experience contention due to shared resources. In particular, we provide a schedulability test for federated scheduling by deriving blocking time analyses for parallel tasks that access shared resources protected by FIFO-ordered and priority-ordered spin locks. Our numerical evaluation on randomly generated task sets indicates that priority-ordered locks generally provide better schedulability results than FIFO-ordered locks. We also incorporated both FIFO-ordered and priority-ordered spin lock implementations into a federated scheduling platform, which is able to schedule parallel tasks written with OpenMP. Via empirical evaluations, we found that priority-ordered locks also have better performance than FIFO-ordered locks in practice.

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

[2]  James H. Anderson,et al.  Supporting Soft Real-Time Parallel Applications on Multicore Processors , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[3]  Hennadiy Leontyev,et al.  Real-Time Synchronization on Multiprocessors: To Block or Not to Block, to Suspend or Spin? , 2008, 2008 IEEE Real-Time and Embedded Technology and Applications Symposium.

[4]  Jinkyu Lee,et al.  Global EDF Schedulability Analysis for Synchronous Parallel Tasks on Multicore Platforms , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[5]  Sanjoy K. Baruah The federated scheduling of constrained-deadline sporadic DAG task systems , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[6]  James H. Anderson,et al.  Reader-Writer Synchronization for Shared-Memory Multiprocessor Real-Time Systems , 2009, 2009 21st Euromicro Conference on Real-Time Systems.

[7]  Sanjoy K. Baruah,et al.  A Generalized Parallel Task Model for Recurrent Real-time Processes , 2012, 2012 IEEE 33rd Real-Time Systems Symposium.

[8]  Arun Prakash,et al.  Real-time system support for hybrid structural simulation , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[9]  Chenyang Lu,et al.  Analysis of Federated and Global Scheduling for Parallel Real-Time Tasks , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[10]  Satish K. Tripathi,et al.  Multiprocessor priority ceiling based protocols , 1994 .

[11]  Michael L. Scott,et al.  Algorithms for scalable synchronization on shared-memory multiprocessors , 1991, TOCS.

[12]  Hennadiy Leontyev,et al.  A Flexible Real-Time Locking Protocol for Multiprocessors , 2007, 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2007).

[13]  Ragunathan Rajkumar,et al.  Parallel scheduling for cyber-physical systems: Analysis and case study on a self-driving car , 2013, 2013 ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS).

[14]  James H. Anderson,et al.  Optimality Results for Multiprocessor Real-Time Locking , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[15]  Alexander Wieder,et al.  On Spin Locks in AUTOSAR: Blocking Analysis of FIFO, Unordered, and Priority-Ordered Spin Locks , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

[16]  Sanjoy K. Baruah Improved Multiprocessor Global Schedulability Analysis of Sporadic DAG Task Systems , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[17]  Lui Sha,et al.  Real-time synchronization protocols for multiprocessors , 1988, Proceedings. Real-Time Systems Symposium.

[18]  James H. Anderson,et al.  Supporting Nested Locking in Multiprocessor Real-Time Systems , 2012, 2012 24th Euromicro Conference on Real-Time Systems.

[19]  Björn Andersson,et al.  Analyzing Global-EDF for Multiprocessor Scheduling of Parallel Tasks , 2012, OPODIS.

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

[21]  K Lakshmanan,et al.  Scheduling Parallel Real-Time Tasks on Multi-core Processors , 2010, 2010 31st IEEE Real-Time Systems Symposium.

[22]  Alexander Wieder,et al.  A Blocking Bound for Nested FIFO Spin Locks , 2016, 2016 IEEE Real-Time Systems Symposium (RTSS).

[23]  Rômulo Silva de Oliveira,et al.  Exploring the design space of multiprocessor synchronization protocols for real-time systems , 2014, J. Syst. Archit..

[24]  Sebastian Stiller,et al.  Feasibility Analysis in the Sporadic DAG Task Model , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[25]  James H. Anderson,et al.  Supporting Real-Time Computer Vision Workloads Using OpenVX on Multicore+GPU Platforms , 2015, RTSS.

[26]  C. Gill,et al.  Analysis of Global EDF for Parallel Tasks , 2013 .

[27]  Björn Andersson,et al.  Resource Sharing in Global Fixed-Priority Preemptive Multiprocessor Scheduling , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[28]  Hennadiy Leontyev,et al.  LITMUS^RT : A Testbed for Empirically Comparing Real-Time Multiprocessor Schedulers , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[29]  James H. Anderson,et al.  Scheduling and locking in multiprocessor real-time operating systems , 2011 .

[30]  Chenyang Lu,et al.  A real-time scheduling service for parallel tasks , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[31]  Chenyang Lu,et al.  Federated scheduling for stochastic parallel real-time tasks , 2014, 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications.

[32]  Chenyang Lu,et al.  Parallel Real-Time Scheduling of DAGs , 2014, IEEE Transactions on Parallel and Distributed Systems.

[33]  Sanjoy K. Baruah,et al.  Federated Scheduling of Sporadic DAG Task Systems , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium.

[34]  R. Rajkumar Real-time synchronization protocols for shared memory multiprocessors , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[35]  Chenyang Lu,et al.  Multi-core Real-Time Scheduling for Generalized Parallel Task Models , 2011, RTSS.

[36]  Björn B. Brandenburg,et al.  Feather-Trace : A Light-Weight Event Tracing Toolkit ∗ , 2007 .

[37]  Giuseppe Lipari,et al.  Minimizing memory utilization of real-time task sets in single and multi-processor systems-on-a-chip , 2001, Proceedings 22nd IEEE Real-Time Systems Symposium (RTSS 2001) (Cat. No.01PR1420).