A Note on Blocking Optimality in Distributed Real-Time Locking Protocols

Björn B. Brandenburg · 2013

Lower and upper bounds on maximum priority inversion blocking (pi-blocking) are established under distributed multiprocessor real-time semaphore protocols (where resources may be accessed only from specific synchronization processors). Prior work on shared-memory multiprocessor semaphore protocols (which require resources to be accessible from potentially any processor) has established bounds of Θ(m) and Θ(n) maximum pi-blocking under suspension-oblivious and suspension-aware analysis, respectively, where m denotes the total number of processors and n denotes the number of tasks. In this paper, it is shown that in the case of distributed semaphore protocols, there exist two different task allocation scenarios that give rise to distinct lower bounds. In the case of co-hosted task allocation, where application tasks may also be assigned to synchronization processors, Ω(Φ · n) maximum pi-blocking is unavoidable for some tasks under any locking protocol under both suspension-aware and suspension-oblivious schedulability analysis. In contrast, in the case of disjoint synchronization and application processors (i.e., if application tasks are not scheduled on synchronization processors), only Ω(m) and Ω(n) maximum pi-blocking is fundamental under suspension-oblivious and suspension-aware analysis, respectively, as in the shared-memory case. These bounds are shown to be asymptotically tight with the construction of two new distributed real-time semaphore protocols that ensure O(m) and O(n) maximum pi-blocking under suspension-oblivious and suspension-aware analysis, respectively. 1

Read the paper · More papers on PaperTik