Task Orchestration : Scheduling and Mapping on Multicore Systems (D2)
Description: This module extends scheduling algorithms covered in a typical upper-level operating systems course and introduces concepts and algorithms for thread scheduling on multiprocessor systems. A priority-based algorithm for optimal throughput is presented and then modified to use power consumption as the main objective function. The notions of energy efficient computing and load balancing to improve throughput are discussed in this context. The module includes a processor-affinity-based scheduling algorithm for multicore platforms. A producer-consumer application is used as an example to illustrate the effects of thread affinity on shared-cache locality and performance. The module briefly covers simultaneous multithreading (SMT) and issues related to scheduling of hardware threads.
Recommended Length: One lecture (~1:15 min)
Recommended Course: Operating Systems
Topics and Learning outcomes (per NSF/IEEE-TCPP PDC Curriculum):
- [Programming] Tasks and threads: understand what it means to create and assign work to threads in a parallel program and how this assignment affects performance; know how to assign work using OpenMP
- [Programming] Synchronization: understand the need for inter-thread synchronization; be able to write shared memory programs with critical regions, producer-consumer communication, and get speedup; know the notions of mechanisms for concurrency (monitors, semaphores, etc.); understand safety considerations of parallel execution, including thread-safe functions.
- [Programming] Load balancing: understand the effects of load imbalances on performance and power; understand ways to balance load across threads or processes
- [Programming] Scheduling and mapping: understand how the operating system schedules threads to computation cores; understand the performance impact of such mapping
Lecture Material: [ PDF ] [ PPT ]
Sample Source Code:
- Pthreads implementation of a producer-consumper application [ tar.gz ]
Pedagogical Notes: available for instructors only
Sample Exam Question: available for instructors only