In Chapter 2, we discussed the importance of accurate and descriptive models to understand the behavior of parallel programs. We also presented an example of how explanation techniques can help in generating such models (Section 4.4.2). However, access to static and dynamic information and model characteristics is not enough to generate models easily. There are many practical obstacles that prevent programmers from routinely building performance models. These obstacles include the challenge of describing these models matematically, and the requirement to design experiments that yield models of suitable accuracy.
In this chapter we present the Lost Cycles Toolkit (LCT), an atempt to make performance modeling accessible to parallel programmers. It does so by automating as much as possible of the performance modeling process. Although LCT is not part of the Carnival framework, its incorporation is possible and worthwhile, becoming an important ingredient for the performance understanding of parallel programs. The section that follows presents in more detail Lost Cycles analysis [Crovella1994], an experimental modeling technique that is automated by LCT. Section 5.2 presents the toolkit. In the last two sections, we discuss the incorporation of LCT into Carnival and state some conclusions.