Currently, a large gap exists between the peak performance of
high-performance systems and the achieved performance when running large
scientific simulations. The large performance gap stems from partly from
a poor understanding of realistic, large applications and the lack of
understanding of how the computer system features impact the performance
of the applications. Prophesy is a performance modeling framework that
tries to address this problem. It facilitates the development of very-fine
to coarse-grain analytical performance models. Such analytical performance
models aid in understanding the performance relationship between the
computer system and the application. Further, Prophesy will enable the
development of an algebra that identifies how elementary performance models
of system components and application algorithms should be composed to
reflect the performance of the application executing on a parallel system,
grid or GiB.
The Prophesy framework consists of two major components and three central
databases, as illustrated in the following figure.
The components produce an analytical performance model with coefficients, at
the granularity specified by the user. The models are developed based upon
performance data from the performance database. An application goes through
three stages to generate an analytical performance model. This model, combined
with data from the system database, can be used by the prediction engine to
predict the performance on a different compute platform. The use of databases
with Prophesy allows users to explore the performance models developed for
different kernels, application and systems, thereby leading to the development
of a composition algebra. The data in the databases is organized in a
hierarchial manner, allowing for the development of analytical models of
different granularity.
Funding: This project is funded by an NSF grant.
The Prophesy project is a collaborated work with Rick Stevens at
Argonne National Laboratory.
The Prophesy project is composed of several sub-projects: