Statistical Performance Prediction for Multicore Applications Based on Scalability Characteristics

authored by
Oliver Jakob Arndt, Matthias Luders, Holger Blume
Abstract

Multicore processors serve as target platforms in a broad variety of applications ranging from high-performance computing to embedded mobile computing and automotive. But, the required parallel programming opens up a huge design space of parallelization strategies each with potential bottlenecks. Therefore, an early estimation of an application's performance is a desirable development tool. However, out-of-order execution, superscalar instruction pipelines, as well as communication costs and (shared-) cache effects essentially influence the performance of parallel programs. While offering a good modeling and simulation speed, analytic models provide moderate prediction results so far. Virtual prototyping requires a time-consuming simulation, but produces better accuracy. Furthermore, even existing statistical methods often require detailed knowledge of the hardware for characterization. In this work, we present a concept and its evaluation for a statistical approach for performance prediction based on abstract runtime parameters, which describe an application's scalability behavior and can be extracted from profiles without user input. These scalability parameters not only include information on the interference of software demands and hardware capabilities, but indicate bottlenecks as well. Depending on the database setup, we achieve a competitive accuracy of 20 % mean prediction error (11 % median), which we also proof in a case study.

Organisation(s)
Institute of Microelectronic Systems
Architectures and Systems Section
Type
Conference contribution
Pages
255-262
No. of pages
8
Publication date
05.09.2019
Publication status
Published
Peer reviewed
Yes
ASJC Scopus subject areas
Hardware and Architecture, Computer Networks and Communications
Electronic version(s)
https://doi.org/10.1109/ASAP.2019.00015 (Access: Closed)