140 likes | 349 Views
Multiprocessor Real-Time Scheduling. Aaron Harris CSE 666 Prof. Ganesan. Multiprocessor Scheduling. As more systems incorporate multiple processors, interest in scheduling algorithms increases. Still relatively little research done (compared to uniprocessor scheduling).
E N D
Multiprocessor Real-Time Scheduling Aaron Harris CSE 666 Prof. Ganesan
Multiprocessor Scheduling • As more systems incorporate multiple processors, interest in scheduling algorithms increases. • Still relatively little research done (compared to uniprocessor scheduling). • 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. • 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.
Schedule Management • In a standard system, the schedule is controlled by the processor. • 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. • 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. • 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.
Partitioned Scheduling • All tasks are divided among the processors at compile time. • 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. • 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. • Tasks are scheduled from a global queue to individual processors. • 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.
Problems: Dhall’s Effect • 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. • 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. • 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. • 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.
Conclusions • Multiprocessor scheduling algorithms are more complex than uniprocessor systems. • 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.
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. • 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. • 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.