
- •Introduction
- •Applications of Real-Time Systems
- •Voltage
- •Figure 7: Conversion of an Analog Signal to a 16 bit Binary Number
- •Figure 11: Schematic Representation of tmr
- •It is relatively simple to design a hardware equipment to be fault-tolerant. The following are two methods that are popularly used to achieve hardware fault-tolerance:
- •Software Fault-Tolerance Techniques
- •Types of Real-Time Tasks
- •Timing Constraints
- •Events in a Real-Time System
- •Figure 16: Delay Constraint Between Two Events el and e2
- •Examples of Different Types of Timing Constraints
- •Figure 19: Classification of Timing Constraints
- •Real-Time Task Scheduling
- •Figure 1: Relative and Absolute Deadlines of a Task
- •Figure 2: Precedence Relation Among Tasks
- •Types of Real-Time Tasks and Their Characteristics
- •Classification of Real-Time Task Scheduling Algorithms
- •Figure 5: An Example Schedule Table for a Cyclic Scheduler
- •Figure 6: Major and Minor Cycles in a Cyclic Scheduler
- •Comparison of Cyclic with Table-Driven Scheduling
- •Hybrid Schedulers
- •Event-driven Scheduling
- •Is edf Really a Dynamic Priority Scheduling Algorithm?
- •Implementation of edf
- •Figure 10: Priority Assignment to Tasks in rma
- •We now illustrate the applicability of the rma schodulability criteria through a few examples.
- •Deadline Monotonic Algorithm (dma)
- •Handling Aperiodic and Sporadic Tasks
- •Dealing With Task Jitter
- •W Good real-time task scheduling algorithms ensure fairness to real-time tasks while scheduling.
- •State whether the following assertions are True or False. Write one or two sentences to justify your choice in each case.
- •Figure 2: Unbounded Priority Inversion
- •Highest Locker Protocol(hlp)
- •Priority Ceiling Protocol (pcp)
- •Comparison of Resource Sharing Protocols
- •Handling Task Dependencies
- •Fault-Tolerant Scheduling of Tasks
- •Clocks in Distributed Real-Time Systems
- •Clock Synchronization
- •Figure 1: Centralized synchronization system
- •Cn Slave clocks
- •Commercial Real-Time Operating Systems
- •Time Services
- •Clock Interrupt Processing
- •Providing High Clock Resolution
- •Figure 2: Use of a Watchdog Tinier
- •Unix as a Real-Time Operating System
- •In Unix, dynamic priority computations cause I/o intensive tasks to migrate to higher and higher priority levels, whereas cpu-intensive tasks are made to seek lower priority levels.
- •Host-Target Approach
- •Preemption Point Approach
- •Self-Host Systems
- •Windows As a Real-Time Operating System
- •Figure 9: Task Priorities in Windows nt
- •Open Software
- •Genesis of posix
- •Overview of posix
- •Real-Time posix Standard
- •Rt Linux
- •7.8 Windows ce
- •Benchmarking Real-Time Systems
- •Figure 13: Task Switching Time Among Equal Priority Tasks
- •Real-Time Communication
- •Figure 2: a Bus Architecture
- •Figure 4: Logical Ring in a Token Bus
- •Soft Real-Time Communication in a lan
- •Figure 6: Priority Arbitration Example
- •Figure 8: Problem in Virtual Time Protocol
- •Figure 9: Structure of a Token in ieee 802.5
- •Figure 10: Frames in the Window-based Protocol
- •Performance Comparison
- •A Basic Service Model
- •Traffic Characterization
- •Figure 16: Constant Bit-Rato Traffic
- •Routing Algorithms
- •Resource Reservation
- •Resource Reservation Protocol (rsvp)
- •Traffic Shaping and Policing
- •Traffic Distortion
- •Traffic Scheduling Disciplines
- •Figure 20: Packet Service in Jittor-edd
- •Differentiated Services
- •Functional Elements of DiffServ Architecture
- •Real Time Databases
- •Isolation: Transactions are executed concurrently as long as they do not interfere in each other’s computations.
- •Real-Time Databases
- •Real-Time Database Application Design Issues
- •Temporal Consistency
- •Concurrency Control in Real-Time Databases
- •It can bo shown that pcp is doadlock froo and single blocking. Rocolloct that single blocking moans that once a transaction starts executing after being blocked, it may not block again.
- •Speculative Concurrency Control
- •Comparison of Concurrency Control Protocols
- •Commercial Real-Time Databases
- •Figure 16: Uniform Priority Assignment to Tasks of Example 15
- •Version 2 cse, iit Kharagpur
Figure 10: Priority Assignment to Tasks in rma
(a) (b)
Necessary Condition: A set of periodic real-time tasks would not be RMA schedulable unless they satisfy the following necessary condition:
П П
i=i p% i= l
where сц is the worst case execution time and pi is the period of the task Ti, n is the number of tasks to be scheduled, and щ is the CPU utilization due to the task Tj. This test simply expresses the fact that the total CPU utilization due to all the tasks in the task set should be less than 1.
Sufficient Condition: The derivation of the sufficiency condition for RMA schedulability is an important result and was obtained by Liu and Layland in 1973 [1]. A formal derivation of the Liu and Layland’s results from first principles is beyond the scope of this book. The interested reader is referred to [2] for a formal treatment of this important result. We would subsequently refer to the sufficiency as the Liu and Layland’s condition. A set of n real-time periodic tasks are schedulable under RMA, if
(2.10)
i=1
where щ is the utilization due to task Tj. Let us now examine the implications of this result. If a set of tasks satisfies the sufficient condition, then it is guaranteed that the set of tasks would be RMA schedulable.
Similarly,
for n=2 we get
For
n=3 we get
<
1(2T - 1),
or
53 < 1
i=1
i=
1
2
2
53
Uj
< 2(2* -1),
or
53 M,
< O-824
i=1
i=
1
3
3
Y^iH
<
3(2* - 1),
i=
1
or
53 «,<0.78
i=1
Consider
the case where there is only one task in the system, i.e. n=l.
Substituting n=l in Expr (2.10), we get
When n—^ oc wo got
OO OO
Ui < oc(2“ — 1 ),or ^2 щ <= oc.O i= 1 i= 1
Evahmtion of Expr. 2.10 whon n—> oc involvos an indotorminato expression of tho typo oc.O. By applying L’HospitaPs rulo wo can vorify that tho right hand side of the expression evaluates to loge2= 0.692. From the above computations, it is clear that the maximum CPU utilization that can be achieved under RMA is 1. This is achieved when there is only a single task in the system. As the number of tasks increases, the achievable CPU utilization falls and as n ->• oc the achievable utilization stabilizes at loge 2, which is approximately 0.692. This is pictorially shown in Fig
We now illustrate the applicability of the rma schodulability criteria through a few examples.
Figure
11: Achievable Utilization with the Number of Tasks under RMA
Example 2.7: Check whether the following set of periodic real-timo tasks is schodulablo under RMA on a uniprocessor: г^о^го^юо), Т2=(г2=Ж,р2=Ш), г3=(р3=60,р3=200).
Solution: Let us first compute the total CPU utilization achieved due to the three given tasks.
%=1
Щ ~ 100 + 150 + 200 “ '
This is less than 1, therefore the necessary condition for schodulability of tho tasks is satisfied. Now checking for the sufficiency condition, the task set is schodulablo under RMA if Liu and Layland’s condition given by Expr. 2.10 is satisfied. Checking for satisfaction of Expr. 2.10, the maximum achievable utilization is given by: 3(2з — 1) = 0.78. The total utilization has already boon found to be 0.7. Now substituting these in the Liu and Layland’s criterion: ELi Щ < 3(2? - 1), we get 0.7 < 0.78. '
Expr. 2.10 which is a sufficient condition for RMA schodulability is satisfied. Therefore, the task set is RMA schodulablo. n
Example 2.8: Chock whether the following set of three periodic real-timo tasks is schodulablo under RMA on a uniprocessor: Ti=(«i=20,pi=100), T2=(«2=30,p2=150), T3=(«3=90,.p3=200).
Solution:
Let us first compute the total CPU utilization due to the given task set:
1 What is Real Time? 2
2 Applications of Real-Time Systems 2
3 A Basic Model of a Real-Time System 10
4 Characteristics of Real-Time Systems 13
5 Safety and Reliability 15
6 Types of Real-Time Tasks 19
7 Timing Constraints 22
8 Modelling Timing Constraints 28
SUMMARY 31
EXERCISES 32
References 35
Real-Time Task Scheduling 1
1 Some Important Concepts 1
■© 5
2 Types of Real-Time Tasks and Their Characteristics 5
3 Task Scheduling 7
4 Clock-Driven Scheduling 9
(20,2,20), T3.3 = (20,2,20). 16
5 Hybrid Schedulers 17
6 Event-driven Scheduling 17
щ + У]Г—1 x Rk < Pi ••• (2-12) 33
-e-e 1 36
о о о о 6- 36
Scheduling Real-Time Tasks in Multiprocessor and Distributed Systems 1
Commercial Real-Time Operating Systems 108
Real-Time Communication 139
/" T 1 7
1=1
Now checking for Liu and Layland criterion: E’3=i u* ^ 0.78; since 0.85 ^ 0.78, the task set is not RMA schodulablo.
□
Liu and Layland tost (Expr. 2.10) is pessimistic in tho following sonso.
If a task set passes the Liu and Layland test, then it is guaranteed to be RMA schedulable. On the other hand, even if a task set fails the Liu and Layland test, it may still be RMA schedulable.
It follows from this that ovon whon a task sot fails Liu and Layland’s tost, wo should not conclude that it is not schedulable under RMA. We need to test further to check if the task set is RMA schedulable. A test that can be performed to check whether a task set is RMA schedulable when it fails the Liu and Layland test is the Lehoczky’s tost [3].
Lohoczky test has boon expressed as Theorem 2.3.
Theorem 2. 3. A set of periodic real-time tasks is RMA schedulable under any task phasing, iff all the tasks meet their respective first deadlines under zero phasing.
T1
T2
T1
T2
T1
T2
-
10 30 40 60 70 90 time in msec
(a)
T1 is in phase with T2
T2
T1
T2
T1
T2
>
20 30 50 60 80 time in msec
(b)
T1 has a 20 msec phase with respect to T2
Figure 12: Worst Case Response Time for a Task Occurs When It is in Phase with Its Higher Priority Tasks
A formal proof of this Theorem is beyond the scope of this book. However, we provide an intuitive reasoning as to why Theorem 2.3 must be true. For a formal proof of the Lohoczky’ results the reader is referred to [3]. Intuitively, we can understand this result from the following reasonings. First let us try to understand the following fact.
The worst case response time for a task occurs when it is in phase with its higher priority tasks.
To see why this statement must be true, consider the following statement. Under RMA whenever a higher priority task is ready, the lower priority tasks can not execute and have to wait. This implies that, a lower priority task will have to wait for the entire duration of execution of each higher priority task that arises during the execution of the lower priority task. More number of instances of a higher priority task will occur, when a task is in phase with it,
when it is in phase with it rather than out of phase with it. This has been illustrated through a simple example in Fig. 12. In Fig. 12(a), a higher priority task Tl=(10,30) is in phase with a lower priority task T2=(60,120), the response time of T2 is 90 msec. However, in Fig. 12(b), when T1 has a 20 msec phase, the response time of T2 becomes 80. Therefore, if a task meets its first deadline under zero phasing, then they it will meet all its deadlines.
A deadline for T1
T1
20
T1 meets its first deadline
deadline for T2
T1
150
T2 meets its first deadline
deadline for T3
t
T1
T2
T3
T1
T2
T3
20 50 100 120 150 190
(c)
T3 meets its first deadline
Figure 13: Checking Lehoczky’s Criterion for Tasks of Example 2.9 Example 2.9: Check whether the task set of Example 2.8 is actually schedulable under RMA.
Solution: Though the results of Liu and Layland’s test were negative, as per the results of Example 2.8 we can apply the Lehoczky test and observe the following:
For the task T\: e\ < p\ holds since 20wiser < lOOmssr. Therefore, it would meet its first deadline (it does not have any tasks that have higher priority).
For the task 12: T\ is its higher priority task and considering 0 phasing, it would occur once before the deadline of T-2. Therefore, («[ + e2) < P2 holds since 20 + 30 = 50msec < 150msec. Therefore, T2 meets its first deadline.
For the task T3: (2ел + 2e,2 + e.3) < p3 holds, since 2 * 20 + 2 * 30 + 90 = 190ms«c < 200ms«c. We have considered 2*«i and 2*e2 since T\ and T2 occur twice within the first deadline of T3. Therefore, T3 meets its first deadline. So, the given task set is schedulable under RMA. The schedulability test for T3 has pictorially been shown in Fig. 13. Since all the tasks meet their first deadlines under zero phasing, they are RMA schedulable according to Lehoczky’s results.
Let us now try to derive a formal expression for this important result of Lehoczky. Let {Ti ,T2,. Т{\ be the set
of tasks to be scheduled. Let us also assume that the tasks have been ordered in descending order of their priority. That is, task priorities are related as: jn'i(T\) > pri(T2) > ... > pri(Ti), where pri(I;) denotes the priority of the
T1(1)
T1(2)
T1(3)
3s-
Figure
14: Instances of T\
Over a Single Instance of Ti
task Ti. Observe that the task T\ has the highest priority and task T* has the least priority. This priority ordering can be assumed without any loss of generalization since the required priority ordering among an arbitrary collection of tasks can always be achieved by a simple renaming of the tasks. Consider that the task Ti arrives at the time instant 0. Consider the example shown in Fig. 14. During the first instance of the task Ti, three instances of the task T\ have occurred. Each time T\ occurs, T; has to wait since T\ has higher priority than T\.
Let us now determine the exact number of times that T\ occurs within a single instance of T*. This is given by [|j-]. Since T\’s execution time is e,\, then the total execution time required due to task T\ before the deadline of Ti is [^-] x r\. This expression can easily be generalized to consider the execution times all tasks having higher priority than Ti (i.e. T\,T2, ■ ■ ■ ,2Vi). Therefore, the time for which Ti will have to wait due to all its higher priority tasks can be expressed as:
jrr-lx*’* ...(2.11)
ы Pk
Expression 2.11 gives the total time required to execute TVs higher priority tasks for which Ti would have to wait.
So, the task Ti would meet its first deadline, iff
i—1
щ + У]Г—1 x Rk < Pi ••• (2-12)
tl Pk
That is, if the sum of the execution times of all higher priority tasks occurring before TVs first deadline, and the execution time of the task itself is less than its period pi, then Ti would complete before its first deadline. Note that in Expr. 2.12 we have implicitly assumed that the task periods equal their respective deadlines, i.e. p.; = <£;. If Pi < di, then the Expr. 2.12 would need modifications as follows.
i — 1 ,
(’i + VPl xpk <di ... (2.13)
tl Pk
Note that even if Expr. 2.13 is not satisfied, there is some possibility that the task set may still be schedulable. This might happen because in Expr. 2.13 we have considered zero phasing among all the tasks, which is the worst case. In a given problem, some tasks may have non-zero phasing. Therefore, even when a task set narrowly fails to meet Expr 2.13, there is some chance that it may in fact be schedulable under RMA. To understand why this is so, consider a task set where one particular task T* fails Expr. 2.13, making the task set unschodulablo. The task misses its deadline when it is in phase with all its higher priority task. However, when the task has non-zero phasing with at least some of its higher priority tasks, the task might actually meet its first deadline contrary to any negative
Let us now consider two examples to illustrate the applicability of the Lehoczky’s results.
Example 2.10: Consider the following set of three periodic real-time tasks: T\ = (10,20), T2 = (15,60), T3 = (20,120) to be run on a uniprocessor. Determine whether the task set is schodulablo under RMA.
Solution: First let us try the sufficiency test for RMA schodulability. By Expr. 2.10 (Liu and Layland tost), tho task sot is schodulablo if ^
Ей; = 10/20+ 15/60+ 20/120 = 0.91
This is greater than 0.78. Therefore, the given task set fails Liu and Layland test. Since Expr. 2.10 is a pessimistic test, we need to test further.
Let us now try Lehoczky’s test. All the tasks T\,T2,T3 are already ordered in decreasing order of their priorities. Testing for task T\: Since =10 msec is less than di=20 msec. Therefore T\ would moot its first deadline.
Testing for task T2: 10 + [§§] x 10 < 60 or, 20 + 30 = 50 < 60 This is satisfied. Therefore, T2 would moot its first deadline.
Testing for Task T3: 20 + [^] x 10 + x 15] = 20 + 60 + 30 = 110msec This is less than T3 s deadline of 120. Therefore T3 would moot its first deadline.
Since all the three tasks moot their respective first deadlines, the task set is RMA schodulablo according to Lohoczky’s results. □
Example 2.11: RMA is used to schedule a set of periodic hard real-timo tasks in a system. Is it possible in this system that a higher priority task misses its deadline, whereas a lower priority task moots its deadlines? If your answer is negative, prove your assertion. If your answer is affirmative, give an example involving two or three tasks scheduled using RMA where the lower priority task moots all its deadlines whereas the higher priority task misses its deadline.
Solution: Yes. It is possible that under RMA a higher priority task misses its deadline where as a lower priority task moots its deadline. We show this by constructing an example. Consider the following task set: T\ = (e.\ = 15msec,p! = 20msec), T2 = (e2 = 6msec,p2 = 35msec), T3 = (e3 = 3msec,p3 = lOOm.s^c). For the given task set, it is easy to observe that pri(T\) > jn'i(T2) > jn'i(T3). That is, T\,T2,T3 are ordered in decreasing order of their priorities.
For this task set, T3 moots its deadline according to Lehoczky’s test since e3 + ([^|] x e2) + ([^] x ел) =
3 + 3 * 6 + 5 * 15 = 96 < 100. But, T2 does not moot its deadline since, e2 + \Щ~] x e.\ = 6 + 2 * 15 = 36, which is greater than the deadline of T2.
As a consequence of the results of Example 11, by observing that the lowest priority task of a given task set moots its first deadline, we can not conclude that the entire task set is RMA schodulablo. On tho contrary, it is necessary to check each task individually as to whether it moots its first deadline under zero phasing. If one finds that the lowest priority task moots its deadline, and concludes from this that the entire task set would be feasibly scheduled under RMA is likely to be flawed.
Can The Achievable CPU Utilization Be Any Better Than What Was Predicted?
Liu and Layland’s results (Expr. 2.10) bounded the CPU utilization below which a task set would be schodulablo. It is clear from Expr. 2.10 and Fig. 10 that the Liu and Layland schodulability criterion is conservative and restricts the maximum achievable utilization due to any task set which can be feasibly scheduled under RMA to 0.69 when
the number of tasks in the task set is large. However, (as you might have already guessed) this is a pessimistic figure. In fact, it has been found experimentally that for a large collection of tasks with independent periods, the maximum utilization below which a task set can feasibly be scheduled is on the average close to 88%.
For harmonic tasks, the maximum achievable utilization (for a task set to have a feasible schedule) can still be higher. In fact, if all the task periods are harmonically related, then even a task set having 100% utilization can be feasibly scheduled. Let us first understand when are the periods of a task set said to be harmonically related. The task periods in a task set are said to be harmonically related, iff for any two arbitrary tasks Ti and T* in the task set, whenever p.; > p*, it should imply that p.; is an integral multiple of p*. That is, whenever p.; > p*, it should be possible to express p* as n x p* for some integer n > 1. In other words, p* should squarely divide p.j. An example of a harmonically related task set is the following: T\=(b msec,30 msec), T2=(8 msec,120 msec), T3=(12 msec,60 msec).
It is easy to prove that a harmonically related task set with even 100% utilization can feasibly be scheduled. Theorem 2. 4. For a set of harmonically related tasks HS={Ti}, the RMA schedulability criterion is given by
ProofiLot us assume that T\,T2,... ,Tn be the tasks in the given task set. Let us further assume that the tasks in the task set T\,T2, ...,Tn have been arranged in increasing order of their periods. That is, for any i and j, p* < pj whenever i < j. If this relationship is not satisfied, then a simple renaming of the tasks can achieve this. Now according to Expr. 2.14, a task T* meets its deadline, if ^ Г£4 * Rk <Pi • • • (2.14)
However, since the task set is harmonically related, pi can be written as m *pu for some m. Using this, [^] = Now, Expr. 2.12 can be written as: + ~ *Rk < Pi- For I; = Tn, we can write, «П + У'?_1 — < pn. Divid-
Pk — ™ Pk
ing both sides of this expression by pn we get the required result, the task set would be schedulable iff У'Г-г ir < 1;
Pk
or EILi «< < L
Some Issues Associated With RMA
In this section, we address some miscellaneous issues associated with RMA scheduling of tasks. We first discuss the advantages and disadvantages of using RMA for scheduling real-time tasks. We then discuss why RMA no longer is optimal when task deadlines differ from the corresponding task periods.
Advantages and Disadvantages of RMA
In this section we first discuss the important advantages of RMA over EDF. We then point out some disadvantages of using RMA. As we had pointed out earlier, RMA is very commonly used for scheduling real-time tasks in practical applications. Basic support is available in almost all commercial real-time operating systems for developing applications using RMA. RMA is simple and efficient. RMA is also the optimal static priority task scheduling algorithm. Unlike EDF, it requires very few special data structures. Most commercial real-time operating systems support real-time (static) priority levels for tasks. Tasks having real-time priority levels are arranged in multilevel feedback queues (see Fig. 15). Among the tasks in a single level, these commercial real-time operating systems generally provide an option of either time slicing and round robin scheduling or FIFO scheduling. We also discuss in the next chapter why this choice of scheduling among equal priority tasks has an important bearing on the resource sharing protocols.
RMA Transient Overload Handling: RMA possesses good transient overload handling capability. Good transient overload handling capability essentially means that when a lower priority task does not complete within its planned completion time, can not make any higher priority task to miss its deadline. Let us now examine how transient overload would affect a set of tasks scheduled under RMA. Will a delay in completion by a lower priority
-e-e 1
"0 2-
3
ООО
4-
о
о о о
6-
Figure 15: Multi-Level Feedback Queue
task affect a higher priority task? The answer is: “No”. A lower priority task even when it exceeds its planned execution time cannot make a higher priority task wait according to the basic principles of RMA — whenever a higher priority task is ready, it preempts any executing lower priority task. Thus, RMA is stable under transient overload and a lower priority task overshooting its completion time can not make a higher priority task to miss its deadline.
The disadvantages of RMA include the following: It is very difficult to support aperiodic and sporadic tasks under RMA. Further, RMA is not optimal when task periods and deadlines differ.