Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
The convergence of massively parallel processors and multiprocessors
Publisher:
  • University of California, Irvine
ISBN:978-0-599-73006-9
Order Number:AAI9968255
Pages:
116
Reflects downloads up to 10 Oct 2024Bibliometrics
Skip Abstract Section
Abstract

This thesis presents a comprehensive solution for the following problem: how to run a workload of diverse jobs on a parallel server such as the Sun Enterprise 10000 or Hewlett Packard V-Class servers. These ideas are inspired by the state-of-art and limitations of massively parallel processors (MPPs) and multiprocessors.

We identify two characteristics of parallel jobs which affect their execution: communication frequency, and regularity of parallelism or lack thereof. To provide the most appropriate hardware and operating system support for a diverse parallel workload, we classify jobs based on these characteristics.

First, we classify jobs into communication-intensive and communication-infrequent classes based on the number of times their threads communicate per time-slice. Next, we classify programs into three groups: regular, compute-irregular (amount of computation performed per thread varies), and thread-irregular (number of threads varies).

Efficient job execution depends on the appropriate choice of synchronization (communication support) and scheduling mechanisms for each class of jobs. Synchronization may be implemented using fast hardware or slow software mechanisms, and scheduling may be a form of local or gang scheduling.

Communication-infrequent jobs, like sequential jobs, are best run using local scheduling. Regular and irregular jobs are both handled well by local scheduling. The context-switch overhead is negligible due to infrequent pre-emptions, and software synchronization suffices for handling infrequent communications.

Communication-intensive jobs require fast barrier synchronization, but existing barrier trees cannot support compute-irregular jobs. We propose two synchronization solutions for compute-irregular jobs: The first solution flattens nesting levels and uses two traditional barrier trees, and the second solution labels nesting levels and uses a max-tree . We also propose a multiple disjoint barrier synchronization architecture for simultaneously supporting multiple parallel jobs on a server.

Communication-intensive jobs require some form of gang scheduling. Multigang scheduling and family scheduling are the possible variations on gang scheduling when threads exceed processors. For compute-irregular jobs, we prove that family scheduling does better. For thread-irregular jobs, we present online algorithms to rebalance spawned and terminated threads during execution. We show that the 2-competitive idealized algorithm performs poorly on actual workloads. We present the Min-Max algorithm and its n -competitive variant, the 0-M algorithm, and show that both perform well.

Contributors
  • University of California, Irvine
  • University of California, Irvine

Recommendations