Multilist Scheduling. A New Parallel Programming Model.
Abstract
Parallel programming requires task scheduling to optimize performance; this primarily involves balancing the load over the processors. In many cases, it is critical to perform task scheduling at runtime. For example, (1) in many parallel applications the task load cannot be accurately predicted a priori; (2) in a network-based multicomputer the computational power of each processor may not remain constant. In order to support dynamic task scheduling, the programmer, usually needs to design and implement a complex set of scheduling routines, e.g., routines for maintaining task lists and handling interprocessor communication for load balancing. Unfortunately, it is very difficult and time-consuming to write and debug all of these scheduling routines. This thesis proposes a new approach which can greatly reduce the effort of developing efficient dynamic task scheduling routines. In our new approach, we decompose task scheduling into two parts - the specification of scheduling policies and the implementation of supportive scheduling operations - and then hide the latter from the programmer. We call this approach multilist scheduling, because it is based on a uniform scheduling model involving the use of multiple scheduling lists.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jul 30, 1993
- Accession Number
- ADA270549
Entities
People
- David O'hallaron
- Gerald Thompson
- H. T. Kung
- I-chen Wu
- Peter Steenkiste
Organizations
- Carnegie Mellon University