ABSTRACT
New programming models have been introduced to aid the programmer dealing with the complexity of large-scale systems, simplifying the coding process and making applications more scalable. Task-based programming is one example that became popular recently. At the same time, understanding performance of multicore systems is key for getting faster execution times and optimize workloads, but it is becoming harder due to the increased complexity of hardware and the runtime systems.
To address this, we present TaskInsight, a technique to characterize the memory behavior of different task schedulers through the analysis of data reuse. TaskInsight provides high-level information that can be correlated with tasks' performance variation over time to understand data reuse through the caches due to scheduling choices. This allows to identify which scheduling decisions affected performance, when were they taken, and why the performance changed, both in single and multi-threaded executions.
We demonstrate how TaskInsight can diagnose cases where poor scheduling caused over 60% difference on average (and up to 7x slowdowns) due to changes in the tasks' data reuse through the caches.
- E. Berg, H. Zeffer, and E. Hagersten. 2006. A statistical multiprocessor cache model. In ISPASS. 89-99.Google Scholar
- D. Eklov and E. Hagersten. 2010. StatStack: Efficient modeling of LRU caches. In ISPASS. 55-65.Google Scholar
- Stijn Eyerman, Lieven Eeckhout, Tejas Karkhanis, and James E. Smith. 2009. A Mechanistic Performance Model for Superscalar Out-of-order Processors. ACM Trans. Comput. Syst. 27, 2, Article 3 (May 2009), 37 pages. Google ScholarDigital Library
Index Terms
- Understanding the interplay between task scheduling, memory and performance
Recommendations
How to make tasks faster: revealing the complex interactions of tasks in the memory system
SPLASH Companion 2017: Proceedings Companion of the 2017 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for HumanityNew programming models have been introduced to aid the programmer dealing with the complexity of large-scale systems, simplifying the coding process and making applications more scalable regardless. Task-based programming is one example that became ...
Scheduling of deteriorating jobs with release dates to minimize the maximum lateness
In this paper, we consider the problem of scheduling n deteriorating jobs with release dates on a single (batching) machine. Each job's processing time is a simple linear function of its starting time. The objective is to minimize the maximum lateness. ...
Criticality-Aware Dynamic Task Scheduling for Heterogeneous Architectures
ICS '15: Proceedings of the 29th ACM on International Conference on SupercomputingCurrent and future parallel programming models need to be portable and efficient when moving to heterogeneous multi-core systems. OmpSs is a task-based programming model with dependency tracking and dynamic scheduling. This paper describes the OmpSs ...
Comments