Most current real time scheduling algorithms allocate the processing unit independently of other resources. Some of them integrate processing unit and passive resource allocation to avoid deadlocks or data coherency failures, but the proposed mechanisms often rely on the access to shared control variables (e.g. semaphores) and have been mainly implemented in monoprocessor contexts. Moreover, they use over reservation extensively, which reduces overall system disponibility. Embedded real time systems often require a distributed architecture for flexibility and disponibility reasons and a more complex task model: real time tasks must be able to communicate, synchronize, and access distributed resources. We propose cooperation mechanisms between distributed local monitors that allow coordination between processing unit allocation, intertask communication synchronization, and resource allocation. The paper outlines the main characteristics of the resulting monitor architecture.
['L. Maillet', 'Christian Fraboul']
Scheduling complex real-time tasks in an embedded distributed system