Multiprocessor Real- Time Scheduling Aaron Harris CSE 666 Prof. Ganesan.

Slides:



Advertisements
Similar presentations
Real Time Scheduling.
Advertisements

Courseware Scheduling of Distributed Real-Time Systems Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens.
CSE 522 Real-Time Scheduling (3)
RUN: Optimal Multiprocessor Real-Time Scheduling via Reduction to Uniprocessor Paul Regnier † George Lima † Ernesto Massa † Greg Levin ‡ Scott Brandt ‡
Module 2 Priority Driven Scheduling of Periodic Task
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
1 Multiprocessor and Real-Time Scheduling Chapter 10.
Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Chapter 2 1 SIMD-MIMD Real-Time Comparisons (Chapter 7) References: –Stankovic, Spuri, Ramamritham, Buttazzo, “Deadline Scheduling for Real-Time Systems”,
CS 104 Introduction to Computer Science and Graphics Problems Operating Systems (2) Process Management 10/03/2008 Yang Song (Prepared by Yang Song and.
Informationsteknologi Tuesday, October 9, 2007Computer Systems/Operating Systems - Class 141 Today’s class Scheduling.
CprE 458/558: Real-Time Systems
Summary :- Distributed Process Scheduling Prepared BY:- JAYA KALIDINDI.
What is Concurrent Programming? Maram Bani Younes.
New Schedulability Tests for Real- Time task sets scheduled by Deadline Monotonic on Multiprocessors Marko Bertogna, Michele Cirinei, Giuseppe Lipari Scuola.
 Scheduling  Linux Scheduling  Linux Scheduling Policy  Classification Of Processes In Linux  Linux Scheduling Classes  Process States In Linux.
A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms Presentation by Tony DeLuce CS 537 Scheduling Algorithms Spring Quarter.
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona.
Chapter 10 Operating Systems *. 2 Chapter Goals Describe the main responsibilities of an operating system Define memory and process management Explain.
CSC 360- Instructor: K. Wu CPU Scheduling. CSC 360- Instructor: K. Wu Agenda 1.What is CPU scheduling? 2.CPU burst distribution 3.CPU scheduler and dispatcher.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
Task Scheduling By Dr. Amin Danial Asham.
1 Distributed Process Scheduling: A System Performance Model Vijay Jain CSc 8320, Spring 2007.
A S CHEDULABILITY A NALYSIS FOR W EAKLY H ARD R EAL - T IME T ASKS IN P ARTITIONING S CHEDULING ON M ULTIPROCESSOR S YSTEMS Energy Reduction in Weakly.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
1 Reducing Queue Lock Pessimism in Multiprocessor Schedulability Analysis Yang Chang, Robert Davis and Andy Wellings Real-time Systems Research Group University.
Scheduling policies for real- time embedded systems.
Multiprocessor Real-time Scheduling Jing Ma 马靖. Classification Partitioned Scheduling In the partitioned approach, the tasks are statically partitioned.
Multiprocessor and Real-Time Scheduling Chapter 10.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
1 Multiprocessor and Real-Time Scheduling Chapter 10 Real-Time scheduling will be covered in SYSC3303.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
BFair: An Optimal Scheduler for Periodic Real-Time Tasks
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
1 Multiprocessor Scheduling Module 3.1 For a good summary on multiprocessor and real-time scheduling, visit:
Real-Time Scheduling CS4730 Fall 2010 Dr. José M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria.
5 May CmpE 516 Fault Tolerant Scheduling in Multiprocessor Systems Betül Demiröz.
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
2004/06/01 1 Issues about Scheduling for Dependent Multimedia Tasks 電機所控制組 R 馮天俊 R 戴兆弘 Adviser :陳少傑 老師 Date : 2004/06/01.
Executing Parallel Programs with Potential Bottlenecks Efficiently Yoshihiro Oyama Kenjiro Taura Akinori Yonezawa {oyama, tau,
Chapter 3: Real-Time Scheduling and Schedulability Analysis Albert M. K. Cheng.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 5 CPU Scheduling Slide 1 Chapter 5 CPU Scheduling.
Static Process Scheduling
A System Performance Model Distributed Process Scheduling.
Dynamic Priority Driven Scheduling of Periodic Task
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Process Scheduling. Scheduling Strategies Scheduling strategies can broadly fall into two categories  Co-operative scheduling is where the currently.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
Computer Architecture: Parallel Task Assignment
Chapter 2 Memory and process management
Parallel Algorithm Design
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter5: CPU Scheduling
Chapter 6: CPU Scheduling
Outline Scheduling algorithms Multi-processor scheduling
Multiprocessor and Real-Time Scheduling
CS703 - Advanced Operating Systems
Shortest-Job-First (SJR) Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Presentation transcript:

Multiprocessor Real- Time Scheduling Aaron Harris CSE 666 Prof. Ganesan

Multiprocessor Scheduling As more systems incorporate multiple processors, interest in scheduling algorithms increases. As more systems incorporate multiple processors, interest in scheduling algorithms increases. Still relatively little research done (compared to uniprocessor scheduling). Still relatively little research done (compared to uniprocessor scheduling). Due to increased complexity, much research makes simplifications of their systems. Due to increased complexity, much research makes simplifications of their systems.

When and Where Multiprocessor scheduling requires determining both which task to run at a given time and on which processor to run it on. Multiprocessor scheduling requires determining both which task to run at a given time and on which processor to run it on. Added complexity as compared to scheduling in a uniprocessor environment. Added complexity as compared to scheduling in a uniprocessor environment. Scheduling must account for not only the status of tasks, but the status of processors. Scheduling must account for not only the status of tasks, but the status of processors.

Schedule Management In a standard system, the schedule is controlled by the processor. In a standard system, the schedule is controlled by the processor. Multiprocessor systems follow two general approaches: master-slave and dedicated scheduler. Multiprocessor systems follow two general approaches: master-slave and dedicated scheduler. In master-slave, one processor handles all schedule processing and also processes normal tasks. In master-slave, one processor handles all schedule processing and also processes normal tasks. Dedicated scheduler systems allocate an entire processor to nothing but schedule processing. This can be more efficient in complex systems with many processors. Dedicated scheduler systems allocate an entire processor to nothing but schedule processing. This can be more efficient in complex systems with many processors.

Algorithm Selection In a single processor system, rate-monotonic (for static priorities) and earliest-deadline-first (for dynamic priorities) algorithms are the accepted best overall algorithms. In a single processor system, rate-monotonic (for static priorities) and earliest-deadline-first (for dynamic priorities) algorithms are the accepted best overall algorithms. There is no agreed-upon best algorithm for multiprocessor systems (due to increased complexity of algorithms and lack of research). There is no agreed-upon best algorithm for multiprocessor systems (due to increased complexity of algorithms and lack of research).

Algorithm Categories Most multiprocessor scheduling algorithms fall into one of two categories: global scheduling and partitioned scheduling. Most multiprocessor scheduling algorithms fall into one of two categories: global scheduling and partitioned scheduling.

Partitioned Scheduling All tasks are divided among the processors at compile time. All tasks are divided among the processors at compile time. Each task can only execute on its assigned processor. Each task can only execute on its assigned processor. Advantages: This turns each processor into a single processor system as far as scheduling is concerned. All research and theory of single processor scheduling then applies to each processor. Advantages: This turns each processor into a single processor system as far as scheduling is concerned. All research and theory of single processor scheduling then applies to each processor. Disadvantages: The process of assigning tasks to processors can be complicated and extremely inefficient if done poorly. This can lead to poor system performance. Disadvantages: The process of assigning tasks to processors can be complicated and extremely inefficient if done poorly. This can lead to poor system performance.

Global Scheduling All tasks are allowed to execute on all processors. All tasks are allowed to execute on all processors. Tasks are scheduled from a global queue to individual processors. Tasks are scheduled from a global queue to individual processors. Advantages: This technique allows for better processor utilization and overall system performance. Advantages: This technique allows for better processor utilization and overall system performance. Disadvantages: The main disadvantage is “migration”. This is when a task is preempted on one processor and resumes execution on a different processor. This requires the context of the task to be moved from one processor to another, which can be costly. Disadvantages: The main disadvantage is “migration”. This is when a task is preempted on one processor and resumes execution on a different processor. This requires the context of the task to be moved from one processor to another, which can be costly.

Problems: Dhall’s Effect Something interesting is the relation of ultization to scheduliblity. Something interesting is the relation of ultization to scheduliblity. One may think that to be schedulable, the utilization of a set of tasks on n processors should simply be ≤ n. One may think that to be schedulable, the utilization of a set of tasks on n processors should simply be ≤ n. Dhall proved that the number must actually be between n*ln(2) and n (Dhall’s Effect). Dhall proved that the number must actually be between n*ln(2) and n (Dhall’s Effect).

Problems: Schedule Complexity Many types of scheduling (e.g. dynamic priorities) that require extensive run-time calculations can become too complicated in a multiprocessor environment. Many types of scheduling (e.g. dynamic priorities) that require extensive run-time calculations can become too complicated in a multiprocessor environment. Due to this, most of the scheduling algorithms that have been researched use compile-time determined priorities. Due to this, most of the scheduling algorithms that have been researched use compile-time determined priorities.

Problems: Resource Synchronization Resource synchronization becomes a much larger issue in multiprocessor systems. Resource synchronization becomes a much larger issue in multiprocessor systems. Even in a non-preemptive multiprocessor system, resource sharing can lead to task blocking. Even in a non-preemptive multiprocessor system, resource sharing can lead to task blocking. More thought must be put into how and what resources are shared between tasks in a multiprocessor system. More thought must be put into how and what resources are shared between tasks in a multiprocessor system.

Conclusions Multiprocessor scheduling algorithms are more complex than uniprocessor systems. Multiprocessor scheduling algorithms are more complex than uniprocessor systems. There is still no decisively best multiprocessor scheduling algorithm. There is still no decisively best multiprocessor scheduling algorithm. Multiprocessor systems will continue to become more and more prevalent, and as a result, multiprocessor scheduling research and theory will have to continue to improve. Multiprocessor systems will continue to become more and more prevalent, and as a result, multiprocessor scheduling research and theory will have to continue to improve.

References Khemka A., Shyamasundar R. K., "An Optimal Multiprocessor Real-Time Scheduling Algorithm", Journal of Parallel and Distributed Computing 43, , Khemka A., Shyamasundar R. K., "An Optimal Multiprocessor Real-Time Scheduling Algorithm", Journal of Parallel and Distributed Computing 43, , G. Manimaran, C. Siva Ram Murthy, "An Efficient Dynamic Scheduling Algorithm for Multiprocessor Real-Time Systems," IEEE Transactions on Parallel and Distributed Systems, Vol. 09, No. 3, pp , March, G. Manimaran, C. Siva Ram Murthy, "An Efficient Dynamic Scheduling Algorithm for Multiprocessor Real-Time Systems," IEEE Transactions on Parallel and Distributed Systems, Vol. 09, No. 3, pp , March, K. Ramamritham, J.A. Stankovic, P.F. Shiah, "Efficient Scheduling Algorithms for Real-Time Multiprocessor Systems," IEEE Transactions on Parallel and Distributed Systems, Vol. 01, No. 2, pp , April, K. Ramamritham, J.A. Stankovic, P.F. Shiah, "Efficient Scheduling Algorithms for Real-Time Multiprocessor Systems," IEEE Transactions on Parallel and Distributed Systems, Vol. 01, No. 2, pp , April, J. Carpenter et al., “A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms,” J. Carpenter et al., “A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms,” S. K. Dhall, C. L. Liu, “On a Real-Time Scheduling Problem,” Operations Research, Vol. 26, No. 1, Scheduling (Jan. – Feb., 1978), pp S. K. Dhall, C. L. Liu, “On a Real-Time Scheduling Problem,” Operations Research, Vol. 26, No. 1, Scheduling (Jan. – Feb., 1978), pp

Questions?