Design of Graph ZPL: Extensions to ZPL to Handle Irregular and Dynamic Data Structures
Abstract:
On distributed memory MIMD machines, ZPL is a powerful language for expressing parallel algorithms that can be described with regular parallel arrays. But this is not enough for many data parallel applications that require irregular or dynamic data structures. This paper is a report on the author's Graph ZPL project whose goals have been to select and design new language features to be added to ZPL that would enable handling such irregular and dynamic data structures. We first analyzed the successful design decisions made in ZPL and determined a set of design principles to follow in our design. Then we considered several data-parallel applications and determined a set of capabilities that needed to be added to ZPL. We design in detail language extensions to ZPL to provide these capabilities. They include a graph data type, irregular block partitioning for parallel arrays, and operations for dynamic repartitioning of graphs and parallel arrays. We give the reasoning behind our design choices and illustrate our extensions by writing several applications in Graph ZPL. Implementing Graph ZPL seems feasible with the modern level of technology. In comparison with other approaches to providing support for data-parallel computations, Graph ZPL results in cleaner and less error-prone programs which are easier to write and maintain, at the expense
Citations
| 44 | A robust parallel programming model for dynamic nonuniform scienti c computations – Kohn, Baden - 1994 |
| 33 | ZPL: An Array Sublanguage – Lin, Snyder - 1993 |
| 15 | Direct Simulation Monte Carlo Analysis of Rare ed Flows on Parallel Processors – Wilmoth - 1991 |
| 13 | ZPL language reference manual – Lin - 1994 |
| 4 | Adhara: Runtime support for dynamic spacebased applications on distributed memory MIMD multiprocessors – Ashok, Zahorjan - 1994 |
| 1 | A Manual for the CHAOS Runtime Library. University of Maryland: Department of Computer Science and UMIACS Technical Reports CS-TR-3437 and UMIACS-TR-95-34 [Sharma et al – Sharma, Ponnusamy, et al. - 1994 |

