ZPL's WYSIWYG Performance Model

Bradford L. Chamberlain
Sung-Eun Choi
E Christopher Lewis
Calvin Lin
Lawrence Snyder
W. Derrick Weathersby

In Proceedings of High-Level Parallel Programming Models and Supportive Environments (HIPS'98), pages 50-61, March 1998
(an earlier version of this work appeared as technical report UW-CSE-97-12-02)

Abstract: ZPL is a parallel array language designed for high performance scientific and engineering computations. Unlike other parallel languages, ZPL is founded on a machine model (the CTA) that accurately abstracts contemporary MIMD parallel computers. This makes it possible to correlate ZPL programs with machine behavior. As a result, programmers can reason about how code will perform on a typical parallel machine and thereby make informed decisions between alternate programming solutions. This paper describes ZPL's performance model and its syntactic cues for conveying operation cost. The what-you-see-is-what-you-get (WYSIWYG) nature of ZPL operations is demonstrated on the IBM SP-2, Intel Paragon, SGI Power Challenge, and Cray T3E. Additionally, the model is used to evaluate two algorithms for matrix multiplication. Experiments show that the performance model correctly predicts the faster solution on all four platforms for a range of problem sizes.

postscript | PDF