Compiler Directed Architecture-Dependent Communication Optimizations.

Abstract

Communication required for distributed data structures is one of the major overheads of parallelization. Poor communication performance limits the scalability of a given program, i.e. the number of processors that can effectively work on a problem. Differences in the architectures of different parallel systems affect how communication models perform on these systems. To minimize communication overheads, the parallel application should use the communication model that performs best on the target machine. For many systems, a static communication resource reservation model enables more efficient resource usage and improved communication performance. Data parallel compilers are well-suited to the task of selecting the appropriate communication model for the target architecture. With communication pattern analysis and architecture information, the compiler can optimize communication within each communication step and between communication steps. Knowledge of the target communication resources and all communication patterns enables the compiler to schedule use of limited resources and eliminate redundant control information. This thesis describes the implementation of a communication generation and optimization phase in the Fx compiler. The effect of these communication optimizations are evaluated on a suite of programs. Targeting alternative communication models can reduce communication time up to 50% and total execution time by 10 to 20%.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 01, 1995
Accession Number
ADA310310

Entities

People

  • Susan K. Hinrichs

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • C4I
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Communication Systems
  • Computer Networks
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Data Transmission
  • High Performance Computing
  • Hypervelocity Flow
  • Linear Algebra
  • Network Architecture
  • Network Protocols
  • Operating Systems
  • Parallel Computing
  • Parallel Processing
  • Template Patterns
  • Two Dimensional

Fields of Study

  • Computer science
  • Engineering

Readers

  • Parallel and Distributed Computing.