uu.seUppsala University Publications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Analyzing performance variation of task schedulers with TaskInsight
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computer Architecture and Computer Communication. (Uppsala Architecture Research Team)ORCID iD: 0000-0003-2314-7307
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computer Architecture and Computer Communication. (Uppsala Architecture Research Team)
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computer Architecture and Computer Communication. (Uppsala Architecture Research Team)
2018 (English)In: Parallel Computing, ISSN 0167-8191, E-ISSN 1872-7336Article in journal (Refereed) Published
Abstract [en]

Recent scheduling heuristics for task-based applications have managed to improve performance by taking into account memory-related properties such as data locality and cache sharing. However, there is still a general lack of tools that can provide insights into why, and where, different schedulers result in different memory behavior, and how this is related to the applications’ performance.

To address this, we present TaskInsight, a technique to characterize the memory behavior of different task schedulers through the analysis of data reuse across tasks. TaskInsight provides high-level, quantitative information that can be correlated with tasks’ performance variation over time to understand data reuse through the caches due to scheduling choices. TaskInsight is useful to diagnose and 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 40% difference on average (and up to 7x slowdowns) across the Montblanc benchmarks due to changes in the tasks’ data reuse through the private and shared caches. This flexible insight is key for optimization in many contexts, including data locality, throughput, memory footprint or even energy efficiency.

Place, publisher, year, edition, pages
Elsevier, 2018.
Keyword [en]
Task Scheduling, TaskInsight, Scheduling, Cache Modeling, Memory, Performance
National Category
Computer Engineering
Research subject
Computer Science
Identifiers
URN: urn:nbn:se:uu:diva-340202DOI: 10.1016/j.parco.2018.02.003OAI: oai:DiVA.org:uu-340202DiVA: diva2:1178003
Projects
UPMARCResource Sharing Modeling
Available from: 2018-01-26 Created: 2018-01-26 Last updated: 2018-02-23Bibliographically approved
In thesis
1. Modeling the interactions between tasks and the memory system
Open this publication in new window or tab >>Modeling the interactions between tasks and the memory system
2017 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

Making computer systems more energy efficient while obtaining the maximum performance possible is key for future developments in engineering, medicine, entertainment, etc. However it has become a difficult task due to the increasing complexity of hardware and software, and their interactions. For example, developers have to deal with deep, multi-level cache hierarchies on modern CPUs, and keep busy thousands of cores in GPUs, which makes the programming process more difficult.

To simplify this task, new abstractions and programming models are becoming popular. Their goal is to make applications more scalable and efficient, while still providing the flexibility and portability of old, widely adopted models. One example of this is task-based programming, where simple independent tasks (functions) are delegated to a runtime system which orchestrates their execution. This approach has been successful because the runtime can automatically distribute work across hardware cores and has the potential to minimize data movement and placement (e.g., being aware of the cache hierarchy).

To build better runtime systems, it is crucial to understand bottlenecks in the performance of current and future multicore systems. In this thesis, we provide fast, accurate and mathematically-sound models and techniques to understand the execution of task-based applications concerning three key aspects: memory behavior (data locality), scheduling, and performance. With these methods, we lay the groundwork for improving runtime system, providing insight into the interplay between the schedule's behavior, data reuse through the cache hierarchy, and the resulting performance.

Place, publisher, year, edition, pages
Uppsala University, 2017
Series
Information technology licentiate theses: Licentiate theses from the Department of Information Technology, ISSN 1404-5117 ; 2017-002
National Category
Computer Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-335530 (URN)
Supervisors
Projects
UPMARC
Available from: 2017-10-01 Created: 2017-12-06 Last updated: 2018-01-31Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full text

Authority records BETA

Ceballos, GermánHugo, AndraBlack-Schaffer, David

Search in DiVA

By author/editor
Ceballos, GermánHugo, AndraBlack-Schaffer, David
By organisation
Computer Architecture and Computer Communication
In the same journal
Parallel Computing
Computer Engineering

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 46 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf