Improving responsiveness of time‐sensitive applications by exploiting dynamic task dependencies

In this paper, a mechanism is presented for reducing priority inversion in multiprogrammed computing systems. Contrary to well‐known approaches from the literature, this paper tackles cases where the dependency relationships among tasks cannot be known in advance to the operating system. The presented mechanism allows tasks to explicitly declare aforementioned relationships, enabling the operating system scheduler to take advantage of such information and trigger priority inheritance, resulting in reduced priority inversion.

[1]  C. D. Locke,et al.  A practical application of the ceiling protocol in a real-time system , 1988, IRTAW '88.

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

[3]  Tommaso Cucinotta,et al.  Analysis and implementation of the multiprocessor bandwidth inheritance protocol , 2012, Real-Time Systems.

[4]  Kwei-Jay Lin,et al.  Dynamic priority ceilings: A concurrency control protocol for real-time systems , 1990, Real-Time Systems.

[5]  Insik Shin,et al.  SIRAP: a synchronization protocol for hierarchical resource sharingin real-time open systems , 2007, EMSOFT '07.

[6]  John C. Mitchell,et al.  Concepts in programming languages , 2002 .

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

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

[9]  Luca Abeni,et al.  Deadline scheduling in the Linux kernel , 2016, Softw. Pract. Exp..

[10]  Satish K. TripathiInstitute Multiprocessor Priority Ceiling Based Protocols , 1994 .

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

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

[13]  Vladimir Cretu,et al.  Limited Blocking Resource Sharing for Global Multiprocessor Scheduling , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[14]  Tommaso Cucinotta,et al.  The Multiprocessor Bandwidth Inheritance Protocol , 2010, 2010 22nd Euromicro Conference on Real-Time Systems.

[15]  Stefan Kowalewski,et al.  Priority Inheritance during Remote Procedure Calls in Real-Time Android using Extended Binder Framework , 2015, JTRES.

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

[17]  Lukasz Ziarek,et al.  RTDroid: A Design for Real-Time Android , 2016, IEEE Transactions on Mobile Computing.

[18]  Butler W. Lampson,et al.  Experience with processes and monitors in Mesa , 1980, CACM.

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

[20]  Tommaso Cucinotta,et al.  A Real-Time Service-Oriented Architecture for Industrial Automation , 2009, IEEE Transactions on Industrial Informatics.

[21]  Johan J. Lukkien,et al.  Dependable Resource Sharing for Compositional Real-Time Systems , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.

[22]  Lui Sha,et al.  Limitations of Ada for real-time scheduling , 1987, IRTAW '87.

[23]  Tommaso Cucinotta,et al.  An efficient implementation of the BandWidth Inheritance protocol for handling hard and soft real-time applications in the Linux kernel , 2008 .

[24]  Alan Burns,et al.  Real Time Scheduling Theory: A Historical Perspective , 2004, Real-Time Systems.

[25]  Chenyang Lu,et al.  Outstanding Paper Award: Analysis of Global EDF for Parallel Tasks , 2013, 2013 25th Euromicro Conference on Real-Time Systems.

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

[27]  Chenyang Lu,et al.  Limitations and Solutions for Real-Time Local Inter-Domain Communication in Xen , 2012 .

[28]  Hermann Härtig,et al.  Fast component interaction for real-time systems , 2005, 17th Euromicro Conference on Real-Time Systems (ECRTS'05).

[29]  Alan Burns,et al.  Resource Sharing in Hierarchical Fixed Priority Pre-Emptive Systems , 2006, 2006 27th IEEE International Real-Time Systems Symposium (RTSS'06).

[30]  Wang Yi,et al.  Resource Sharing Protocols for Real-Time Task Graph Systems , 2011, 2011 23rd Euromicro Conference on Real-Time Systems.

[31]  Giorgio C. Buttazzo,et al.  Integrating multimedia applications in hard real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[32]  Rachid Guerraoui,et al.  Why STM can be more than a research toy , 2011, Commun. ACM.

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

[34]  Requeue-PI : Making Glibc Condvars PI-Aware Darren Hart , 2009 .

[35]  Luca Abeni,et al.  Analysis of client/server interactions in a reservation-based system , 2013, SAC '13.

[36]  Lui Sha,et al.  Priority inversion in Ada , 1987, ALET.

[37]  Giorgio C. Buttazzo,et al.  HARD REAL-TIME COMPUTING SYSTEMS Predictable Scheduling Algorithms and Applications , 2007 .

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

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

[40]  Aniruddha S. Gokhale,et al.  Alleviating priority inversion and non-determinism in real-time CORBA ORB core architectures , 1998, Proceedings. Fourth IEEE Real-Time Technology and Applications Symposium (Cat. No.98TB100245).