Real-time concepts Lin Zhong ELEC424, Fall 2010 Real time Non real-time Soft real-time Hard real-time • Correctness – Logical correctness – Timing • Hard vs. Soft – Hard: lateness is intolerable • Pass/Fail courses – Soft: lateness can be tolerated but penalized • Regular courses 2 Example real-time systems • Hard real-time systems – Target acquisition system on jet fighters – Electronic engine control unit • Fuel injection • Ignition timing – Anti-lock braking system (ABS) – Air traffic control – Reservation system • ……… 3 Example real-time systems • Soft real-time system – Media player – WiFi interface card 4 Model of a system Key question • Can the system finish the requests in time? (Feasibility analysis) Arrival of requests Execution of tasks 5 Key variables • Execution of requests – Predictability • Probabilistic distribution of execution time – Range: Worst case execution time • Arrival of requests – Predictability • Probabilistic distribution of arrival intervals – Range: worst case 6 Tasks: unit of scheduling • OS-based real-time system – Process, threads • OS-less real-time system – Interrupt handlers • Periodic vs. Aperiodic 7 Model of a system Task 2 Task 1 • Feasibility analysis Execution of tasks 8 Assumptions • There are multiple tasks – ti, i=1,…,m • Tasks are periodic – Ti – Each occurrence is called a request • Execution time for each task is known – Ci • Pre-emptive • Tasks are prioritized • Task switching is instant Liu, C. L.; Layland, J. (1973), "Scheduling algorithms for multiprogramming in a hard real-time environment", Journal of the ACM 20 (1): 46–61 9 Scheduling Priority assignment 10 Definition of feasibility Pre-empted C1 Task 1 T1 C2 Task 2 T2 Every request of every task is finished before the next request of the task 11 Feasibility analysis Given a set of tasks, how do we know if a feasible scheduling exists? • Sufficient condition • Necessary condition 12 Fixed priority scheduling • Each task has a fixed priority • Rate monotonic scheduling (RMS) – Higher request rate (1/T) Higher priority 13 Theorem of RMS optimality • A scheduling of a set of tasks is feasible if deadlines of all requests are met • Given a set of tasks, If a feasible scheduling exists, the rate-monotonic scheduling is feasible • RMS is the best in terms of feasibility – Give high priority tasks to high-rate tasks 14 Feasibility analysis Given a set of tasks, how do we know if a feasible scheduling exists? • Sufficient condition • Necessary condition Given a set of tasks, how do we know if the RMS is feasible? 15 Necessary condition • Utilization of a system=(busy time)/(total time) • Utilization factor for a set of tasks – UF =Σ(Ci/Ti) • Necessary condition of feasibility – UF≤1 Can we make the bound for necessary condition smaller? 16 Sufficient condition • Theorem: if UF ≤ m(21/m-1), the set of tasks are feasible – m(21/m-1)ln(2)≈0.69 • The bound is TIGHT – There exists infeasible sets whose UF m(21/m-1) • The opposite is NOT true – Average real utilization factors of feasible sets is about 88% • Theorem: if ∏(Ci/Ti+1) ≤2, the set of tasks are feasible – Less pessimistic Enrico Bini, Giorgio C. Buttazzo, Giuseppe M. Buttazzo, "Rate Monotonic Analysis: The Hyperbolic Bound," IEEE Transactions on Computers, vol. 52, no. 7, pp. 933-942, July, 2003. 17 Dynamic priority scheduling • Earliest deadline first (EDF) – Higher priority to requests with earlier deadline • The sufficient and necessary condition of feasibility – UF≤1 18 Assumptions • There are multiple tasks – ti, i=1,…,m • Tasks are periodic – Ti – Each occurrence is called a request ? • Execution time for each task is known – Ci • Pre-emptive • Tasks are prioritized • Task switching is instant 19 Synchronization Pre-empted C1 Task 1 T1 C2 Task 2 T2 20 Synchronization • Task 1 – A[0] accelerometer – B[0] A[0] • Task 2 – If(A[0]!=B[0) exit LD R13, (A[0]); LD R14, (B[0]) ; CMP R13, R14; JEQ EXIT 21 Synchronization (Contd.) • Critical section – Section of code that access a shared resource that must not be concurrently accessed by more than one thread of execution • Atomic operation – A set of operations that appears to be one to the system • System state change due to the operations invisible until all the operations are successful • If any of the operations fails, the entire set fails; and no change to the system state – Assembly instruction – Disable interrupt 22 Lock-based synchronization • Lock – Limited access to critical section • Task 1 – Lock(); A[0] accelerometer; – B[0] A[0]; – Unlock(); • Task 2 – Lock(); If(A[0]!=B[0) exit; unlock(); 23 Lock implementation • Lock() and unlock() must be atomic – A bit – Lock() • • • • Disable interrupt check if the bit is set if not, set it and enable interrupt; else enable interrupt and wait; – Unlock() • Disable interrupt • unset the bit; • Enable interrupt 24 Lock implementation (Contd.) • Lock() – – – – Disable interrupt check if the bit is set if not, set it and enable interrupt; else enable interrupt and wait; • Spinning – Keep on calling lock() • Block – Sleep – The OS checks the bit and wake the blocked thread up to call lock() 25 Lock implementation (Contd.) • Task 1 – Lock(); A[0] accelerometer; – B[0] A[0]; – Unlock(); • Task 2 – Lock(); If(A[0]!=B[0) exit; unlock(); Why don’t we simply replace lock() with disable_interrupt and unlock() with enable_interrupt? 26 Programming primitives • Semaphore – A data structure for lock – Allow multiple access to the data structure • Mutex – Binary semaphore • Usually blocking 27 Problems with locks • Priority inversion – A low-priority task has the lock but has been preempted by a high-priority one • Deadlock – Two tasks each are holding a lock that is needed by the other • Convoying – Multiple threads with equal priority contend for the same lockToo many context switches 28 Transaction memory • Transaction WWW – A series of speculated operations – Commit or abort • Implementation – Hardware – Software WWW Herlihy, M. and Moss, J. E. 1993. Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News 21, 2 (May. 1993), 289-300 29 OS-less real-time system • Latency in interrupt handling – Predictable • Arrival of interrupts – Predictable (Periodic) – Unpredictable (Aperiodic) System idle Interrupt Interrupt • Any statistics? • Worst case? TimerA() USARTRX() Interrupt handlers 30 Real-time operating system (RTOS) • Interrupt latency WWW – Interrupt controller – Interrupt masking – OS interrupt handling • Thread switching latency 31
© Copyright 2026 Paperzz