The duration of time for which each application locks each shared resource is critically important in composing multiple independently-developed applications upon a shared “open” platform. In a companion paper [13], we formally defined and studied the concept of resource hold time (RHT) — the largest length of time that may elapse between the instant that an application system locks a resource and the instant that it subsequently releases the resource. [13] focused exclusively upon systems scheduled using EDF; in this paper, we extend the discussion and results from [13] to systems scheduled using static-priority scheduling algorithms. We present an algorithm for computing resource hold times for every resource in an application that is scheduled using static-priority scheduling, with resource access arbitrated using the Stack Resource Policy (SRP), or the Priority Ceiling Protocol (PCP). We also present an algorithm for decreasing these RHT’s without changing the semantics o...
Marko Bertogna, Nathan Fisher, Sanjoy K. Baruah