Stack Resource Policy
   HOME

TheInfoList



OR:

The Stack Resource Policy (SRP) is a resource allocation policy used in real-time computing, used for accessing shared resources when using
earliest deadline first scheduling Earliest deadline first (EDF) or least time to go is a dynamic priority scheduling algorithm used in real-time operating systems to place processes in a priority queue. Whenever a scheduling event occurs (task finishes, new task released, etc.) ...
. It was defined by T. P. Baker. SRP is not the same as the
Priority ceiling protocol In real-time computing, the priority ceiling protocol is a synchronization protocol for shared resources to avoid unbounded priority inversion and mutual deadlock due to wrong nesting of critical sections. In this protocol each resource is assign ...
which is for fixed priority tasks (FP).


Function

Each task is assigned a preemption level based upon the following formula where D(T_i) denotes the deadline of task i and \pi_i(T_i) denotes the preemption level of task i: D(T_i) < D(T_j) \iff \pi_i(T_i) > \pi_i(T_j) Each resource R has a current ceiling C_R(V_R) that represents the maximum of the preemption levels of the tasks that may be blocked, when there are V units of R available and \mu_R(J) is the maximum units of R that T_i may require at any one time. C_R(V_R) is assigned as follows: C_R(V_R) = max(\ \cup \) There is also a system ceiling \pi' which is the maximum of all current ceilings of the resources. \pi' = max(\ \cup \) Any task T_i that wishes to preempt the system must first satisfy the following constraint: \pi' < P_i(T_i) This can be refined for Operating System implementation (as in MarteOS) by removing the multi-unit resources and defining the stack resource policy as follows * All tasks are assigned a preemption level, in order to preserve the ordering of tasks in relation to each other when locking resources. The lowest relative deadline tasks are assigned the highest preemption level. * Each shared resource has an associated ceiling level, which is the maximum preemption level of all the tasks that access this protected object. * The system ceiling, at any instant in time, is the maximum active priority of all the tasks that are currently executing within the system. * A task is only allowed to preempt the system when its absolute deadline is less than the currently executing task and its preemption level is higher than the current system ceiling.


Relevancy

The 2011 book ''Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications'' by Giorgio C. Buttazzo featured a dedicated section to reviewing SRP from Baker 1991 work.T.P. Baker, "Stack-Based Scheduling of Realtime Processes", The Real-Time Systems Journal 3,1 (March 1991)67-100


References

{{Reflist Real-time computing