Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Multiprocessor Real- Time Scheduling Aaron Harris CSE 666 Prof. Ganesan."— Presentation transcript:

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

2 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.

3 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.

4 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.

5 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).

6 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.

7 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.

8 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.

9 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).

10 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.

11 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.

12 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.

13 References Khemka A., Shyamasundar R. K., "An Optimal Multiprocessor Real-Time Scheduling Algorithm", Journal of Parallel and Distributed Computing 43, 37- 45, 1997 http://citeseer.ist.psu.edu/khemka97optimal.html. Khemka A., Shyamasundar R. K., "An Optimal Multiprocessor Real-Time Scheduling Algorithm", Journal of Parallel and Distributed Computing 43, 37- 45, 1997 http://citeseer.ist.psu.edu/khemka97optimal.html. 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. 312-319, March, 1998. 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. 312-319, March, 1998. 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. 184-194, April, 1990. 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. 184-194, April, 1990. J. Carpenter et al., “A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms,” http://www.cs.uga.edu/~shelby/pubs/carpenterFHSAB2003.pdf. J. Carpenter et al., “A Categorization of Real-Time Multiprocessor Scheduling Problems and Algorithms,” http://www.cs.uga.edu/~shelby/pubs/carpenterFHSAB2003.pdf. S. K. Dhall, C. L. Liu, “On a Real-Time Scheduling Problem,” Operations Research, Vol. 26, No. 1, Scheduling (Jan. – Feb., 1978), pp. 127-140. S. K. Dhall, C. L. Liu, “On a Real-Time Scheduling Problem,” Operations Research, Vol. 26, No. 1, Scheduling (Jan. – Feb., 1978), pp. 127-140.

14 Questions?


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

Similar presentations


Ads by Google