Abstract
Application programs that exhibit strong locality of reference lead to minimized cache misses and better performance in different architectures. In this paper, we target task-based programs, and propose a novel compiler-based approach that consists of four complementary steps. First, we partition the original tasks in the target application into sub-Tasks and build a data reuse graph at a sub-Task granularity. Second, based on the intensity of temporal and spatial data reuses among sub-Tasks, we generate new tasks where each such (new) task includes a set of sub-Tasks that exhibit high data reuse among them. Third, we assign the newly-generated tasks to cores in an architecture-Aware fashion with the knowledge of data location. Finally, we re-schedule the execution order of sub-Tasks within new tasks such that sub-Tasks that belong to different tasks but share data among them are executed in close proximity in time. The experiments show that, when targeting a state of the art manycore system, our compiler-based approach improves the performance of 10 multithreaded programs by 23.4% on average.
| Original language | English (US) |
|---|---|
| Pages (from-to) | 47-48 |
| Number of pages | 2 |
| Journal | Performance Evaluation Review |
| Volume | 49 |
| Issue number | 1 |
| DOIs | |
| State | Published - Jun 2021 |
All Science Journal Classification (ASJC) codes
- Software
- Hardware and Architecture
- Computer Networks and Communications
Fingerprint
Dive into the research topics of 'Mix and Match: Reorganizing Tasks for Enhancing Data Locality'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver