2009
DOI: 10.1145/1562164.1562188
|View full text |Cite
|
Sign up to set email alerts
|

Optimistic parallelism requires abstractions

Abstract: Irregular applications, which manipulate large, pointer-based data structures like graphs, are difficult to parallelize manually. Automatic tools and techniques such as restructuring compilers and runtime speculative execution have failed to uncover much parallelism in these applications, in spite of a lot of effort by the research community. These difficulties have even led some researchers to wonder if there is any coarse-grain parallelism worth exploiting in irregular applications.In this paper, we describe… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

1
113
0
1

Year Published

2010
2010
2019
2019

Publication Types

Select...
6
1

Relationship

2
5

Authors

Journals

citations
Cited by 76 publications
(115 citation statements)
references
References 19 publications
1
113
0
1
Order By: Relevance
“…The sequential implementation is written in C++ and compiled with gcc and the -O3 flag. The reference implementation is written in Java on top of the Galois framework [21]. The Java Virtual Machine used is the 64-bit Sun HotSpot server version 1.6.0 24.…”
Section: Experimental Evaluationmentioning
confidence: 99%
“…The sequential implementation is written in C++ and compiled with gcc and the -O3 flag. The reference implementation is written in Java on top of the Galois framework [21]. The Java Virtual Machine used is the 64-bit Sun HotSpot server version 1.6.0 24.…”
Section: Experimental Evaluationmentioning
confidence: 99%
“…Isolation types are also similar to the idea of transactional boosting, coarse-grained transactions, and semantic commutativity [16,19,20], which eliminate false conflicts by raising the abstraction level. Isolation types go farther though: for example, the type versioned T does not just avoid false conflicts, but resolves true conflicts deterministically (in a not necessarily serializable way).…”
Section: Related Workmentioning
confidence: 99%
“…The current threading library (e.g., Pthreads), a combination of compiler directives and libraries (e.g., OpenMP) and optimistic parallelization [1][2][3] were not designed to support programming for tolerating off-chip latency, or to handle efficient allocation and movement of data across hierarchy levels. It is often the case that in the underline thread execution model, a thread is enabled and activated as soon as all data and control dependencies are satisfied.…”
Section: Introductionmentioning
confidence: 99%