1 / 14

Multiprocessor Real-Time Scheduling

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

zephr-fry
Télécharger la présentation

Multiprocessor Real-Time Scheduling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. • Still relatively little research done (compared to uniprocessor scheduling). • 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. • 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.

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

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

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

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

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

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

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

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

  14. Questions?

More Related