Speedup stacks: identifying scaling Bottlenecks in multi-threaded applicationsReportar como inadecuado

Speedup stacks: identifying scaling Bottlenecks in multi-threaded applications - Descarga este documento en PDF. Documentación en PDF para descargar gratis. Disponible también para leer online.

(2012)IEEE international symposium on performance analysis of systems and software, Proceedings.p.145-155 Mark abstract Multi-threaded workloads typically show sublinear speedup on multi-core hardware, i.e., the achieved speedup is not proportional to the number of cores and threads. Sublinear scaling may have multiple causes, such as poorly scalable synchronization leading to spinning and/or yielding, and interference in shared resources such as the lastlevel cache (LLC) as well as the main memory subsystem. It is vital for programmers and processor designers to understand scaling bottlenecks in existing and emerging workloads in order to optimize application performance and design future hardware. In this paper, we propose the speedup stack, which quantifies the impact of the various scaling delimiters on multithreaded application speedup in a single stack. We describe a mechanism for computing speedup stacks on a multi-core processor, and we find speedup stacks to be accurate within 5.1% on average for sixteen-threaded applications. We present several use cases: we discuss how speedup stacks can be used to identify scaling bottlenecks, classify benchmarks, optimize performance, and understand LLC performance.

Please use this url to cite or link to this publication: http://hdl.handle.net/1854/LU-2093717

Autor: Stijn Eyerman, Kristof Du Bois and Lieven Eeckhout

Fuente: https://biblio.ugent.be/publication/2093717


Documentos relacionados