Task synchronization for distributed real-time applications

The authors present a new synchronization strategy for real-time tasks executed in a distributed environment. This strategy makes the timing properties of the system predictable since one is able to determine analytically whether the timing requirements of a task set will be met, and if not, which task timing requirements will fail. In particular, every task is allocated on a different node of a distributed system and can require the use of non-preemptable resources or access shared data. The proposed synchronization protocol is based on the on-demand paradigm where resources are assigned only when actually required so that the system never wastes unused assignments. Simple formulae for the worst-case determination of task blocking durations as well as for the schedulability analysis of a set of tasks are described. A schedulability analysis example is also presented that illustrates the concepts of scheduling and resource allocation of a set of time critical tasks.