Iteration disambiguation for parallelism identification in time-sliced applications

Shane Ryoo, Christopher I. Rodrigues, Wen Mei W. Hwu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Media and scientific simulation applications have a large amount of parallelism that can be exploited in contemporary multi-core microprocessors. However, traditional pointer and array analysis techniques often fall short in automatically identifying this parallelism. This is due to the allocation and referencing patterns of time-slicing algorithms, where information flows from one time slice to the next. In these, an object is allocated within a loop and written to, with source data obtained from objects created in previous iterations of the loop. The objects are typically allocated at the same static call site through the same call chain in the call graph, making them indistinguishable by traditional heap-sensitive analysis techniques that use call chains to distinguish heap objects. As a result, the compiler cannot separate the source and destination objects within each time slice of the algorithm. In this work we discuss an analysis that quickly identifies these objects through a partially flow-sensitive technique called iteration disambiguation. This is done through a relatively simple aging mechanism. We show that this analysis can distinguish objects allocated in different time slices across a wide range of benchmark applications within tens of seconds even for complete media applications. We will also discuss the obstacles to automatically identifying the remaining parallelism in studied applications and propose methods to address them.

Original languageEnglish (US)
Title of host publicationLanguages and Compilers for Parallel Computing - 20th International Workshop, LCPC 2007, Revised Selected Papers
Pages110-124
Number of pages15
DOIs
StatePublished - 2008
Event20th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2007 - Urbana, IL, United States
Duration: Oct 11 2007Oct 13 2007

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume5234 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other20th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2007
Country/TerritoryUnited States
CityUrbana, IL
Period10/11/0710/13/07

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Iteration disambiguation for parallelism identification in time-sliced applications'. Together they form a unique fingerprint.

Cite this