Optimistic parallelism requires abstractions

@article{Kulkarni2009OptimisticPR,
  title={Optimistic parallelism requires abstractions},
  author={Milind Kulkarni and Keshav Pingali and Bruce Walter and Ganesh Ramanarayanan and Kavita Bala and L. Paul Chew},
  journal={Commun. ACM},
  year={2009},
  volume={52},
  pages={89-97}
}
The problem of writing software for multicore processors is greatly simplified if we could automatically parallelize sequential programs. Although auto-parallelization has been studied for many decades, it has succeeded only in a few application areas such as dense matrix computations. In particular, auto-parallelization of irregular programs, which are organized around large, pointer-based data structures like graphs, has seemed intractable. The Galois project is taking a fresh look at… Expand
Supporting efficient aggregation in a task-based STM
TLDR
This work proposes mechanisms that enable the programmer to tell the system how to respond to contention at a higher level of abstraction, eliminating whole classes of contention at minimal additional cost in complexity and shows that Aggro can outperform lock-based implementations and other optimistic systems such as Galois. Expand
Auto-parallelization of data structure operations for GPUs
  • R. Nasre
  • Computer Science
  • 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES)
  • 2014
TLDR
Two key aspects of the auto-parallelization technique are: it ensures linearizability of the data-structure, and it is capable of composing multiple data-Structure operations with the guarantee of optimal barrier placement, which it formally prove. Expand
Automatic Scaling Iterative Computations
Adapting the polytope model for dynamic and speculative parallelization. (Adaptation du modèle polyhédrique à la parallélisation dynamique et spéculatice)
TLDR
This thesis designs a parallel code pattern which is patched by the runtime system according to the profiling information collected on some execution samples, and performs code transformations by applying the polyhedral model that was adapted for speculative and runtime code parallelization. Expand
Context-oriented software transactional memory in common lisp
TLDR
CSTM is presented, an STM framework based on Context-oriented Progamming, in which transactions are modelled as dynamically scoped layer activations, which enables expressing transactional variable accesses as user-defined crosscutting concerns, without requiring invasive changes in the rest of a program. Expand
Finding and Exploiting Parallelism with Data-Structure-Aware Static and Dynamic Analysis
TLDR
This thesis introduces an enhanced compiler and runtime system that can parallelize sequential loops in a program by reasoning about a program’s high-level semantics, and presents distinctness analysis, a type of static alias analysis that is specially designed to derive results for parallelization that are just as precise as needed, while remaining simple and widely applicable. Expand
ANALYSIS OF PARALLEL ITERATIVE GRAPH APPLICATIONS ON SHARED MEMORY SYSTEMS
ANALYSIS OF PARALLEL ITERATIVE GRAPH APPLICATIONS ON SHARED MEMORY SYSTEMS Funda Atik M.S. in Computer Engineering Advisor: Özcan Öztürk January 2018 Graph analytics have come to prominence due toExpand
Exploiting Asynchrony for Performance and Fault Tolerance in Distributed Graph Processing
TLDR
This thesis captures the algorithmic intricacies and execution semantics that enable us to improve asynchronous processing and allow us to reason about semantics of asynchronous execution while leveraging its benefits. Expand
Enhancing and Evaluating the Configuration Capability of a Skeleton for Irregular Computations
  • C. Gonzalez, B. Fraguela
  • Computer Science
  • 2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing
  • 2015
TLDR
This paper improves and evaluates the configurability of a recently proposed skeleton that allows to parallelize irregular algorithms that can exploit amorphous data-parallelism and concludes that the skeleton allows to conveniently explore different possibilities for the parallelization of irregular applications, which can result in substantial performance improvements. Expand
Effective parallelization of loops in the presence of I/O operations
TLDR
This paper provides an easy-to-use programming model for exploiting parallelism in loops with I/O operations and proposes a set of techniques for efficiently parallelizing hybrid loops, which improves the application performance by 68% on average. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 22 REFERENCES
How much parallelism is there in irregular applications?
TLDR
The design and implementation of a tool called ParaMeter is described that produces parallelism profiles for irregular programs, and it is explained how these profiles provide insight into the behavior of these applications. Expand
Optimistic parallelism benefits from data partitioning
Recent studies of irregular applications such as finite-element mesh generators and data-clustering codes have shown that these applications have a generalized data parallelism arising from the useExpand
Scheduling strategies for optimistic parallel execution of irregular programs
TLDR
This work builds on the Galois system, and it addresses the problem of scheduling iterations of set iterators on multiple cores, and shows that the optimal scheduling policy can be different for different applications and often leverages application-specific knowledge. Expand
Transactional boosting: a methodology for highly-concurrent transactional objects
TLDR
A simple wrapper for the linearizable implementation that guarantees that concurrent transactions without inherent conflicts can synchronize at the same granularity as the originallinearizable implementation is defined. Expand
Open nesting in software transactional memory
TLDR
New language constructs to support open nesting in Java are described, and it is demonstrated how these constructs can be mapped efficiently to existing STM data structures, demonstrating how open nesting can enhance application scalability. Expand
Optimistic parallelism requires abstractions
TLDR
It is shown that Delaunay mesh generation and agglomerative clustering can be parallelized in a straight-forward way using the Galois approach, and results suggest that Galois is a practical approach to exploiting data parallelism in irregular programs. Expand
Sparse parallel Delaunay mesh refinement
TLDR
The authors recently introduced the technique of sparse mesh refinement to produce the first near-optimal sequential time bounds of O(n lg L/s+m) for inputs in any fixed dimension with piecewiselinear constraining (PLC) features, which is faster than the best previously known parallel Delaunay mesh refinement algorithms in two dimensions. Expand
Lightcuts: a scalable approach to illumination
Lightcuts is a scalable framework for computing realistic illumination. It handles arbitrary geometry, non-diffuse materials, and illumination from a wide variety of sources including point lights,Expand
...
1
2
3
...