Volume 19, Issue 5 pp. 685-696
Research Article

Performance modeling of component assemblies

Nick Trebon

Corresponding Author

Nick Trebon

Department of Computer Science, University of Oregon, Eugene, OR 97403-1202, U.S.A.

Department of Computer Science, University of Chicago, Chicago, IL 60637, U.S.A.

Department of Computer Science, 120 Deschutes Hall, 1020 University of Oregon, Eugene, OR 97403-1202, U.S.A.Search for more papers by this author
Allen Morris

Allen Morris

Department of Computer Science, University of Oregon, Eugene, OR 97403-1202, U.S.A.

Search for more papers by this author
Jaideep Ray

Jaideep Ray

Sandia National Laboratories, Livermore, CA 94551-0969, U.S.A.

Search for more papers by this author
Sameer Shende

Sameer Shende

Department of Computer Science, University of Oregon, Eugene, OR 97403-1202, U.S.A.

Search for more papers by this author
A. D. Malony

A. D. Malony

Department of Computer Science, University of Oregon, Eugene, OR 97403-1202, U.S.A.

Search for more papers by this author
First published: 10 October 2006
Citations: 3

Abstract

A parallel component environment places constraints on performance measurement and modeling. For instance, it must be possible to instrument the application without access to the source code. In addition, a component may admit multiple implementations, based on the choice of algorithm, data structure, parallelization strategy, etc., posing the user with the problem of having to choose the ‘correct’ implementation and achieve an optimal (fastest) component assembly. Under the assumption that an empirical performance model exists for each implementation of each component, simply choosing the optimal implementation of each component does not guarantee an optimal component assembly since components interact with each other. An optimal solution may be obtained by evaluating the performance of all of the possible realizations of a component assembly given the components and all of their implementations, but the exponential complexity renders the approach unfeasible as the number of components and their implementations rise. This paper describes a non-intrusive, coarse-grained performance monitoring system that allows the user to gather performance data through the use of proxies. In addition, a simple optimization library that identifies a nearly optimal configuration is proposed. Finally, some experimental results are presented that illustrate the measurement and optimization strategies. Copyright © 2006 John Wiley & Sons, Ltd.

The full text of this article hosted at iucr.org is unavailable due to technical difficulties.