Simple and Fast Wait-Free Snapshots for Real-Time Systems
Paper i proceeding, 2000

A wait-free algorithm for implementing a snapshot mechanism for real-time systems is presented in this paper. Snapshot mechanisms give the means to real-time task to read a globally consistent set of variable values while other concurrent tasks are updating them. Such a mechanism can be used to solve a variety of communication and synchronisation problems, including system monitoring and control of real-time applications. Typically, implementations of such mechanisms are based on interlocking. Interlocking protects the consistency of the shared data by allowing only one process at a time to access the data. In a real-time environment locking typically leads to difficulties in guaranteeing deadlines of high priority tasks because of the blocking. Researchers have introduced non-blocking algorithms and data structures that address the above problems. In this paper we present a simple and efficient wait-free (non-blocking) snapshot algorithm by making use of timing information that is available and necessary to the scheduler that schedules the tasks of real-time systems. Experiments on a SUN Enterprise 10000 multiprocessor system show that the algorithm that we propose here, because of its simplicity, outperforms considerably the respective wait-free snapshot algorithm that is not using the timing information.






Håkan Sundell

Datakommunikation och Distribuerade System

Philippas Tsigas

Datakommunikation och Distribuerade System

Yi Zhang

Datakommunikation och Distribuerade System

Proceedings of the 4th International Conference On Principles Of Distributed Systems (OPODIS 2000)



Data- och informationsvetenskap