SCALO: Scalability-Aware Parallelism Orchestration for Multi-Threaded Workloads

Giorgis Georgakoudis, Hans Vandierendonck, Peter Thoman, Bronis de Supinski, Thomas Fahringer, Dimitrios Nikolopoulos

Research output: Contribution to journalArticlepeer-review

9 Citations (Scopus)
282 Downloads (Pure)

Abstract

Shared memory machines continue to increase in scale by adding more parallelism through additional cores and complex memory hierarchies. Often, executing multiple applications concurrently, dividing among them hardware threads, provides greater efficiency rather than executing a single application with large thread counts. However, contention for shared resources can limit the improvement of concurrent application execution: orchestrating the number of threads used by each application and is essential.
In this paper we contribute SCALO, a solution to orchestrate concurrent application execution to increase throughput. SCALO monitors co-executing applications at runtime to evaluate their scalability. Its optimizing thread allocator analyzes these scalability estimates to adapt the parallelism of each program. Unlike previous approaches, SCALO differs by including dynamic contention effects on scalability and by controlling the parallelism during the execution of parallel regions. Thus, it improves throughput when other state-of-the-art approaches fail and outperforms them by up to 40% when they succeed.
Original languageEnglish
Pages (from-to)54:1-54:25
JournalACM Transactions on Architecture and Code Optimization
Volume14
Issue number4
DOIs
Publication statusPublished - 01 Dec 2017

Fingerprint

Dive into the research topics of 'SCALO: Scalability-Aware Parallelism Orchestration for Multi-Threaded Workloads'. Together they form a unique fingerprint.

Cite this