2004
DOI: 10.1007/978-3-540-30566-8_4
|View full text |Cite
|
Sign up to set email alerts
|

An Inspector-Executor Algorithm for Irregular Assignment Parallelization

Abstract: Abstract. A loop with irregular assignment computations contains loopcarried output data dependences that can only be detected at run-time. In this paper, a load-balanced method based on the inspector-executor model is proposed to parallelize this loop pattern. The basic idea lies in splitting the iteration space of the sequential loop into sets of conflictfree iterations that can be executed concurrently on different processors. As will be demonstrated, this method outperforms existing techniques. Irregular a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
12
0

Year Published

2009
2009
2016
2016

Publication Types

Select...
3
2
1

Relationship

1
5

Authors

Journals

citations
Cited by 16 publications
(12 citation statements)
references
References 11 publications
0
12
0
Order By: Relevance
“…Control-flow irregularity and memory-access irregularity are the two major types of irregularity that exist in programs. There has also been work done on run-time techniques, such as inspector/executor methods, for evaluating parallel irregular computations and reordering/reassigning the operations to remove data dependence conflicts and increase load balance [1]. The amount of static optimization that can be achieved in irregular computations is often limited due to data dependencies that can only be determined at run-time.…”
Section: Related Workmentioning
confidence: 98%
“…Control-flow irregularity and memory-access irregularity are the two major types of irregularity that exist in programs. There has also been work done on run-time techniques, such as inspector/executor methods, for evaluating parallel irregular computations and reordering/reassigning the operations to remove data dependence conflicts and increase load balance [1]. The amount of static optimization that can be achieved in irregular computations is often limited due to data dependencies that can only be determined at run-time.…”
Section: Related Workmentioning
confidence: 98%
“…A key aspect is that variables written within the access phase do not escape its scope, meaning that no writes to globally visible data are allowed (i.e. global variables and function arguments 3 , henceforth referred to as "globals" for brevity), since each loop slice is re-executed by the execute version, which performs the writes. Consequently, the compiler must ensure that globals are correctly identified and no updates are performed within the access phase.…”
Section: Access Phase Generationmentioning
confidence: 99%
“…Generating skeleton phases derived from the original code resembles techniques such as inspector-executor [3,5,35,36,43] and helper thread [23,34,45] methods. Inspector-executor techniques [3,5,35,36,43] rely on the concept of running an inspector version aimed to instrument and analyze the code and typically includes extra code to process the collected information.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…At run-time, wavefronts of concurrently executable loop iterations are identified and the loop iterations are reordered for increased parallelism. A similar approach has been taken also in [Arenaz et al 2004] where a loop with irregular assignment computations contains loop-carried output data dependencies that can only be detected at run-time. A load-balanced method based on the inspector-executor model is proposed to parallelize this loop pattern.…”
Section: Related Design Approachesmentioning
confidence: 99%