Synchronization in Multiple Processor Systems
暂无分享,去创建一个
The potential speedup provided by multiprocessors and distributed systems has motivated their widespread use in recent years. Several mechanisms exist to synchronize tasks that execute on different processors, but share data and resources. In a hard real-time context, however, these synchronization mechanisms need to have bounded blocking durations. Only then can the deadlines of tasks be guaranteed. Unfortunately, as illustrated in Chapter 2, a direct application of commonly used synchronization primitives like semaphores, monitors or message-passing mechanisms such as the Ada rendezvous can lead to uncontrolled priority inversion where a higher priority task is blocked by a lower priority task for an indefinite period of time. This chapter studies the class ofpriority inheritance protocolsfor synchronizing tasks executing in parallel on multiple processors. Thedistributed priority ceiling protocoland themultiprocessor priority ceiling protocolare priority inheritance protocols for use in distributed systems and shared memory multiprocessors respectively. Both protocols not only bound the duration of blocking but also prevent deadlocks. These properties allow us to derive a set of sufficient conditions under which a set of periodic tasks using one of these protocols will be schedulable.