Loop-free asynchronous data sharing in multiprocessor real-time systems based on timing properties

The paper presents a timing based approach to implementing fully asynchronous reader/writer mechanisms which addresses the problems of priority inversion and blocking among tasks within multiprocessor real time systems. The approach associates a sequential circular buffer data sharing algorithm, which, although being lock-free and loop-free, is vulnerable to some timing subtlety, with necessary feasibility conditions and a configuring mechanism. Both the feasibility conditions and the configuring mechanism are constructed through analyzing the timing properties of relevant tasks. The feasibility conditions are employed to verify the safety property against a given implementation of the data sharing algorithm while the configuring mechanism helps configure the buffer holding the shared data objects. Applying this timing based approach to the asynchronous data sharing problem has the advantage that sequential data sharing mechanisms may be adapted to help remove priority inversion and blocking incurred by the commonly used lock based synchronization mechanism. Therefore, it demonstrates an effective alternative to the traditional algorithm based approaches.

[1]  John Tromp How to Construct an Atomic Variable (Extended Abstract) , 1989, WDAG.

[2]  Hermann Kopetz,et al.  The non-blocking write protocol NBW: A solution to a real-time synchronization problem , 1993, 1993 Proceedings Real-Time Systems Symposium.

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

[4]  Ragunathan Rajkumar,et al.  Synchronization in Real-Time Systems , 1991 .

[5]  Gary L. Peterson,et al.  Concurrent Reading While Writing , 1983, TOPL.

[6]  H. R. Simpson Multireader and multiwriter asynchronous communication mechanisms , 1997 .

[7]  Alan Burns,et al.  Hard Real-Time Scheduling: The Deadline-Monotonic Approach , 1991 .

[8]  V AdveSarita,et al.  Shared Memory Consistency Models , 1996 .

[9]  Wim H. Hesselink A Criterion for Atomicity , 2000 .

[10]  John Tromp,et al.  How to construct an atomic variable , 1989 .

[11]  H. R. Simpson Four-slot fully asynchronous communication mechanism , 1990 .

[12]  Kai Hwang,et al.  Advanced computer architecture - parallelism, scalability, programmability , 1992 .

[13]  Alan Burns,et al.  Asynchronous data sharing in multiprocessor real-time systems using process consensus , 1998, Proceeding. 10th EUROMICRO Workshop on Real-Time Systems (Cat. No.98EX168).

[14]  Sarita V. Adve,et al.  Shared Memory Consistency Models: A Tutorial , 1996, Computer.

[15]  Leslie Lamport,et al.  Concurrent reading and writing , 1977, Commun. ACM.

[16]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.