Title | ||
---|---|---|
Hierarchical place trees: a portable abstraction for task parallelism and data movement |
Abstract | ||
---|---|---|
Modern computer systems feature multiple homogeneous or heterogeneous computing units with deep memory hierarchies, and expect a high degree of thread-level parallelism from the software. Exploitation of data locality is critical to achieving scalable parallelism, but adds a significant dimension of complexity to performance optimization of parallel programs. This is especially true for programming models where locality is implicit and opaque to programmers. In this paper, we introduce the hierarchical place tree (HPT) model as a portable abstraction for task parallelism and data movement. The HPT model supports co-allocation of data and computation at multiple levels of a memory hierarchy. It can be viewed as a generalization of concepts from the Sequoia and X10 programming models, resulting in capabilities that are not supported by either. Compared to Sequoia, HPT supports three kinds of data movement in a memory hierarchy rather than just explicit data transfer between adjacent levels, as well as dynamic task scheduling rather than static task assignment. Compared to X10, HPT provides a hierarchical notion of places for both computation and data mapping. We describe our work-in-progress on implementing the HPT model in the Habanero-Java (HJ) compiler and runtime system. Preliminary results on general-purpose multicore processors and GPU accelerators indicate that the HPT model can be a promising portable abstraction for future multicore processors. |
Year | DOI | Venue |
---|---|---|
2009 | 10.1007/978-3-642-13374-9_12 | LCPC |
Keywords | Field | DocType |
hierarchical place tree,data locality,dynamic task scheduling,portable abstraction,deep memory hierarchy,data mapping,task parallelism,hpt model,explicit data transfer,memory hierarchy,programming model,x10 programming model,data movement,heterogeneous computing,data transfer,thread level parallelism,multicore processors,work in progress | Memory hierarchy,Programming paradigm,Computer science,Data mapping,Task parallelism,Parallel computing,Compiler,Theoretical computer science,Data parallelism,Scalable parallelism,Runtime system | Conference |
Volume | ISSN | ISBN |
5898 | 0302-9743 | 3-642-13373-8 |
Citations | PageRank | References |
53 | 2.41 | 10 |
Authors | ||
4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Yonghong Yan | 1 | 656 | 114.13 |
Jisheng Zhao | 2 | 480 | 24.34 |
Yi Guo | 3 | 414 | 44.10 |
Vivek Sarkar | 4 | 4318 | 409.41 |