Analysis and Implementation of the Multiprocessor BandWidth Inheritance Protocol
01 November 2012
The Multiprocessor Bandwidth Inheritance (M-BWI) protocol is an extension of the Bandwidth Inheritance (BWI) protocol to symmetric multiprocessor systems. Similarly to Priority Inheritance, M-BWI lets a task that has locked a resource execute in the resource reservations of the blocked tasks, thus reducing their blocking time. The protocol is particularly suitable for open systems where different kinds of tasks dynamically arrive and leave, because it guarantees temporal isolation among independent subsets of tasks without requiring any information on their temporal parameters. Additionally, if the temporal parameters of the interacting tasks are known, it is possible to compute an upper bound to the interference suffered by a task due to other interacting tasks. Thus, it is possible to guarantee a subset of interacting hard real-time tasks. Finally, the M-BWI protocol is neutral to the underlying scheduling policy, because it can be implemented both in global, clustered and partitioned scheduling. After introducing the M-BWI protocol, in this paper we formally prove its isolation properties, and propose a schedulability analysis for hard real-time tasks. Then, we describe our implementation of the protocol for the LIT M U S RT real-time testbed, and measure its overhead. Finally, we compare M-BWI against FMLP, another protocol for resource sharing in multiprocessor systems, introducing a schedulability analysis for M-BWI that proves to be less pessimistic than existing analysis techniques for FMLP.