A Programming Methodology for Dual-Tier Multicomputers

  • Authors:
  • Scott B. Baden;Stephen J. Fink

  • Affiliations:
  • Univ. of California at San Diego, La Jolla;IBM T. J. Watson Research Center, Yorktown Heights, NY

  • Venue:
  • IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools for parallel processing
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Hierarchically organized ensembles of shared memory multiprocessors possess a richer and more complex model of locality than previous generation multicomputers with single processor nodes. These dual-tier computers introduce many new factors into the programmer's performance model. We present a methodology for implementing block-structured numerical applications on dual-tier computers and a run-time infrastructure, called KeLP2, that implements the methodology. KeLP2 supports two levels of locality and parallelism via hierarchical SPMD control flow, run-time geometric meta-data, and asynchronous collective communication. KeLP applications can effectively overlap communication with computation under conditions where nonblocking point-to-point message passing fails to do so. KeLP's abstractions hide considerable detail without sacrificing performance and dual-tier applications written in KeLP consistently outperform equivalent single-tier implementations written in MPI. We describe the KeLP2 model and show how it facilitates the implementation of five block-structured applications specially formulated to hide communication latency on dual-tiered architectures. We support our arguments with empirical data from applications running on various single- and dual-tier multicomputers. KeLP2 supports a migration path from single-tier to dual-tier platforms and we illustrate this capability with a detailed programming example.