Multiprocessors and Runtime Compilation

Abstract

Runtime time preprocessing plays a major role in many efficient algorithms in computer science, as well as playing an important role in exploiting multiprocessor architectures. We give examples that elucidate the importance of run time preprocessing and show how these optimizations can be integrated into compilers. To support our arguments, we describe transformations implemented in prototype multiprocessor compilers and present benchmarks from the iPSC2/860, the CM-2, and the Encore Multimax/320. To effectively exploit many multiprocessor architectures, we may also have to carry out run time preprocessing. This preprocessing will be referred to as runtime compilation. The purpose of runtime compilation is not to determine which computations are to be performed but instead to determine how a multiprocessor machine will schedule the algorithm's work, how to map the data structures and how data movement within the multiprocessor is to be scheduled. In this paper, we specifically address problems for which computational patterns can be predicted when values assigned to key data structures are known. These problems include computations on non-uniform meshes, sparse direct factorization which does not involve pivoting and sparse iterative linear solvers.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 01, 1990
Accession Number
ADA227740

Entities

People

  • Harry Berryman
  • Janet Wu
  • Joel Saltz

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Compilers
  • Computations
  • Computer Programming
  • Computer Science
  • Computers
  • Contracts
  • Data Transmission
  • Efficiency
  • Engineering
  • Hash Tables
  • Iterations
  • Language
  • Scheduling (Production)
  • Translations
  • Trees (Data Structures)
  • Workload

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Fluid Dynamics (CFD)
  • Computer Networking
  • Neural Network Machine Learning.