Abstract
Performance models are powerful instruments for understanding the performance of parallel systems and uncovering their bottlenecks. Already during system design, performance models can help ponder alternative development options. However, creating a performance model – whether theoretically or empirically – for an entire application that does not exist yet is challenging. In this paper, we propose to generate performance models of full programs from performance models of their components using formal composition operators derived from parallel design patterns. As long as the design of the overall system follows such a pattern, its performance model can be predicted with reasonable accuracy without an actual implementation. We demonstrate our approach with design patterns of varying complexity, including pipeline, task pool, and eventually MapReduce, which is representative of a broad class of data-analytics applications. Mehr anzeigen
Publikationsstatus
publishedExterne Links
Zeitschrift / Serie
Parallel ComputingBand
Seiten / Artikelnummer
Verlag
ElsevierThema
Performance modeling; Design patterns; MPI; MapReduce