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.
|Original language||English (US)|
|Number of pages||5|
|Journal||IEEE Symposium on Parallel and Distributed Processing - Proceedings|
|State||Published - Jan 1 1996|
|Event||Proceedings of the 1996 10th International Parallel Processing Symposium - Honolulu, HI, USA|
Duration: Apr 15 1996 → Apr 19 1996
ASJC Scopus subject areas