Mix and Match: Reorganizing Tasks for Enhancing Data Locality

Xulong Tang, Mahmut Taylan Kandemir, Mustafa Karakoy

Research output: Contribution to journalArticlepeer-review


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 languageEnglish (US)
Pages (from-to)47-48
Number of pages2
JournalPerformance Evaluation Review
Issue number1
StatePublished - Jun 2021

All Science Journal Classification (ASJC) codes

  • Software
  • Hardware and Architecture
  • Computer Networks and Communications


Dive into the research topics of 'Mix and Match: Reorganizing Tasks for Enhancing Data Locality'. Together they form a unique fingerprint.

Cite this