Application of the ParalleX execution model to stencil-based problems
In the prospect of the upcoming exa-scale era with millions of execution units, the question of how to deal with this level of parallelism efficiently is of time-critical relevance. State-of-the-Art parallelization techniques such as OpenMP and MPI are not guaranteed to solve the expected problems of starvation, growing latencies, overheads, and contention. On the other hand, new parallelization paradigms promise to efficiently hide latencies and contain starvation and contention.
In this paper we analyze the performance of one novel parallelization strategy for shared and distributed memory machines. We will focus on shared memory architectures and compare the performance of the ParalleX execution model against the quasi-standard OpenMP for a standard stencil-based problem. We compare in detail the OpenMP implementation of two applications of Jacobi solvers (one based on regular grid and one based on an irregular grid structure) with the corresponding implementation of these applications using HPX (High Performance ParalleX), the first feature-complete, open-source implementation of ParalleX, and analyze the results of both implementations on a multi-socket NUMA node.
KeywordsIterative solvers ParalleX Execution model High Performance ParalleX (HPX) OpenMP Parallel algorithms Parallel runtime systems Dataflow
We thank Matthew Anderson for helpful discussions and for preparing the irregular grids we used. We thank Georg Hager for optimizing the OpenMP usage and for suggesting the applied performance model. We acknowledge the support from the Center for Computation and Technology (CCT) at Louisiana State University (LSU) and from NSF grants (1029161, 1117470) to LSU.
- 3.Message Passing Interface Forum (2009) MPI: a message-passing interface standard, version 2.2. High Performance Computing Center Stuttgart (HLRS), Stuttgart, Germany Google Scholar
- 5.STE||AR Group (2011) Systems Technologies, Emerging Parallelism, and Algorithms Research. http://stellar.cct.lsu.edu
- 6.Anderson M, Brodowicz M, Kaiser H, Sterling TL (2011) An application driven analysis of the ParalleX execution model. CoRR abs/1109.5201. http://arxiv.org/abs/1109.5201
- 9.Friedman DP, Wise DS (1976) Cons should not evaluate its arguments. In: ICALP, pp 257–284 Google Scholar
- 10.Papadopoulos G, Culler D (1990) Monsoon: an explicit token-store architecture. In: 17th International symposium on computer architecture, no. 18(2) in ACM SIGARCH computer architecture news, May 28–31. ACM Digital Library, Seattle, Washington, Google Scholar
- 13.Janna C, Ferronato M (2011) Janna/Serena sparse matrix. http://www.cise.ufl.edu/research/sparse/matrices/Janna/Serena.html
- 15.Triebig J (2012) Likwid: Linux tools to support programmers in developing high performance multi-threaded programs. http://code.google.com/p/likwid/
- 16.McCalpin JD (2012) STREAM: Sustainable memory bandwidth in high performance computers. A continually updated technical report, University of Virginia, Charlottesville, VA (1991–2007). http://www.cs.virginia.edu/stream/