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.

Open PDF

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

Tags

Communities of Interest

  • C4I
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Artificial Intelligence
  • Computer Networks
  • Computer Programming
  • Computer Science
  • Computers
  • Differential Equations
  • Dynamic Loads
  • Grain Size
  • Language
  • Linear Programming
  • Mathematical Programming
  • Network Simulation
  • Optimization
  • Parallel Computing
  • Parallel Processing
  • Trees (Data Structures)

Fields of Study

  • Computer science

Readers

  • Parallel and Distributed Computing.