Resource Sharing in an Enhanced Rate-Based Execution Model

Size: px
Start display at page:

Download "Resource Sharing in an Enhanced Rate-Based Execution Model"

Transcription

1 In: Proceedings of the 15th Euromicro Conference on Real-Time Systems, Porto, Portugal, July 2003, pp Resource Sharing in an Enhanced Rate-Based Execution Model Xin Liu Steve Goddard Department of Computer Science and Engineering University of Nebraska Lincoln Lincoln, NE {lxin, Abstract A theory of resource sharing in a mixed system with hard real-time and non-real-time processing requirements is presented. The real-time processing is modeled as rate-based execution (RBE) tasks whose resource needs are known in advance. The non-real-time processing is modeled as aperiodic requests and dynamically mapped to weight-based variable rate execution tasks. The resource sharing requirements of the aperiodic requests are unknown a priori and only become known when a critical section is reached. A scheduling algorithm that supports resource sharing without deadlock in such a mixed system is presented with a sufficient off-line schedulability condition. 1 Introduction Many systems have both real-time and non-real-time processing requirements. When the real-time processing has hard deadlines (i.e., deadlines that cannot be missed), nonreal-time processing is often modelled as aperiodic request processing within a real-time system. The canonical approach to supporting aperiodic requests in a uniprocessor real-time system has been to add a server that processes the aperiodic requests [14, 19, 20, 9, 21, 7, 8, 1, 4, 5, 6, 13]. A common feature of these algorithms is that they support a fixed number of aperiodic servers and a constant bandwidth for each server. Although some algorithms, such as GRUB (Greedy Reclamation of Unused Bandwidth) [16], allow bandwidth reclamation, the bandwidth initially allocated to each server is fixed. Increasingly, mixed computing environments host a dynamic number of adaptive execution applications, typically multimedia applications. These applications negotiate with the system to decide their execution rates and service qualities. If the system load changes, they adjust their execution Supported, in part, by a grant from the National Science Foundation (CCR ). rates and service qualities accordingly. The traditional aperiodic server algorithms are unable to handle adaptive executions. Instead of adding traditional aperiodic servers, an enhanced Rate-Based Execution (RBE) model was created in [10]. The RBE model schedules tasks at the average rate they are expected to execute. In the enhanced RBE model, aperiodic tasks (or request servers) are modeled as weightbased variable-rate execution tasks, which execute with a dynamic rate depending on the system workload. The rate changes result in adjusting the deadline assignment and the pending deadlines of aperiodic jobs. As in a multiprogramming system, tasks may require mutually exclusive access to a shared resource. In this work, we extend the enhanced RBE model of [10] to support resource sharing between real-time (RBE tasks) and non-real-time tasks (aperiodic requests). Most systems use a lock-based method for accessing shared resources. That is, a mutex is usually used to ensure mutually exclusive access to a shared resource. If a higher priority task is blocked by a lower priority task, then a task, with priority lower than the blocked task but higher than the resource owner can be executed before the blocked task with higher priority. This is called prioritnversion. The basic idea in preventing prioritnversion is to increase the priority of the job that locked resources. Most resource sharing algorithms are designed for static real-time task sets and follow the prioritnheritance principle [18, 11, 2]. Recent work also supports resource sharing among real-time tasks and non-real-time tasks [13, 6, 4]. The conventional algorithms, however, require fixed relative deadlines or priorities set before runtime. Thus, the dynamic rate and deadline of aperiodic tasks in the enhanced RBE model lead to the inappropriateness of conventional resource sharing algorithms. Our research differs from previous work by relaxing the constraint of fixed deadlines. Instead of setting a static preemptive level for each task, each resource is associated with a (dynamic) resource-sharing task set and a dynamic relative deadline ceiling is defined for that task set. When a job In: Proceedings of the 15th Euromicro Conference on Real-Time Systems, Porto, Portugal, July 2003, pp

2 accesses the resource, it gets its deadline changed based on the resource deadline ceiling, which is equivalent to inheriting the highest prioritn the resource-sharing task set; its deadline is changed back to its original value when it leaves the critical section of the resource. If the workload changes, the resource deadline ceiling may also change. A sufficient off-line schedulability condition is given in this work to simplify schedulability checking. A necessary condition cannot be derived with the limited knowledge assumed about aperiodic requests. The rest of this paper is organized as follows. Section 2 discusses canonical resource sharing algorithms and related work in resource sharing among real-time and non-real-time tasks. Section 3 introduces the processing model assumed in this work. Section 4 presents the theoretical correctness and a schedulability condition. Section 5 discusses the overhead. We conclude with a summarn Section 6. 2 Related Work The basic strategy dealing with prioritnversion is to raise the priority of the resource owner. The Priority Inheritance Protocol (PIP) [18] lets the resource owner inherit the highest priority of blocked tasks. Thus, tasks with lower priorities are unable to preempt the resource owner. Although PIP accelerates the release of shared resources, it does not avoid deadlocks. Also proposed in [18], the Priority Ceiling protocol (PCP) avoids deadlock by allocating resources in a specified order, which is the resource ceiling in practice. In PCP, each resource is assigned a priority ceiling equal to the highest priority of tasks sharing that resource. A job J is allowed to lock a resource S onlf p(j) > c(s ), where p(j) is the priority of J, and c(s ) is the highest priority ceiling among all resources currently locked by jobs other than J. If J cannot lock S, J is blocked and the job J, which holds the lock on S, temporarilnherits the priority p(j) until S is unlocked. Each task is assigned a fixed priority based on a static priority scheduling algorithm in PCP. The Dynamic Priority Ceiling Protocol (DPCP) [3] extends the PCP protocol to dynamic priority scheduling algorithms, typically the EDF algorithm. The DPCP assigns a variable priority to each task; the priorits dynamically adjusted based on the emergence of the task s earliest deadline. The DPCP protocol updates the priority ceilings of all the resources, as well as the system priority ceiling. This creates more overhead than the method presented here though it could be extended to the task model assumed in this work. The Stack Resource Protocol (SRP) algorithm [2] aims at stack resource sharing, where tasks share a single stack. Each resource also maintains a ceiling in terms of the preemption level. A task is scheduled onlf its preemption level is greater than the ceiling. The Dynamic Deadline Modification (DDM) algorithm [11] considers a task as a sequence of resource sharing phases. Each resource is marked with a shortest period, which is equivalent to a relative deadline. When a task is inside a critical section, the task s deadline is dynamically modified to prevent preemption by other tasks that share the resource. Resource sharing among aperiodic tasks is a little different. Each server is associated with a bandwidth which might be mapped into a prioritn real-time systems. So there is essentially no prioritnversion among aperiodic tasks. In single server models such as TBS [20], there is at most one aperiodic request executing at any time; Thus, no resource is shared among aperiodic tasks in TBS. In multiple server methods like CBS [5], resources can be shared among different servers. In this case, bandwidth is considered as the replacement of priority. The Bandwidth Inheritance Protocol [13] was aimed at extending PIP to CBS. Instead of inheriting priority, BIP lets the resource owner inherit the higher bandwidth of blocked jobs. Bnheriting bandwidth, the release of a resource is accelerated. Coccamo and Sha studied resource sharing between realtime tasks and aperiodic tasks based on the CBS+SRP model [6]. The authors developed a theory of dynamic preemption levels. Rather than static preemption level for real-time tasks, each aperiodic task (more precisely, aperiodic server) is assigned a dynamic preemption level inversely proportional to its dynamic relative deadline. Then resource sharing in the mixed task set is handled by SRP. To reach an offline schedulability condition, the CBS rules are modified to give a bound on the maximum preemption level. The work presented here extends the DDM/EDF [11] algorithm to the enhanced RBE model [10] by relaxing the constraint of fixed deadlines. In the enhanced RBE model, each aperiodic request is modeled as a weight-based variable rate task, which has its rate and deadline adjusted dynamically based on system workload. In this work, each resource is associated with a dynamic deadline ceiling. When a job enters its critical section, its deadline is modified based on the deadline ceiling. The modified deadline actually provides a ceiling such that the critical section will not be preempted by other tasks sharing the resource or other tasks with relative deadlines longer than the ceiling. 3 The Model The previous work on resource sharing requires fixed priorities, deadlines or bandwidth. In the enhanced RBE model [10], neither the execution rate nor the deadline of an aperiodic task is fixed. Thus, the previous resource sharing algorithms will not work in the enhanced RBE model. Our approach is an extension to the DDM/EDF algorithm [11] called Earliest-Deadline-First with Deadline-Ceiling-

3 Inheritance (EDF-DCI). Instead of maintaining a ceiling for each resource as in PCP [18], each resource is associated with a task set whose members share that resource. Each resource-sharing task set has a deadline ceiling which is defined as the minimum relative deadline of all its member tasks. If a job gains access to a resource, it can take the current time plus the deadline ceiling as its new deadline during the critical section, which is equivalent to inheriting the highest prioritn the resource-sharing task set; And the original deadline is restored when the job leaves the critical section. A final property of the EDF-DCI algorithm is that if two jobs have identical deadlines, deadline ties are broken in favor of the job that is currently executing or was previously executing and was preempted. We assume RBE tasks have their resource requests known in advance; The resource requests of aperiodic tasks are unknown a priori, but known when a critical section is reached. Thus aperiodic tasks are considered to join a resource-sharing task set only when they reach their critical sections. When an aperiodic task ˆT reaches its critical section, its quantum size is adjusted to tightly cover the critical section and registered with the corresponding resourcesharing task set. When ˆT leaves the critical section, it is unregistered from the resource-sharing task set. The remainder of this section first introduces the enhanced RBE model. Then we show how the quantum size is adjusted and how the deadline ceiling is constructed. 3.1 Introduction to the Enhanced RBE Model The RBE task model was developed to support the realtime execution of event-driven tasks in which no a priori characterization of the actual arrival rates of events is known; only the expected arrival rates of events is known [12]. A RBE task is parameterized by a 4-tuple (x i,, c i, d i ), making progress at the rate of processing x i events every time units, each event takes no longer than c i time units and should be processed within d i time units. Rate is achieved by deadline assignment. The jth job of a RBE task T i, J ij, is assigned a deadline as follows: D i (j) = { t ij + d i if 1 j x i max(t ij + d i, D i (j x i ) + ) if j > x i (1) where t ij is the release time of J ij. In the enhanced RBE model presented in [10], the execution times of aperiodic tasks are unknown. Thus the execution has to be decomposed into a sequence of time slices. Each time slice is modeled as a job; The sequence of time slices can be viewed as a task, which releases its next job right after the previous job finishes. We called it a weightedbased variable rate execution task because its execution rate changes when the system workload changes. Usually, a weight w i > 0 is associated with each aperiodic request A i. Let ˆF denote the fraction of the CPU capacity allocated to processing aperiodic requests. This fraction will be shared by the aperiodic tasks in proportion to their respective weights. Thus, if A(t) denotes the set of aperiodic requests at time t, the fraction f i (t) of the CPU each aperiodic request A i A(t) should receive can be computed as { 0 if Ai A(t) f i (t) = P w i (2) ˆF otherwise. j A(t) w j The execution of an aperiodic task is decomposed into a sequence of time slices, each of size q i. Thus, an aperiodic task A i can be mapped to a RBE task by a function ψ(a i ) as follows: ψ(a i ) : A i ˆT i = (x i, (t), d i (t), c i ) q i = (1, f i (t), q i f i (t), q i) Note (t), which determines the rate of aperiodic tasks together with q i, is a function of time t that is affected by the system workload ( j A(t) w j). Thus, parameter in Equation (1) is replaced by a variable (t), which achieves the variable rate. Workload change is caused by the arrival or termination of aperiodic tasks. The arrival or termination of aperiodic tasks will cause the update of (t). In an implementation, the current deadlines of aperiodic tasks can be maintained in virtual time; Thus the rate change can be done by simply adjusting the speed of virtual time. For theoretical correctness, the virtual deadlines have to be mapped into real time, which change with the system workload. Moreover, once dispatched, the deadline must be in real-time units to efficiently implement the protocol. The choice of maintaining the deadlines of pending aperiodic requests in real time or virtual time is dependent on system work load. In this work we assume the deadlines of pending aperiodic requests are maintained in real time. Let f i denote the fraction of an aperiodic task ˆT i before the workload changes and f i the fraction after the workload changes, the current deadline D i (j) is adjusted using Equation (4). { t x + (D i (j) t x ) f i f i D i (j) = D x(l) + (D i(j) D x(l)) f i f i if A x arrives at t x (3) if A x terminates at t f x (4) See [10] for more details on the enhanced RBE model. 3.2 Quantum Expansion at Critical Section As described in Section 3.1, an aperiodic request is modeled as a weight-based variable rate task, which has its time

4 slices modeled as separate jobs. At the release of each aperiodic job, a count-down counter of size q i is set. When the job is executed, its counter decreases. If the counter reaches 0, then the job terminates, a new job is immediately released and the scheduler is invoked. This is similar to the budget mechanism in server methods like TBS and CBS. Since aperiodic tasks are unknown a priori, they may reach their critical section at any time. The counter may expire within a critical section; Thus the critical section may require more than one time slice to finish, which will delay the release of the critical section, as shown in Figure 1. A 1 T 2 T 3 Critical Section Figure 1. Counter-down timer expires in a critical section. The count-down counter expires for A 1 within a critical section; The remaining execution of the critical section is delayed to the next time slice. Task T 2 executes earlier than T 3 since the resource release is delayed. The result is a missed deadline by T 3. This problem was addressed in [6] by recharging the budget with multiple quanta until it is large enough to cover the whole critical section. Rather than recharging the budget by quanta, we terminate the job at its current progress and readjust the quantum size to exactly cover the critical section as shown in Figure 2. A1 T 2 T 3 Critical Section Figure 2. Quantum size recharged before a critical section. The quantum size of A 1 was expanded to exactly cover the critical section; The deadline of A 1 is moved to a later time. Thus, T 3 executes its critical section before A 1 and all tasks make their deadlines (as opposed to the example shown in Figure 1). For simplicity, we set a bound for the minimum value of relative deadlines. Let Y j denote the minimum relative deadline (which is assumed to be equal to the respective y parameter in this work) for resource r j and c ij be the size of the critical section, then the quantum size is set using Equation (5) when an aperiodic task ˆT i reaches its critical section for resource r j, where f i is the fraction of ˆT i computed by Equation (2). q rj i = max(c ij, Y j f i ) (5) Let the fraction of the CPU allocated to aperiodic request processing be ˆF and the weight summation of aperiodic tasks be W. Assume an aperiodic task ˆT i has an original quantum size of q i time units, current deadline D i (x), and R i time units remaining in its counter. Then it is registered with the resource-sharing task set using the following RBE description when it reaches the critical section (i.e., when it attempts to lock the resource): (1, (t) = qrj i, q rj i, d f i(t) = (t)) (6) i At the same time, its counter is reset to q rj i and its current deadline D i (x) is updated using Equation (7). D i(x) = D i (x) + qrj i R i w i ˆF In Equations (6) and (7), if q rj i = R i, then nothing needs to be done; If q rj i > R i then the quantum size is expanded to q rj i and the deadline is moved to a later time; If q rj i < R i then the quantum size is shortened to q rj i and the deadline is moved to an earlier time. When the aperiodic task leaves its critical section, it is unregistered from the task set and its quantum size is restored to q i. The new job is then assigned a deadline using Equation (1). 3.3 Dynamic Deadline Ceiling In deadlock free algorithms such as PCP [18] and SRP [2], a priority (preemption level) ceiling is maintained for each resource. When a job is blocked or gains access to a resource, the ceiling is increased. A job is scheduled only if its priority (or preemption level) is greater than the ceiling. Thus, resources are allocated in a specific order, which prevents deadlock. In this work, we prevent deadlock in a different way. We assume The resource requests of RBE tasks are known in advance; The resource requests of aperiodic tasks are known only when they reach a critical section. Thus, each resource is associated with a resource-sharing task set whose elements may request the resource. When (7)

5 a job gains access to a resource, it is assigned the highest priority (earliest deadline) within the resource-sharing task set. Thus, deadlock is prevented. Since the resource requests of aperiodic tasks are unknown in advance, the resource-sharing task set is not static; It contains both static members (RBE tasks) and dynamic members (aperiodic tasks). Let T ri (t) denote the resourcesharing task set of resource r i at time t. Then T ri (t) = R ri A ri (t), where R ri is the static set of real-time tasks that share resource r i and A ri (t) is the dynamic set of aperiodic tasks that share resource r i at time t. Aperiodic tasks are dynamically registered with the resource-sharing task set when they reach their critical sections. The construction of T ri (t) is as follows: Initially, T ri (t) = R ri When an aperiodic task A x reaches its critical section for resource r i, change A x s counter to qx ri and adjust the quantum size and deadline of A x using Equations (6) and (7), as discussed in Section 3.2 register A x to the resource-sharing task set: T ri (t) = T ri (t) {A x } When an aperiodic task A x leaves its critical section of resource r i, unregister A x from the resource-sharing task set T ri (t) = T ri (t) {A x } change A x back to its original quantum size q x The deadline ceiling for r i is defined as the minimum relative deadline of tasks in T ri (t). That is, d ri (t) = min(d i T i T ri (t)) (8) where d i is a relative deadline of task T i, which may either a RBE task or an aperiodic task. When a job J x enters a critical section of resource r i at time t, it has its deadline changed to D m = min(d x, t + d ri (t)) (9) where D x is the original deadline. When J x leaves the critical section, it has its deadline changed back to the original deadline value D x. If J x is an aperiodic job, then J x terminates; J x s task has its quantum size changed back q x and releases a new job immediately. Since T ri (t) is dynamic, the deadline ceiling d ri (t) has to be recomputed each time an aperiodic task registers or unregisters. Even when the membership of T ri (t) does not change, members of A ri (t) will have their relative deadlines changed if the workload changes. In this work, we assume critical sections are short and new aperiodic requests are not accepted when a task is in a critical section. Thus, T ri (t) and d ri (t) will not change within any critical section, and d ri (t) is only computed when needed. That is, d ri (t) is computed only when a job gains access to its critical section for r i. This means that D m will not change within any critical section since system workload remains constant in that interval. To summarize, the dynamic deadline ceiling works as follows: Each resource r i is associated with a resource-sharing task set T ri, which initially only contains RBE tasks that will use resource r i When an aperiodic task A x reaches its critical section for resource r i, its quantum size and deadline are adjusted using Equations (6) and (7). Then A x is registered with T ri When a task (either a RBE task or an aperiodic task) begins to execute its critical section for resource r i at time t, it has its deadline, D x, changed to D m = min(d x, t + d ri ) When a task leaves the critical section for r i, it has its deadline changed back to D x If the task is an aperiodic task A x, then it is unregistered from T ri ; A x has its quantum size changed back to q x and releases a new job. The EDF-DCI algorithm is an EDF scheduling algorithm that supports the dynamic deadline ceiling and breaks deadline ties in favor of the job that is currently executing or was previously executing and was preempted. 3.4 An Example The following example illustrates the usage of the dynamic deadline ceiling. Initially, T ri (0) = {T 1, T 2, T 3 } has three RBE tasks, as shown in Table 1. Assume job J 11 is released by RBE task T 1 at time 4 with its original deadline D 1 (1) = 4+15 = 19. As shown in Figure 3, it immediately gains access to resource r i and its deadline is changed to the deadline ceiling, min(19, ) = 14, using Equation (9). Table 1. T ri (0). x y c d T T T d ri 10 Table 2. T ri (6). x y c d T T T ˆT d ri 6

6 T 1 ^ T J 11 1 J 41 J deadline move to the ceiling at the begining of critical section deadline move back at the end of critical section Table 3. Schedule. time Job t arrive t accept d ri D D m 4 J J 11 6 J J J J 42 Figure 3. Deadline adjustment at a critical section. Job J 11 has its deadline changed to 14 at the beginning of critical section and changed back to 19 at the end of critical section; Task ˆT 4 arrives at time 5 but not accepted until time 6. ˆT4 has its quantum size changed to 1 at time 6 and changed back to 2 at time 7. At time 5, an aperiodic task ˆT 4 = (1, 12, 2, 12), with fraction 1 6, arrives. Since job J 11 is in its critical section, ˆT4 is not accepted immediately. At time 6, job J 11 leaves the critical section and its deadline is changed back to the original deadline value of 19. Aperiodic task ˆT 4 is accepted at time 6 and releases job J 41, which is assigned the deadline = 18. Since job J 41 has the earliest deadline (18), it is the next job to execute and immediately reaches its critical section for resource r i, which has a size of 1 time unit. Thus, aperiodic task ˆT 4 is registered with task set T ri, as shown in Table 2. Let 6 be the minimum relative deadline in the task set T ri (i.e., d ri (6) = 6). Then job J 41 s quantum q4 i is set to min(1, 6 6 ) = 1. Thus, its rate specification is set to (1, 6, 1, 6); its deadline is changed to 12 using Equations (6) and (7); and its execution counter (budget) is reduced from 2 time units to 1 time unit. When job J 41 finishes at time 7, ˆT 4 is unregistered from task set T ri, T ri (7) = {T 1, T 2, T 3 }; the rate specification for ˆT 4 is changed back to (1, 12, 2, 12); and its second job is released (at time 7), with the execution counter reset to 2 time units and a deadline of = 24. Finally, job J 11 is the next job to begin execution at time 7. The execution schedule for this example is shown in Table 3. 4 Theoretical Validation This section discusses the theoretical correctness of the EDF-DCI algorithm. We first show that the algorithm satisfies the mutual exclusion constraint on access to resources and that it prevents deadlock. Then, an off-line sufficient schedulability condition is given. Property 1 states that the EDF-DCI algorithm provides mutually exclusive access to resources. Property 2 states that a job requesting a resource is never blocked from accessing the resource. Property 3 combines the first two properties to show that the EDF-DCI algorithm provides mutually exclusive access to resources and prevents deadlocks. Property 1 The EDF-DCI scheduling algorithm satisfies the mutual exclusion constraint on access to resources. Proof: by contradiction. Assume job J i begins to execute its critical section for resource r x at time t i with deadline D i, but is preempted by some job before it completes its critical section. At the time it entered the critical section, its deadline was the earliest eligible deadline and this deadline was retained or moved earlier using Equation (9) at time t i. Thus D i = min(d i, t i + d rx(t i )). Assume job J j shares resource r x, begins to execute at time t j and enters its critical section for resource r x at time t j before job J i leaves its critical section. Let D j = min(d j, t j + d rx(t j )). Then it must be the case that that D j D j < D i since earliest deadlines are given priority and ties are broken in favor of job J i under EDF-DCI scheduling. Moreover, since the workload cannot change once a job enters its critical section, it must also be the case that d j d rx (t j ) = d rx(t j ) = d rx (t i ) by the definition of d rx. Thus, t j t j < t i since D j = t j +d j t j +d rx (t j ) < D i t i + d rx(t i ) t i + d j. This, however, contradicts the assumption that job J i had the earliest deadline when it entered its critical section. Thus, the EDF-DCI scheduling algorithm satisfies the mutual exclusion constraint on access to resources. Property 2 If a job J i requests resource r x, it will not be blocked by another task that shares resource r x. Proof: by contradiction. Assume job J i requests resource r x, but is blocked by job J j of another task that shares resource r x. That is, assume job J i cannot access the resource, even though it has the earliest deadline, because job J j is in its critical section.

7 Let time t i be the release time of job J i and D i be its deadline. Let t j be the time job J j enters its critical section, D j be the original deadline of job J j, and D j be the modified deadline of job J j set using Equation (9). Then D j D j > D i based on Equation (9) and the assumption that J i is blocked by J j under the EDF-DCI scheduling algorithm. Thus, t j < t i; otherwise, J j will not be able to enter its critical section at time t j since D i < D j. Moreover, since the workload did not change within the critical section, d rx (t j ) = d rx(t i ) d i. Therefore, D j t j + d rx (t j) < t i + d rx (t j) t i + d i = D i because D j = min(d j, t j + d rx(t j )) t j + d rx(t j ) and D i = t i + d i. This, however, contradicts the fact that D i is the earliest deadline. Thus, if a job J i requests resource r x, it will not be blocked by another task that shares resource r x. Property 3 The EDF-DCI algorithm provides mutually exclusive access to resources and prevents deadlocks. Proof: This is straightforward from Properties 1 and 2. Jeffay presented an off-line feasible condition in [11], which is extended to this work. Lemma 4.1 bounds the demand of a RBE task, which was already presented in [12]. We present it here since it is used in the sufficient schedulability condition for the enhanced RBE model considered in this work. Lemma 4.1. For a RBE task T i = (x i,, d i, c i ), { 0 if t [0, d i ) t > 0, dbf i (t) = t d i+ (10) x i c i if t [d i, ] is a least upper bound on the number of units of processor time required to be available in the interval [0, L] to ensure that no job of T i misses a deadline in [0, L]. Proof: See [12]. Theorem 4.2 gives a sufficient schedulability condition for the RBE task model. The RBE model is a special case of the enhanced RBE model in which there exists no aperiodic requests. For space considerations, only a short proof sketch is presented. The full proof follows the proof of Theorem 4.4. Theorem 4.2. Let τ be a task system with n RBE tasks, sorted in non-decreasing order by y parameter, that share a set of serially reusable resources r 1, r 2,..., r m. Assume d i = for all tasks, τ will be schedulable on a uniprocessor under EDF-DCI if: L, L > 0, L n L x i c i (11) i=1 and i, 1 i n, k, 1 k m r ik 0, L, d rk (0) L where: i 1 L c ik + L 1 x i c i (12) j=1 r ik 0 if task T i uses resource r k, c ik is the size of the critical section of task T i for resource r k, d rk (0) is defined by Equation (8) in Section 3.3. Proof sketch: This theorem is a special case of Theorem 4.4 in which there are no aperiodic tasks and ˆF = 0. Under these conditions, Theorem 4.4 reduces to Theorem 4.2 and the proof follows the proof of Theorem 4.4 in which the third condition holds vacuously. Because aperiodic tasks are modeled as weight-based variable rate tasks, an enhanced RBE system can be treated as a RBE system in annterval where the system workload does not change. Thus, Theorem 4.2 can also be used to check the schedulabilitn such intervals. But the conditions have to be rechecked if the system workload changes, which can cause great overhead. Aperiodic tasks are initially considered as critical section free; They are registered with the resource-sharing task set only when they reach their critical sections. Thus, RBE tasks and aperiodic tasks can be viewed as running on two virtual processors with partial power of the real processor (fraction F for RBE tasks and fraction ˆF for aperiodic tasks). They interfere only when aperiodic tasks reach their critical sections. Lemma 4.3 bounds the demand of an aperiodic task, which is proved in [10]. Theorem 4.4 gives a sufficient schedulability condition for the enhanced RBE model under EDF-DCI scheduling. Lemma 4.3. Let ˆTi = ψ(a i ) represent the aperiodic request A i A(t). If no job of ˆT i released before time t 0 0 requires processor time in the interval [t 0, l] to meet a deadline in the interval [t 0, l], then l > t 0, dbf i ([t 0, l]) = l t 0 f i (t)dt (13) is an upper bound on the processor demand in the interval [t 0, l] created by ˆT i where ψ(a i ) is defined by Equation (3) and f i (t) is defined by Equation (2). Proof: See [10].

8 When ˆF denotes the fraction allocated to aperiodic tasks, the demand of all aperiodic tasks is bounded by L ˆF because i ˆT f i = ˆF, as discussed in [10]. Although the resource requests of aperiodic tasks are unknown in advance, the minimum relative deadline is assumed to be bounded by Y rk in Equation (5); the maximum relative deadline is assumed to be Y rk ; the critical sections for resource r k are assumed to be less than a maximum bound C rk. These are reasonable assumptions for the mixed systems we work with that are dominated by real-time tasks. Theorem 4.4. Let τ = R A that share a set of serially reusable, single unit resources {r 1,..., r m }, R consists of n RBE tasks sorted in non-decreasing order by y parameter and A is the dynamic aperiodic task set. Assume d i =, τ can be scheduled if the following conditions hold: 1) n x i c i i R + ˆF 1 2) i, 1 < i n, k, 1 k m r ik 0, L, d rk (0) < L < : (1 ˆF i 1 )L c ik + L 1 x j c j j=1 3) k, 1 k m, L, Y rk < L < Y rk : where: L(1 ˆF ) C rk + i R r ik 0 if task T i uses resource r k, y j L 1 x i c i Y rk is a lower bound of y parameters of all tasks sharing resource r k, Y rk is a upper bound of y parameters of all tasks sharing resource r k, C rk is an upper bound of the size of critical section for resource r k, ˆF is the processor fraction allocated to aperiodic requests. Condition (1) is a utilization test that guarantees the system is not overloaded; Condition (2) is a generalized form of Theorem 4.2 that guarantees the processor is able to handle resource sharing among RBE tasks when no aperiodic gains access to any resource; if an aperiodic task gains access to a resource, then Condition (3) is used to check the correctness. Proof: by contradiction. Suppose job J l is the first job that misses its deadline D l. All released jobs are divided into two subsets: A = {Jobs with deadline equal or less than D l }, B = {Jobs with deadline greater than D l }. Choose t 0 as the later of the last idle point and the last scheduling point of any task in B. t 0 is set to 0 if no such point exists. Then the problem consists of two cases: Case 1: t 0 is 0 or an idle point From Lemma 4.1 and Lemma 4.3, we know the processor demand bound Demand [t0,d l ] is bounded as follows: (F + ˆF )(D l t 0 ) Demand [t0,d l ] > D l t 0 which contradicts Condition (1), n x i c i i R + ˆF 1. Case 2: t 0 is the last scheduling point of a job J b in B If t 0 is not in J b s critical section or t 0 is in a critical section but the modified deadline of J b is greater than D l, then any job in A can preempt J b. The analysis in Case 1 applies in this case. If t 0 is in J b s critical section for resource r k with the modified deadline less than D l, then job J l is unable to preempt J b before J b leaves its critical section. There are two subcases: Case 2a: J b is a RBE task In this case, the demand of RBE tasks Demand R [t 0,D l ] is bounded by i=b x i c i ; the demand of aperiodic tasks i=1 L 1 Demand A [t 0,D l ] is bounded by L ˆF ; and Demand [t0,d l ] Demand R [t 0,D l ] + DemandA [t 0,D l ] + c bk, where c bk is the size of the critical section. Thus, i=b L 1 x i c i +L y ˆF +c bk Demand [t0,d l ] > (D l t 0 ) i i=1 which contradicts Condition (2). Case 2b: J b is an aperiodic task Similar to Case 2a, the demand of RBE tasks Demand R [t 0,D l ] is bounded by i R L 1 x i c i ; the demand of aperiodic tasks Demand A [t 0,D l ] is bounded by L ˆF ; the critical section size is bounded by C bk. Thus, L 1 x i c i +L y ˆF +C bk Demand [t0,d l ] > (D l t 0 ) i T i R which contradicts Condition (3). In practice, the system utilization F + ˆF has to be less than 1. Otherwise, Condition (3) in Theorem 4.4 is unlikely to be satisfied. More simply, a task set is schedulable if its utilization is below a threshold as shown in Theorem 4.5.

9 Theorem 4.5. Let τ = R A, be a set of rate-based execution tasks and aperiodic tasks, that share a set of serially reusable, single unit resources {R 1,..., R m }. τ can be scheduled if its utilization ˆF + F 1 r y. where: ˆF is the processor fraction allocated to aperiodic requests F is the processor fraction allocated to RBE tasks r is an upper bound of critical sections s a lower bound of y parameters Proof: ˆF + F 1 r y Theorem 4.4. implies the three conditions in When r << y, Theorem 4.5 is more useful than Theorem 4.4 in that it can be easily checked and is not so loose that it becomes meaningless. 5 Performance Analysis Before implementing the algorithm, we simulated the operations on resource-sharing sets and measured the introduced overhead. The simulation is made on a 2GHz Pentium 4-M IBM Thinkpad T30. Our measurement employs the rdtsc instruction on the i386 architecture; the rdtsc instruction reads the time stamp counter which records the processor cycles since power-on. The resource-sharing set is implemented as a sorted linked list. Totally 100 tasks are simulated. Each task is randomly assigned a relative deadline. Since our main interest is on supporting mixed task set in general-purpose operating systems, we did our measurement on Redhat 8.0. Figure 4 shows the overhead to insert a task in a resource-sharing set with increasing size task set is below 1300, and the average is 591. The overhead to remove a task from the resource-sharing set is relatively constant, about 200 cycles, because the task being removed is always the first task in the resource-sharing list. On the same hardware, the Redhat mutex operations, pthread mutex lock and pthread mutex unlock, consume about 7000 and 3000 processor cycles respectively. Thus the overhead introduced by EDF-DCI is competitive with the Redhat mutex operations. Moreover, the EDF-DCI prevents prioritnversions and deadlock. 6 Summary The enhanced Rate-Based Execution (RBE) model presented in [10] was extended to support resource sharing between real-time and non-real-time applications. As in [10] the real-time applications were modeled as RBE tasks and the non-real-time applications were modeled as weightbased, variable-rate execution tasks. To support resource sharing in the enhanced RBE model, a Earliest-Deadline-First with Deadline-Ceiling- Inheritance (EDF-DCI) algorithm was developed. Instead of maintaining a ceiling for each resource as in PCP [18] or DPCP [3], each resource is associated with a dynamic task set whose members share that resource. Each resourcesharing task set has a dynamic deadline ceiling which is defined as the minimum relative deadline of all its current member tasks. The EDF-DCI algorithm uses the dynamic deadline ceiling to assign deadlines such that the mutual exclusion constraint on shared resources is maintained while preventing deadlock. To verify temporal correctness of a task set scheduled with the EDF-DCI algorithm, sufficient off-line schedulability conditions were provided. References processor cycles [1] Abeni, L., Buttazzo, G., Integrating Multimedia Appplications in Hard Real-Time Systems, Proc. IEEE Real-Time Systems Symp., Madrid, Spain, Dec [2] Baker, T.P., Stack-Based Scheduling of Real-Time Processes, The Journal of Real-Time Systems 3(1), pp , IEEE Computer Society Press # of tasks Figure 4. Overhead on Redhat-8.0. As we can see from Figure 4, with 100 tasks, the number of processor cycles required to insert a task into the sharing [3] Chen, M, Lin, K, Dynamic priority ceilings: A concurrency control protocol for real-time systems, Journal of Real-Time Systems, 2: , [4] Caccamo, M., Lipari, G., Buttazzo, G., Sharing Resource among Periodic and Aperiodic Tasks with Dynamic Deadlines, Proc. IEEE Real-Time Systems Symp., Phoenix, AZ, Dec

10 [5] Caccamo, M., Buttazzo, G., Sha, L., Capacity Sharing for Overrun Control, Proc. IEEE Real-Time Systems Symp., Orlando, FL, Dec [6] Caccamo, M., Sha, L., Aperiodic Servers with Resource Constraints, Proc. IEEE Real-Time Systems Symp., London, England, Dec [7] Deng, Z., Liu, J.W.S., Sun, J., A Scheme For Scheduling Hard Real-Time Applications in Open System Environment, In Proceedings of the Ninth Euromicro Workshop on Real-Time System, Toledo, Spain, June 1997, pp [8] Deng, Z., Liu, J.W.S., Scheduling Real-Time Applications in an Open Environment, Real-Time Systems Journal, vol. 16, no. 2/3, pp , May [9] Ghazalie, T. M., Baker, T. P., Aperiodic Servers in Deadline Scheduling Environment, Real-Time Systems Journal, vol. 9, no. 1, pp , [10] Goddard, S., Liu, X., Scheduling Aperiodic Requests under Rate-Based Execution model Proceesings of IEEE Real-Time System Symposium, December 2002, pp [11] Jeffay, K., Scheduling Sporadic Tasks with Shared Resources in Hard Real-Time Systems, Proceesings of IEEE Real-Time System Symposium, pp , December [12] Jeffay, K., Goddard, S., A Theory of Rate-Based Execution, Proceedings of the 20th IEEE Real-Time Systems Symposium, Phoenix, Arizona, December 1999, pp [13] Lamastra, G., Lipari, G., Abeni, L., A Bandwidth Inheritance Algorithm for Real-Time Task Synchronization in Open Systems, Proc. IEEE Real-Time Systems Symp., London, England, Dec [14] Lehoczky, J.P., Sha, L., and Strosnider, J.K., Enhanced Aperiodic Responsiveness in Hard Real-Time Environments, Proceedings of IEEE Real-Time Systems Symposium, pp , Dec [15] Lipari, G., Buttazzo, G., Schedulability Analysis of Periodic and Aperiodic Tasks with Resource Constrains, Journal of Systems Architecture, Vol. 46, No.4, pp , January [16] Lipari, G., Baruah, S., Greedy reclamation of unused bandwidth in constant-bandwidth servers, Proceedings of the EuroMicro Conferences on Real-Time Systems, pp , Stockholm, Sweden. June [17] Liu, C., Layland, J., Scheduling Algorithms for multiprogramming in a Hard-Real-Time Environment, Journal of the ACM, Vol 30., Jan. 1973, pp [18] Sha, L., Rajkumar, R., Lehoczky,J.P., Priority Inheritance Protocols: An Approach to Real-Time Synchronization, IEEE Transactions on Computers, September [19] Sprunt, B., Sha, L., Lehoczky, J.P., Aperiodic Task Scheduling for Hard Real-time Systems, Real-Time Systems Journal, vol 1, no. 1, pp , [20] Spuri, M., Buttazzo, G., Efficient Aperiodic Service Under the Earliest Deadline Scheduling, Proc. of the IEEE Symposium on Real-Time Systems, December [21] Spuri, M., Buttazzo, G., Sensini, F., Robust Aperiodic Scheduling Under Dynamic Priority Systems, Proc. of the IEEE Symposium on Real-Time Systems, December 1995.

Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks

Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks Moonju Park Ubiquitous Computing Lab., IBM Korea, Seoul, Korea mjupark@kr.ibm.com Abstract. This paper addresses the problem of

More information

Spare CASH: Reclaiming Holes to Minimize Aperiodic Response Times in a Firm Real-Time Environment

Spare CASH: Reclaiming Holes to Minimize Aperiodic Response Times in a Firm Real-Time Environment Spare CASH: Reclaiming Holes to Minimize Aperiodic Response Times in a Firm Real-Time Environment Deepu C. Thomas Sathish Gopalakrishnan Marco Caccamo Chang-Gun Lee Abstract Scheduling periodic tasks that

More information

CIS 4930/6930: Principles of Cyber-Physical Systems

CIS 4930/6930: Principles of Cyber-Physical Systems CIS 4930/6930: Principles of Cyber-Physical Systems Chapter 11 Scheduling Hao Zheng Department of Computer Science and Engineering University of South Florida H. Zheng (CSE USF) CIS 4930/6930: Principles

More information

Variable Rate Execution

Variable Rate Execution University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln CSE Technical reports Computer Science and Engineering, Department of 2004 Variable Rate Execution Steve Goddard University

More information

Real-Time Scheduling and Resource Management

Real-Time Scheduling and Resource Management ARTIST2 Summer School 2008 in Europe Autrans (near Grenoble), France September 8-12, 2008 Real-Time Scheduling and Resource Management Lecturer: Giorgio Buttazzo Full Professor Scuola Superiore Sant Anna

More information

The Rate-Based Execution Model

The Rate-Based Execution Model University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln CSE Technical reports Computer Science and Engineering, Department of 4-1-1999 The Rate-Based Execution Model Kevin Jeffay

More information

Resource-locking durations in EDF-scheduled systems

Resource-locking durations in EDF-scheduled systems Resource-locking durations in EDF-scheduled systems Nathan Fisher Marko Bertogna Sanjoy Baruah Abstract The duration of time for which each application locks each shared resource is critically important

More information

Response Time Analysis for Tasks Scheduled under EDF within Fixed Priorities

Response Time Analysis for Tasks Scheduled under EDF within Fixed Priorities Response Time Analysis for Tasks Scheduled under EDF within Fixed Priorities M. González Harbour and J.C. Palencia Departamento de Electrónica y Computadores Universidad de Cantabria 39-Santander, SPAIN

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems Luca Abeni luca.abeni@unitn.it Interacting Tasks Until now, only independent tasks... A job never blocks or suspends A task only blocks on job termination In real world, jobs

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2017 年 11 月 29 日 These slides use Microsoft clip arts. Microsoft copyright

More information

RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES

RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES Department for Embedded Systems/Real-Time Systems, University of Ulm {name.surname}@informatik.uni-ulm.de Abstract:

More information

A Theory of Rate-Based Execution. A Theory of Rate-Based Execution

A Theory of Rate-Based Execution. A Theory of Rate-Based Execution Kevin Jeffay Department of Computer Science University of North Carolina at Chapel Hill jeffay@cs cs.unc.edu Steve Goddard Computer Science & Engineering University of Nebraska Ð Lincoln goddard@cse cse.unl.edu

More information

Real Time Operating Systems

Real Time Operating Systems Real Time Operating ystems hared Resources Luca Abeni Credits: Luigi Palopoli, Giuseppe Lipari, and Marco Di Natale cuola uperiore ant Anna Pisa -Italy Real Time Operating ystems p. 1 Interacting Tasks

More information

Rate-monotonic scheduling on uniform multiprocessors

Rate-monotonic scheduling on uniform multiprocessors Rate-monotonic scheduling on uniform multiprocessors Sanjoy K. Baruah The University of North Carolina at Chapel Hill Email: baruah@cs.unc.edu Joël Goossens Université Libre de Bruxelles Email: joel.goossens@ulb.ac.be

More information

Clock-driven scheduling

Clock-driven scheduling Clock-driven scheduling Also known as static or off-line scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017

More information

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K.

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K. Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors Sanjoy K. Baruah Abstract In fixed-priority scheduling the priority of a job, once assigned,

More information

Resource Sharing Protocols for Real-Time Task Graph Systems

Resource Sharing Protocols for Real-Time Task Graph Systems Resource Sharing Protocols for Real-Time Task Graph Systems Nan Guan, Pontus Ekberg, Martin Stigge, Wang Yi Uppsala University, Sweden Northeastern University, China Abstract Previous works on real-time

More information

Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling

Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling Gang Yao, Giorgio Buttazzo and Marko Bertogna Scuola Superiore Sant Anna, Pisa, Italy {g.yao, g.buttazzo, m.bertogna}@sssup.it

More information

Scheduling periodic Tasks on Multiple Periodic Resources

Scheduling periodic Tasks on Multiple Periodic Resources Scheduling periodic Tasks on Multiple Periodic Resources Xiayu Hua, Zheng Li, Hao Wu, Shangping Ren* Department of Computer Science Illinois Institute of Technology Chicago, IL 60616, USA {xhua, zli80,

More information

Real-time scheduling of sporadic task systems when the number of distinct task types is small

Real-time scheduling of sporadic task systems when the number of distinct task types is small Real-time scheduling of sporadic task systems when the number of distinct task types is small Sanjoy Baruah Nathan Fisher Abstract In some real-time application systems, there are only a few distinct kinds

More information

Andrew Morton University of Waterloo Canada

Andrew Morton University of Waterloo Canada EDF Feasibility and Hardware Accelerators Andrew Morton University of Waterloo Canada Outline 1) Introduction and motivation 2) Review of EDF and feasibility analysis 3) Hardware accelerators and scheduling

More information

Lecture Note #6: More on Task Scheduling EECS 571 Principles of Real-Time Embedded Systems Kang G. Shin EECS Department University of Michigan

Lecture Note #6: More on Task Scheduling EECS 571 Principles of Real-Time Embedded Systems Kang G. Shin EECS Department University of Michigan Lecture Note #6: More on Task Scheduling EECS 571 Principles of Real-Time Embedded Systems Kang G. Shin EECS Department University of Michigan Note 6-1 Mars Pathfinder Timing Hiccups? When: landed on the

More information

3. Scheduling issues. Common approaches 3. Common approaches 1. Preemption vs. non preemption. Common approaches 2. Further definitions

3. Scheduling issues. Common approaches 3. Common approaches 1. Preemption vs. non preemption. Common approaches 2. Further definitions Common approaches 3 3. Scheduling issues Priority-driven (event-driven) scheduling This class of algorithms is greedy They never leave available processing resources unutilized An available resource may

More information

Rate Monotonic Analysis (RMA)

Rate Monotonic Analysis (RMA) Rate Monotonic Analysis (RMA) ktw@csie.ntu.edu.tw (Real-Time and Embedded System Laboratory) Major References: An Introduction to Rate Monotonic Analysis Tutorial Notes SEI MU* Distributed Real-Time System

More information

EDF Feasibility and Hardware Accelerators

EDF Feasibility and Hardware Accelerators EDF Feasibility and Hardware Accelerators Andrew Morton University of Waterloo, Waterloo, Canada, arrmorton@uwaterloo.ca Wayne M. Loucks University of Waterloo, Waterloo, Canada, wmloucks@pads.uwaterloo.ca

More information

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i Embedded Systems 15-1 - REVIEW: Aperiodic scheduling C i J i 0 a i s i f i d i Given: A set of non-periodic tasks {J 1,, J n } with arrival times a i, deadlines d i, computation times C i precedence constraints

More information

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013 Lecture 3 Real-Time Scheduling Daniel Kästner AbsInt GmbH 203 Model-based Software Development 2 SCADE Suite Application Model in SCADE (data flow + SSM) System Model (tasks, interrupts, buses, ) SymTA/S

More information

Task Models and Scheduling

Task Models and Scheduling Task Models and Scheduling Jan Reineke Saarland University June 27 th, 2013 With thanks to Jian-Jia Chen at KIT! Jan Reineke Task Models and Scheduling June 27 th, 2013 1 / 36 Task Models and Scheduling

More information

Scheduling Slack Time in Fixed Priority Pre-emptive Systems

Scheduling Slack Time in Fixed Priority Pre-emptive Systems Scheduling Slack Time in Fixed Priority Pre-emptive Systems R.I.Davis Real-Time Systems Research Group, Department of Computer Science, University of York, England. ABSTRACT This report addresses the problem

More information

Controlling Preemption for Better Schedulability in Multi-Core Systems

Controlling Preemption for Better Schedulability in Multi-Core Systems 2012 IEEE 33rd Real-Time Systems Symposium Controlling Preemption for Better Schedulability in Multi-Core Systems Jinkyu Lee and Kang G. Shin Dept. of Electrical Engineering and Computer Science, The University

More information

Semi-Partitioned Fixed-Priority Scheduling on Multiprocessors

Semi-Partitioned Fixed-Priority Scheduling on Multiprocessors Semi-Partitioned Fixed-Priority Scheduling on Multiprocessors Shinpei Kato and Nobuyuki Yamasaki Department of Information and Computer Science Keio University, Yokohama, Japan {shinpei,yamasaki}@ny.ics.keio.ac.jp

More information

Scheduling Periodic Real-Time Tasks on Uniprocessor Systems. LS 12, TU Dortmund

Scheduling Periodic Real-Time Tasks on Uniprocessor Systems. LS 12, TU Dortmund Scheduling Periodic Real-Time Tasks on Uniprocessor Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 08, Dec., 2015 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 38 Periodic Control System Pseudo-code

More information

Partitioned scheduling of sporadic task systems: an ILP-based approach

Partitioned scheduling of sporadic task systems: an ILP-based approach Partitioned scheduling of sporadic task systems: an ILP-based approach Sanjoy K. Baruah The University of North Carolina Chapel Hill, NC. USA Enrico Bini Scuola Superiore Santa Anna Pisa, Italy. Abstract

More information

Shared resources. Sistemi in tempo reale. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy

Shared resources. Sistemi in tempo reale. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy istemi in tempo reale hared resources Giuseppe Lipari cuola uperiore ant Anna Pisa -Italy inher.tex istemi in tempo reale Giuseppe Lipari 7/6/2005 12:35 p. 1/21 Interacting tasks Until now, we have considered

More information

EDF Scheduling. Giuseppe Lipari CRIStAL - Université de Lille 1. October 4, 2015

EDF Scheduling. Giuseppe Lipari  CRIStAL - Université de Lille 1. October 4, 2015 EDF Scheduling Giuseppe Lipari http://www.lifl.fr/~lipari CRIStAL - Université de Lille 1 October 4, 2015 G. Lipari (CRIStAL) Earliest Deadline Scheduling October 4, 2015 1 / 61 Earliest Deadline First

More information

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund Non-Preemptive and Limited Preemptive Scheduling LS 12, TU Dortmund 09 May 2017 (LS 12, TU Dortmund) 1 / 31 Outline Non-Preemptive Scheduling A General View Exact Schedulability Test Pessimistic Schedulability

More information

EDF Scheduling. Giuseppe Lipari May 11, Scuola Superiore Sant Anna Pisa

EDF Scheduling. Giuseppe Lipari   May 11, Scuola Superiore Sant Anna Pisa EDF Scheduling Giuseppe Lipari http://feanor.sssup.it/~lipari Scuola Superiore Sant Anna Pisa May 11, 2008 Outline 1 Dynamic priority 2 Basic analysis 3 FP vs EDF 4 Processor demand bound analysis Generalization

More information

An Improved Schedulability Test for Uniprocessor. Periodic Task Systems

An Improved Schedulability Test for Uniprocessor. Periodic Task Systems An Improved Schedulability Test for Uniprocessor Periodic Task Systems UmaMaheswari C. Devi Department of Computer Science, University of North Carolina, Chapel Hill, NC 27599-375 December 2002 Abstract

More information

Real-Time Systems. Event-Driven Scheduling

Real-Time Systems. Event-Driven Scheduling Real-Time Systems Event-Driven Scheduling Hermann Härtig WS 2018/19 Outline mostly following Jane Liu, Real-Time Systems Principles Scheduling EDF and LST as dynamic scheduling methods Fixed Priority schedulers

More information

Embedded Systems 14. Overview of embedded systems design

Embedded Systems 14. Overview of embedded systems design Embedded Systems 14-1 - Overview of embedded systems design - 2-1 Point of departure: Scheduling general IT systems In general IT systems, not much is known about the computational processes a priori The

More information

Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems

Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems Jan Reineke Saarland University July 4, 2013 With thanks to Jian-Jia Chen! Jan Reineke July 4, 2013 1 / 58 Task Models and Scheduling

More information

A Note on Modeling Self-Suspending Time as Blocking Time in Real-Time Systems

A Note on Modeling Self-Suspending Time as Blocking Time in Real-Time Systems A Note on Modeling Self-Suspending Time as Blocking Time in Real-Time Systems Jian-Jia Chen 1, Wen-Hung Huang 1, and Geoffrey Nelissen 2 1 TU Dortmund University, Germany Email: jian-jia.chen@tu-dortmund.de,

More information

Networked Embedded Systems WS 2016/17

Networked Embedded Systems WS 2016/17 Networked Embedded Systems WS 2016/17 Lecture 2: Real-time Scheduling Marco Zimmerling Goal of Today s Lecture Introduction to scheduling of compute tasks on a single processor Tasks need to finish before

More information

CSE 380 Computer Operating Systems

CSE 380 Computer Operating Systems CSE 380 Computer Operating Systems Instructor: Insup Lee & Dianna Xu University of Pennsylvania, Fall 2003 Lecture Note 3: CPU Scheduling 1 CPU SCHEDULING q How can OS schedule the allocation of CPU cycles

More information

Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks

Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat Mälardalen Real-Time Research Center, Mälardalen University,

More information

Online Energy-Aware I/O Device Scheduling for Hard Real-Time Systems with Shared Resources

Online Energy-Aware I/O Device Scheduling for Hard Real-Time Systems with Shared Resources Online Energy-Aware I/O Device Scheduling for Hard Real-Time Systems with Shared Resources Abstract The challenge in conserving energy in embedded real-time systems is to reduce power consumption while

More information

A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption

A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption Rohini Krishnapura, Steve Goddard, Ala Qadi Computer Science & Engineering University of Nebraska Lincoln Lincoln, NE 68588-0115

More information

TEMPORAL WORKLOAD ANALYSIS AND ITS APPLICATION TO POWER-AWARE SCHEDULING

TEMPORAL WORKLOAD ANALYSIS AND ITS APPLICATION TO POWER-AWARE SCHEDULING TEMPORAL WORKLOAD ANALYSIS AND ITS APPLICATION TO POWER-AWARE SCHEDULING Ye-In Seol 1, Jeong-Uk Kim 1 and Young-Kuk Kim 2, 1 Green Energy Institute, Sangmyung University, Seoul, South Korea 2 Dept. of

More information

Improved Priority Assignment for the Abort-and-Restart (AR) Model

Improved Priority Assignment for the Abort-and-Restart (AR) Model Improved Priority Assignment for the Abort-and-Restart (AR) Model H.C. Wong and A. Burns Department of Computer Science, University of York, UK. February 1, 2013 Abstract This paper addresses the scheduling

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University } 2017/11/15 Midterm } 2017/11/22 Final Project Announcement 2 1. Introduction 2.

More information

Bursty-Interference Analysis Techniques for. Analyzing Complex Real-Time Task Models

Bursty-Interference Analysis Techniques for. Analyzing Complex Real-Time Task Models Bursty-Interference Analysis Techniques for lemma 3 Analyzing Complex Real- Task Models Cong Liu Department of Computer Science The University of Texas at Dallas Abstract Due to the recent trend towards

More information

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling Real-Time Systems Lecture 6 Dynamic Priority Scheduling Online scheduling with dynamic priorities: Earliest Deadline First scheduling CPU utilization bound Optimality and comparison with RM: Schedulability

More information

An Improved Schedulability Test for Uniprocessor Periodic Task Systems

An Improved Schedulability Test for Uniprocessor Periodic Task Systems An Improved Schedulability Test for Uniprocessor Periodic Task Systems UmaMaheswari C. Devi Department of Computer Science, The University of North Carolina, Chapel Hill, NC Abstract We present a sufficient

More information

There are three priority driven approaches that we will look at

There are three priority driven approaches that we will look at Priority Driven Approaches There are three priority driven approaches that we will look at Earliest-Deadline-First (EDF) Least-Slack-Time-first (LST) Latest-Release-Time-first (LRT) 1 EDF Earliest deadline

More information

An Optimal Real-Time Scheduling Algorithm for Multiprocessors

An Optimal Real-Time Scheduling Algorithm for Multiprocessors An Optimal Real-Time Scheduling Algorithm for Multiprocessors Hyeonjoong Cho, Binoy Ravindran, and E. Douglas Jensen ECE Dept., Virginia Tech Blacksburg, VA 24061, USA {hjcho,binoy}@vt.edu The MITRE Corporation

More information

Static priority scheduling

Static priority scheduling Static priority scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017 Some slides are derived from lectures

More information

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Mitra Nasri Chair of Real-time Systems, Technische Universität Kaiserslautern, Germany nasri@eit.uni-kl.de

More information

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University 6 Scheduling Uwe R. Zimmer & Alistair Rendell The Australian National University References for this chapter [Bacon98] J. Bacon Concurrent Systems 1998 (2nd Edition) Addison Wesley Longman Ltd, ISBN 0-201-17767-6

More information

Real-Time Scheduling. Real Time Operating Systems and Middleware. Luca Abeni

Real-Time Scheduling. Real Time Operating Systems and Middleware. Luca Abeni Real Time Operating Systems and Middleware Luca Abeni luca.abeni@unitn.it Definitions Algorithm logical procedure used to solve a problem Program formal description of an algorithm, using a programming

More information

Non-preemptive Scheduling of Distance Constrained Tasks Subject to Minimizing Processor Load

Non-preemptive Scheduling of Distance Constrained Tasks Subject to Minimizing Processor Load Non-preemptive Scheduling of Distance Constrained Tasks Subject to Minimizing Processor Load Klaus H. Ecker Ohio University, Athens, OH, USA, ecker@ohio.edu Alexander Hasenfuss Clausthal University of

More information

The Feasibility Analysis of Multiprocessor Real-Time Systems

The Feasibility Analysis of Multiprocessor Real-Time Systems The Feasibility Analysis of Multiprocessor Real-Time Systems Sanjoy Baruah Nathan Fisher The University of North Carolina at Chapel Hill Abstract The multiprocessor scheduling of collections of real-time

More information

AS computer hardware technology advances, both

AS computer hardware technology advances, both 1 Best-Harmonically-Fit Periodic Task Assignment Algorithm on Multiple Periodic Resources Chunhui Guo, Student Member, IEEE, Xiayu Hua, Student Member, IEEE, Hao Wu, Student Member, IEEE, Douglas Lautner,

More information

Real-Time Systems. Event-Driven Scheduling

Real-Time Systems. Event-Driven Scheduling Real-Time Systems Event-Driven Scheduling Marcus Völp, Hermann Härtig WS 2013/14 Outline mostly following Jane Liu, Real-Time Systems Principles Scheduling EDF and LST as dynamic scheduling methods Fixed

More information

Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems

Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems Sangchul Han and Minkyu Park School of Computer Science and Engineering, Seoul National University, Seoul,

More information

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm Real-time operating systems course 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm Definitions Scheduling Scheduling is the activity of selecting which process/thread should

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 3 Real-Time Scheduling Dr. Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Model-based Software Development Generator Lustre programs Esterel programs

More information

Multiprocessor Scheduling I: Partitioned Scheduling. LS 12, TU Dortmund

Multiprocessor Scheduling I: Partitioned Scheduling. LS 12, TU Dortmund Multiprocessor Scheduling I: Partitioned Scheduling Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 22/23, June, 2015 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 47 Outline Introduction to Multiprocessor

More information

A New Sufficient Feasibility Test for Asynchronous Real-Time Periodic Task Sets

A New Sufficient Feasibility Test for Asynchronous Real-Time Periodic Task Sets A New Sufficient Feasibility Test for Asynchronous Real-Time Periodic Task Sets Abstract The problem of feasibility analysis for asynchronous periodic task sets (ie where tasks can have an initial offset

More information

Real-Time Systems. Lecture #14. Risat Pathan. Department of Computer Science and Engineering Chalmers University of Technology

Real-Time Systems. Lecture #14. Risat Pathan. Department of Computer Science and Engineering Chalmers University of Technology Real-Time Systems Lecture #14 Risat Pathan Department of Computer Science and Engineering Chalmers University of Technology Real-Time Systems Specification Implementation Multiprocessor scheduling -- Partitioned

More information

Lec. 7: Real-Time Scheduling

Lec. 7: Real-Time Scheduling Lec. 7: Real-Time Scheduling Part 1: Fixed Priority Assignment Vijay Raghunathan ECE568/CS590/ECE495/CS490 Spring 2011 Reading List: RM Scheduling 2 [Balarin98] F. Balarin, L. Lavagno, P. Murthy, and A.

More information

Task assignment in heterogeneous multiprocessor platforms

Task assignment in heterogeneous multiprocessor platforms Task assignment in heterogeneous multiprocessor platforms Sanjoy K. Baruah Shelby Funk The University of North Carolina Abstract In the partitioned approach to scheduling periodic tasks upon multiprocessors,

More information

Tardiness Bounds under Global EDF Scheduling on a. Multiprocessor

Tardiness Bounds under Global EDF Scheduling on a. Multiprocessor Tardiness Bounds under Global EDF Scheduling on a Multiprocessor UmaMaheswari C. Devi and James H. Anderson Department of Computer Science The University of North Carolina at Chapel Hill Abstract We consider

More information

Multiprocessor Scheduling of Age Constraint Processes

Multiprocessor Scheduling of Age Constraint Processes Multiprocessor Scheduling of Age Constraint Processes Lars Lundberg Department of Computer Science, University of Karlskrona/Ronneby, Soft Center, S-372 25 Ronneby, Sweden, email: Lars.Lundberg@ide.hk-r.se

More information

On Non-Preemptive Scheduling of Periodic and Sporadic Tasks

On Non-Preemptive Scheduling of Periodic and Sporadic Tasks On Non-Preemptive Scheduling of Periodic and Sporadic Tasks Kevin Jeffay * Donald F. Stanat University of North Carolina at Chapel Hill Department of Computer Science Charles U. Martel ** University of

More information

Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors

Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors Consistent * Complete * Well Documented * Easy to Reuse * Technical Report MPI-SWS-216-3 May 216 Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors (extended

More information

Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment

Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment C. Liu and J. Layland Journal of the ACM, 20(1):46--61, January 1973. 2 Contents 1. Introduction and Background 2. The Environment

More information

Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors

Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors Technical Report No. 2009-7 Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors RISAT MAHMUD PATHAN JAN JONSSON Department of Computer Science and Engineering CHALMERS UNIVERSITY

More information

Multiprocessor Real-Time Scheduling Considering Concurrency and Urgency

Multiprocessor Real-Time Scheduling Considering Concurrency and Urgency Multiprocessor Real-Time Scheduling Considering Concurrency Urgency Jinkyu Lee, Arvind Easwaran, Insik Shin Insup Lee Dept. of Computer Science, KAIST, South Korea IPP-HURRAY! Research Group, Polytechnic

More information

Multiprocessor Scheduling II: Global Scheduling. LS 12, TU Dortmund

Multiprocessor Scheduling II: Global Scheduling. LS 12, TU Dortmund Multiprocessor Scheduling II: Global Scheduling Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 28, June, 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 42 Global Scheduling We will only focus on identical

More information

CHAPTER 5 - PROCESS SCHEDULING

CHAPTER 5 - PROCESS SCHEDULING CHAPTER 5 - PROCESS SCHEDULING OBJECTIVES To introduce CPU scheduling, which is the basis for multiprogrammed operating systems To describe various CPU-scheduling algorithms To discuss evaluation criteria

More information

Schedulability analysis of global Deadline-Monotonic scheduling

Schedulability analysis of global Deadline-Monotonic scheduling Schedulability analysis of global Deadline-Monotonic scheduling Sanjoy Baruah Abstract The multiprocessor Deadline-Monotonic (DM) scheduling of sporadic task systems is studied. A new sufficient schedulability

More information

arxiv: v1 [cs.os] 6 Jun 2013

arxiv: v1 [cs.os] 6 Jun 2013 Partitioned scheduling of multimode multiprocessor real-time systems with temporal isolation Joël Goossens Pascal Richard arxiv:1306.1316v1 [cs.os] 6 Jun 2013 Abstract We consider the partitioned scheduling

More information

Dependency Graph Approach for Multiprocessor Real-Time Synchronization. TU Dortmund, Germany

Dependency Graph Approach for Multiprocessor Real-Time Synchronization. TU Dortmund, Germany Dependency Graph Approach for Multiprocessor Real-Time Synchronization Jian-Jia Chen, Georg von der Bru ggen, Junjie Shi, and Niklas Ueter TU Dortmund, Germany 14,12,2018 at RTSS Jian-Jia Chen 1 / 21 Multiprocessor

More information

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #7: More on Uniprocessor Scheduling

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #7: More on Uniprocessor Scheduling EECS 571 Principles of Real-Time Embedded Systems Lecture Note #7: More on Uniprocessor Scheduling Kang G. Shin EECS Department University of Michigan Precedence and Exclusion Constraints Thus far, we

More information

Paper Presentation. Amo Guangmo Tong. University of Taxes at Dallas February 11, 2014

Paper Presentation. Amo Guangmo Tong. University of Taxes at Dallas February 11, 2014 Paper Presentation Amo Guangmo Tong University of Taxes at Dallas gxt140030@utdallas.edu February 11, 2014 Amo Guangmo Tong (UTD) February 11, 2014 1 / 26 Overview 1 Techniques for Multiprocessor Global

More information

A New Task Model and Utilization Bound for Uniform Multiprocessors

A New Task Model and Utilization Bound for Uniform Multiprocessors A New Task Model and Utilization Bound for Uniform Multiprocessors Shelby Funk Department of Computer Science, The University of Georgia Email: shelby@cs.uga.edu Abstract This paper introduces a new model

More information

Necessary and Sufficient Conditions for Non-Preemptive Robustness

Necessary and Sufficient Conditions for Non-Preemptive Robustness Necessary and Sufficient Conditions for Non-Preemptive Robustness Wing-Chi Poon, Aloysius K. Mok Department of Computer Sciences, University of Texas at Austin, USA {wcpoon,mok}@cs.utexas.edu VMware Inc.,

More information

Module 5: CPU Scheduling

Module 5: CPU Scheduling Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 5.1 Basic Concepts Maximum CPU utilization obtained

More information

Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems

Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems Jian-Jia Chen *, Chuan Yue Yang, Tei-Wei Kuo, and Chi-Sheng Shih Embedded Systems and Wireless Networking Lab. Department of Computer

More information

Schedulability Analysis for the Abort-and-Restart (AR) Model

Schedulability Analysis for the Abort-and-Restart (AR) Model Schedulability Analysis for the Abort-and-Restart (AR) Model ABSTRACT H.C. Wong Real-Time Systems Research Group, Department of Computer Science, University of York, UK. hw638@york.ac.uk This paper addresses

More information

Competitive Algorithms for Fine-Grain Real-Time Scheduling

Competitive Algorithms for Fine-Grain Real-Time Scheduling Competitive Algorithms for Fine-Grain Real-Time Scheduling Michael A. Palis Department of Computer Science Rutgers University NJ 08102 palis@crab.rutgers.edu Abstract Thispaper investigates the task scheduling

More information

New On-Line Preemptive Scheduling Policies for Improving Real-Time Behavior

New On-Line Preemptive Scheduling Policies for Improving Real-Time Behavior New On-Line Preemptive Scheduling Policies for Improving Real-Time Behavior Mathieu Grenier, Nicolas Navet LORIA-INRIA Campus Scientifique, BP 239 54506 Vandoeuvre-lès-Nancy - France {grenier, nnavet}@loria.fr

More information

CPU Scheduling. CPU Scheduler

CPU Scheduling. CPU Scheduler CPU Scheduling These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of each

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 6.1 Basic Concepts Maximum CPU utilization obtained

More information

The Power of Isolation

The Power of Isolation The Power of Isolation Silviu S. Craciunas Christoph M. Kirsch Ana Sokolova Technical Report 211-2 July 211 Department of Computer Sciences Jakob-Haringer-Straße 2 52 Salzburg Austria www.cosy.sbg.ac.at

More information

The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems

The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems Zhishan Guo and Sanjoy Baruah Department of Computer Science University of North Carolina at Chapel

More information

Uniprocessor real-time scheduling

Uniprocessor real-time scheduling Uniprocessor real-time scheduling Julien Forget Université Lille 1 Ecole d Été Temps Réel - 30 Août 2017 Julien Forget (Université Lille 1) Uniprocessor real-time scheduling ETR 2017 1 / 67 Overview At

More information

Schedulability Bound for Integrated Modular Avionics Partitions

Schedulability Bound for Integrated Modular Avionics Partitions Schedulability Bound for Integrated Modular Avionics Partitions Jung-Eun Kim, Tarek Abdelzaher and Lui Sha University of Illinois at Urbana-Champaign, Urbana, IL 682 Email:{jekim34, zaher, lrs}@illinois.edu

More information

The FMLP + : An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis

The FMLP + : An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis The FMLP + : An Asymptotically Optimal Real-Time Locking Protocol for Suspension-Aware Analysis Björn B. Brandenburg Max Planck Institute for Software Systems (MPI-SWS) Abstract Multiprocessor real-time

More information

Optimality Results for Multiprocessor Real-Time Locking

Optimality Results for Multiprocessor Real-Time Locking Optimality Results for Multiprocessor Real-Time Locking Björn B. Brandenburg and James H. Anderson Department of Computer Science, University of North Carolina at Chapel Hill Abstract When locking protocols

More information