Visualizing High-Level Communication And Synchronization

High-level parallel languages ease writing of parallel programs. However, since they deepen the gap between language and underlying hardware, performance debugging is hard. It is essential to use tools that present the user with performance data at the language level. Besides this, for hard performa...

Full description

Bibliographic Details
Main Authors: Rutger Hofman, Koen Langendoen, Henri Bal
Other Authors: The Pennsylvania State University CiteSeerX Archives
Format: Text
Language:English
Published: 1996
Subjects:
Online Access:http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.30.7695
Description
Summary:High-level parallel languages ease writing of parallel programs. However, since they deepen the gap between language and underlying hardware, performance debugging is hard. It is essential to use tools that present the user with performance data at the language level. Besides this, for hard performance problems it is necessary to be able to descend into the software hierarchy. A trace package and a viewing tool, orcshot, are presented that address these issues for the high-level parallel language Orca. Communication and synchronization are done with "shared data objects", and the tool visualizes traces in relation to these objects. Orcshot possesses a powerful filter utility to achieve the necessary data reduction. Orcshot can be adapted to other object-based languages with slight effort. The orcshot performance visualization tool has already helped find numerous performance bugs. One example is presented. I. INTRODUCTION To make parallel programming as easy as possible, it is desirab.