Analytical Enhancements and Practical Insights for MPCP with Self-Suspensions

Hardware accelerators such as GP-GPUs and DSPs are being increasingly used in computationally-intensive real-time and multimedia systems. System efficiency is often increased when CPU tasks suspend while using these devices. In this paper, we extend the existing Multiprocessor Priority Ceiling Protocol (MPCP) schedulability analysis in this particular context. We present three methods to improve the traditional MPCP analysis that reduces pessimism in analyzing blocking times. Two of these methods, the request-driven and the job-driven approaches, are motivated by prior work and are adapted to MPCP. The third combines these two approaches in a novel way to consistently outperform either on its own. We note that our underlying observations are general, and that such methods can also be used for analyzing other real-time synchronization protocols. Experimental results indicate that our analytical improvements result in a significantly higher schedulability compared to the traditional recursion-based analysis, even when self-suspensions are not considered. Our approach is also competitive with and often outperforms the linear-programming-based FMLP+ analysis, while having a considerably lower runtime complexity. We further substantiate the practical feasibility of suspension-based MPCP and examine its benefits over the busy-waiting approach by presenting a case-study on an NVIDIA TX2 embedded platform using real-world vision applications.

[1]  Jian-Jia Chen,et al.  Resource-Oriented Partitioned Scheduling in Multiprocessor Systems: How to Partition and How to Share? , 2016, 2016 IEEE Real-Time Systems Symposium (RTSS).

[2]  James H. Anderson,et al.  The OMLP family of optimal multiprocessor real-time locking protocols , 2013, Des. Autom. Embed. Syst..

[3]  Yong Liao,et al.  Improved Blocking Time Analysis and Evaluation for the Multiprocessor Priority Ceiling Protocol , 2014, Journal of Computer Science and Technology.

[4]  James H. Anderson,et al.  An optimal k-exclusion real-time locking protocol motivated by multi-GPU systems , 2012, Real-Time Systems.

[5]  Yong Liao,et al.  PK-OMLP: An OMLP Based k-Exclusion Real-Time Locking Protocol for Multi-GPU Sharing under Partitioned Scheduling , 2013, 2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing.

[6]  James H. Anderson,et al.  GPUSync: A Framework for Real-Time GPU Management , 2013, 2013 IEEE 34th Real-Time Systems Symposium.

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

[8]  Jian-Jia Chen,et al.  Many suspensions, many problems: a review of self-suspending tasks in real-time systems , 2018, Real-Time Systems.

[9]  Alan Burns,et al.  A Schedulability Compatible Multiprocessor Resource Sharing Protocol -- MrsP , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

[10]  Ming Yang,et al.  Multiprocessor Real-Time Locking Protocols for Replicated Resources , 2016, 2016 28th Euromicro Conference on Real-Time Systems (ECRTS).

[11]  Shinpei Kato,et al.  TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments , 2011, USENIX Annual Technical Conference.

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

[13]  Giorgio C. Buttazzo,et al.  Measuring the Performance of Schedulability Tests , 2005, Real-Time Systems.

[14]  Björn Andersson,et al.  Bounding memory interference delay in COTS-based multi-core systems , 2014, 2014 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

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

[16]  Kevin Skadron,et al.  Scalable parallel programming , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[17]  Jian-Jia Chen,et al.  Errata for Three Papers (2004-05) on Fixed-Priority Scheduling with Self-Suspensions , 2018, Leibniz Trans. Embed. Syst..

[18]  James H. Anderson,et al.  Real-time resource-sharing under clustered scheduling: mutex, reader-writer, and k-exclusion locks , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[19]  Young-Woo Seo,et al.  Kernel-based traffic sign tracking to improve highway workzone recognition for reliable autonomous driving , 2013, 16th International IEEE Conference on Intelligent Transportation Systems (ITSC 2013).

[20]  Ragunathan Rajkumar,et al.  Coordinated Task Scheduling, Allocation and Synchronization on Multiprocessors , 2009, 2009 30th IEEE Real-Time Systems Symposium.

[21]  Jian-Jia Chen,et al.  A misconception in blocking time analyses under multiprocessor synchronization protocols , 2016, Real-Time Systems.

[22]  Ragunathan Rajkumar,et al.  Towards a viable autonomous driving research platform , 2013, 2013 IEEE Intelligent Vehicles Symposium (IV).

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

[24]  Shige Wang,et al.  A Server-based Approach for Predictable GPU Access with Improved Analysis , 2018, J. Syst. Archit..

[25]  Konstantinos Bletsas,et al.  Realistic analysis of limited parallel software/hardware implementations , 2004, Proceedings. RTAS 2004. 10th IEEE Real-Time and Embedded Technology and Applications Symposium, 2004..

[26]  Alexander Wieder,et al.  Global Real-Time Semaphore Protocols: A Survey, Unified Analysis, and Comparison , 2015, 2015 IEEE Real-Time Systems Symposium.

[27]  Lei Hang,et al.  Partitioned k-Exclusion Real-Time Locking Protocol Motivated by Multicore Multi-GPU Systems , 2016 .

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

[29]  Björn B. Brandenburg Improved analysis and evaluation of real-time semaphore protocols for P-FP scheduling , 2013, 2013 IEEE 19th Real-Time and Embedded Technology and Applications Symposium (RTAS).

[30]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[31]  Shige Wang,et al.  A server-based approach for predictable GPU access control , 2017, 2017 IEEE 23rd International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA).

[32]  James H. Anderson,et al.  Replica-Request Priority Donation: A Real-Time Progress Mechanism for Global Locking Protocols , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

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

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

[35]  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).

[36]  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).

[37]  Björn B. Brandenburg The FMLP+: An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis , 2014, 2014 26th Euromicro Conference on Real-Time Systems.

[38]  James H. Anderson,et al.  Globally scheduled real-time multiprocessor systems with GPUs , 2011, Real-Time Systems.

[39]  Albert Mo Kim Cheng,et al.  An Evaluation of the Dynamic and Static Multiprocessor Priority Ceiling Protocol and the Multiprocessor Stack Resource Policy in an SMP System , 2009, 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium.

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