130 likes | 264 Views
CprE 458/558: Real-Time Systems. Some Scheduling Results. Understanding Fundamentals. Understanding the boundary between polynomial and NP-complete problems can provide insights into developing useful heuristics.
E N D
CprE 458/558: Real-Time Systems Some Scheduling Results CprE 458/558: Real-Time Systems (G. Manimaran)
Understanding Fundamentals • Understanding the boundary between polynomial and NP-complete problems can provide insights into developing useful heuristics. • Understanding the algorithms that achieve some of the polynomial results can again provide basis for developing heuristics. CprE 458/558: Real-Time Systems (G. Manimaran)
Understanding Fundamentals (cont.) • Understanding the fundamental limitations of on-line algorithms will help designers avoid scheduling anomalies and misconceptions. CprE 458/558: Real-Time Systems (G. Manimaran)
Performance Metrics • Minimizing Schedule Length. • Minimizing Sum of Completion Times. • Maximizing Weighted Sum of Values (Useful in RT systems). • Minimizing the Maximum Lateness (useful in RT systems). CprE 458/558: Real-Time Systems (G. Manimaran)
Uniprocessor - some results • One processor, Non-preemptive, Minimizing the Max. Lateness (Polynomial). • One processor, Non-preemptive, release time constraint, Minimizing the Max. Lateness (NP-hard). • One processor, Preemptive, release time constraint, Minimizing the Max. Lateness (Polynomial). CprE 458/558: Real-Time Systems (G. Manimaran)
Uniprocessor - more results • Result: When there are mutual exclusion constraints, it is impossible to find a totally on-line optimal scheduler. • Result: The problem of deciding whether it is possible to schedule a set of periodic tasks that use semaphores only to enforce mutual exclusion in NP-hard. • Overload Result: There does not exist an on-line scheduling algorithm with a competitive factor greater than 0.25. (this is for general case: arbitrary number of processors). CprE 458/558: Real-Time Systems (G. Manimaran)
Multiprocessor – Some Results • Result: The multiprocessor scheduling on P processors with task preemption allowed and with minimization of the number of late tasks is NP-hard. • Result: For two or more processors, no deadline scheduling algorithm can be optimal without complete a prior knowledge of deadlines, computation times, and task ready times. CprE 458/558: Real-Time Systems (G. Manimaran)
Multiprocessor – more results • EDF is not optimal in the multiprocessor case. • No on-line scheduling algorithm can guarantee a cumulative value greater than one half for the dual processor case. (A special case of overload result) CprE 458/558: Real-Time Systems (G. Manimaran)
Multiprocessor; Single Deadline; Non-premptive NP-completeness is mainly due to non-uniform task execution time and resource constraints. CprE 458/558: Real-Time Systems (G. Manimaran)
Multiprocessing Anomalies • Assume that a set of tasks is optimally schedulable on a multiprocessor with some priority order, a fixed number of processors, fixed computation times, and precedence constraints. • Result: For the stated problem, changing the priority list, increasing the number of processors, reducing the computation times, or weakening the precedence constraints can increase the schedule length. CprE 458/558: Real-Time Systems (G. Manimaran)
Multiprocessing Anomalies (cont.) • These anomalies may cause some of the already guaranteed tasks to miss their deadlines. • It can be shown that run-time anomalies cannot occur in a multiprocessor schedule when the tasks are independent. CprE 458/558: Real-Time Systems (G. Manimaran)
Run-time Anomaly Run-time anomaly may occur when the actual computation time of a task differs from its worst case computation time in a non-preemptive multiprocessor schedule with resource constraints. A processor is said to be work conserving if it is never idle when there is a task to execute. Any work conserving scheme may lead to run-time anomaly. CprE 458/558: Real-Time Systems (G. Manimaran)
Run-time Anomaly – Example Example: Ti=(ai ,ci ,di ) T1=(0,20,22); T2=(0,12,25); T3=(10,8,26);T4=(8,10,30). T3 and T4 have resource conflicts; Actual computation time of T1 is 10. CprE 458/558: Real-Time Systems (G. Manimaran)