An Adaptive Approach to Data Placement

  • Authors:
  • David K. Lowenthal;Gregory R. Andrews

  • Affiliations:
  • -;-

  • Venue:
  • IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Programming distributed-memory machines requires careful placement of data to balance the computational load among the nodes and minimize excess data movement between the nodes. Most current approaches to data placement require the programmer or compiler to place data initially and then possibly to move it explicitly during a computation. This paper describes a new, adaptive approach. It is implemented in the Adapt system, which takes an initial data placement, efficiently monitors how well it performs, and changes the placement whenever the monitoring indicates that a different placement would perform better. Adapt frees the programmer from having to specify data placements, and it can use run-time information to find better placements than compilers. Moreover, Adapt automatically supports a "variable block'' placement, which is especially useful for applications with nearest-neighbor communication but an imbalanced workload. For applications in which the best data placement varies dynamically, using Adapt can lead to better performance than using any statically determined data placement.