A Compiler and Runtime Infrastructure for Automatic Program Distribution

Abstract

This paper presents the design and the implementation of a compiler and runtime infrastructure for automatic program distribution. We are building a research infrastructure that enables experimentation with various program partitioning and mapping strategies and the study of automatic distribution's effect on resource consumption (e.g., CPU, memory, communication). Since many optimization techniques are faced with conflicting optimization targets (e.g., memory and communication), we believe that it is important to be able to study their interaction. We present a set of techniques that enable flexible resource modeling and program distribution. These are: dependence analysis, weighted graph partitioning, code and communication generation, and profiling. We have developed these ideas in the context of the Java language. We present in detail the design and implementation of each of the techniques as part of our compiler and runtime infrastructure. Then, we evaluate our design and present preliminary experimental data for each component, as well as for the entire system.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2005
Accession Number
ADA437431

Entities

People

  • Lei Wang
  • Matt Chu
  • Roxana E. Diaconescu
  • Zachary Mouri

Organizations

  • California Institute of Technology

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Algorithms
  • Automatic
  • Compilers
  • Computations
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Construction
  • Demographic Cohorts
  • Fluid Mechanics
  • Infrastructure
  • Instrumentation
  • Language
  • Models
  • Object Code
  • Optimization

Fields of Study

  • Computer science
  • Engineering

Readers

  • Parallel and Distributed Computing.