| ![]() | |||||||||
-- --
Multi-Application Support in a Parallel Program Performance Tool
R. Bruce Irvin Barton P. Miller
rbi@cs.wisc.edu bart@cs.wisc.edu
Computer Sciences Department
University of Wisconsin-Madison
1210 W. Dayton Street
Madison, Wisconsin 53706
Abstract
Program performance measurement tools have proven to be useful for tuning single, isolated, parallel
and distributed applications. However, large-scale parallel machines and heterogeneous networks often do
not allow for such isolated execution, much less isolated measurement. Performance measurement tools
should allow users to study workload scheduling policies, resource competition among application programs,
client/server interactions in distributed systems, and comparisons of application programs running
on multiple hardware platforms. To enable and encourage such studies, we have extended the IPS-2 parallel
program measurement tools to support the analysis of multiple applications (and multiple runs of the
same application) in a single measurement session. This multi-application support allows the user to study
each application as a logically separate entity, study groupings of the applications based on their physical
location, or study the entire collection of applications.
We used the new multi-application support in three case studies. In these studies we examined (1) the effects of clock precision on the quality of performance data, (2) the effects of gang scheduling on competing parallel applications, and (3) the performance interaction of client processes and server in a database system. The multi-application support allowed quick comparison of different versions of a program, with a concrete visual and numeric comparison. Also, it directly showed performance dependences between parallel applications.
1. Introduction
During performance debugging, a programmer usually studies an isolated program. Isolation eliminates much of the complicated background interference that can make program performance characteristics irreproducible. However, programs are actually run in more complex environments. Large-scale parallel systems are often timeshared among a workload of application programs; in heterogeneous distributed environments, individual applications communicate with servers and contend with other clients for server access. Scheduling and contention can significantly affect the performance of individual application programs, but a programmer often cannot determine whether a program's performance is affected by such interactions or to what extent.
We have implemented a new mechanism for analyzing multiple application programs using the
IPS-2 parallel program performance tools [12]. Multi-application support in the IPS-2 system has enabled
hhhhhhhhhhhhhhhhhh
? 1993 R. Bruce Irvin and Barton P. Miller
This work was supported in part by National Science Foundation grants ASC-9015462 and CCR-9100968, Office of Naval
Research grant N00014-89-J-1222, and grants from Sequent Computer Systems and Sun Microsystems.