On the application task granularity and the interplay with the scheduling overhead in many-core shared memory systems
2015 (English)In: Proceedings - IEEE International Conference on Cluster Computing, ICCC, IEEE , 2015, 428-437 p.Conference paper (Refereed)Text
Task-based programming models are considered one of the most promising programming model approaches for exascale supercomputers because of their ability to dynamically react to changing conditions and reassign work to processing elements. One question, however, remains unsolved: what should the task granularity of task-based applications be? Fine-grained tasks offer more opportunities to balance the system and generally result in higher system utilization. However, they also induce in large scheduling overhead. The impact of scheduling overhead on coarse-grained tasks is lower, but large systems may result imbalanced and underutilized. In this work we propose a methodology to analyze the interplay between application task granularity and scheduling overhead. Our methodology is based on three main points: 1) a novel task algorithm that analyzes an application directed acyclic graph (DAG) and aggregates tasks, 2) a fast and precise emulator to analyze the application behavior on systems with up to 1,024 cores, 3) a comprehensive sensitivity analysis of application performance and scheduling overhead breakdown. Our results show that there is an optimal task granularity between 1.2x10^4 and 10x10^4 cycles for the representative schedulers. Moreover, our analysis indicates that a suitable scheduler for exascale task-based applications should employ a best-effort local scheduler and a sophisticated remote scheduler to move tasks across worker threads.
Place, publisher, year, edition, pages
IEEE , 2015. 428-437 p.
Scheduling overhead, Task granularity, Task-based programming models, Task-based schedulers, Cluster computing, Computer architecture, Directed graphs, Sensitivity analysis, Supercomputers, Application behaviors, Application performance, Directed acyclic graph (DAG), Processing elements, Programming models, Shared memory system, Task-based, Scheduling
IdentifiersURN: urn:nbn:se:kth:diva-186853DOI: 10.1109/CLUSTER.2015.65ISI: 000378648100054ScopusID: 2-s2.0-84959297511ISBN: 9781467365987OAI: oai:DiVA.org:kth-186853DiVA: diva2:927909
IEEE International Conference on Cluster Computing, CLUSTER 2015, 8 September 2015 through 11 September 2015
QC 201605132016-05-132016-05-132016-07-26Bibliographically approved