Shared work list: hacking amorphous data parallelism in UPC

  • Authors:
  • Shixiong Xu;Li Chen

  • Affiliations:
  • Chinese Academy of Sciences, Beijing, China;Chinese Academy of Sciences, Beijing, China

  • Venue:
  • Proceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

"Irregular" algorithms using data structures like sparse graphs, trees and sets prevail in the most emerging problems domains such as social network analysis, machine learning, data mining and computational science. The irregularity of underlying data structures leads to unstructured parallelism in these algorithms, consequently making it pretty hard for users to write efficient parallel implementations on distributed memory systems. Unified Parallel C language provides convenience of a global address space with the locality control needed for high performance and scalability. However, the Single Program Multiple Data execution model with a statically fixed set of executing threads makes UPC does not support applications with unstructured parallelism. In this paper, we first put forward Shared Work List to UPC and advocate a programming paradigm for writing applications with amorphous data parallelism on distributed memory systems. We also introduce user-assisted speculative execution based on Active Message model to support speculative execution on distributed memory systems. Efficient mechanism of work dispatching and related optimizations are presented as well. We preliminarily choose Breadth-first Search as a case study to demonstrate the feasibility, pro-grammability and performance benefits out of Shared Work List.