arrow
Return

Optimizing Streaming Parallelism on Heterogeneous Many-Core Architectures

delete2020-08-01
delete16
delete
OA
AI
Z
Zhang, Peng
J
Jianbin Fang *
Y
Yang, Canqun
H
Huang, Chun
T
Tang, Tao
Z
Zheng Wang
DOI:10.1109/TPDS.2020.2978045delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
As many-core accelerators keep integrating more processing units, it becomes increasingly more difficult for a parallel application to make effective use of all available resources. An effective way of improving hardware utilization is to exploit spatial and temporal sharing of the heterogeneous processing units by multiplexing computation and communication tasks - a strategy known as heterogeneous streaming. Achieving effective heterogeneous streaming requires carefully partitioning hardware among tasks, and matching the granularity of task parallelism to the resource partition. However, finding the right resource partitioning and task granularity is extremely challenging, because there is a large number of possible solutions and the optimal solution varies across programs and datasets. This article presents an automatic approach to quickly derive a good solution for hardware resource partition and task granularity for task-based parallel applications on heterogeneous many-core architectures. Our approach employs a performance model to estimate the resulting performance of the target application under a given resource partition and task granularity configuration. The model is used as a utility to quickly search for a good configuration at runtime. Instead of hand-crafting an analytical model that requires expert insights into low-level hardware details, we employ machine learning techniques to automatically learn it. We achieve this by first learning a predictive model offline using training programs. The learned model can then be used to predict the performance of any unseen program at runtime. We apply our approach to 39 representative parallel applications and evaluate it on two representative heterogeneous many-core platforms: a CPU-XeonPhi platform and a CPU-GPU platform. Compared to the single-stream version, our approach achieves, on average, a 1.6x and 1.1x speedup on the XeonPhi and the GPU platform, respectively. These results translate to over 93 percent of the performance delivered by a theoretically perfect predictor.
Keywords:
Task analysis
Graphics processing units
Hardware
Parallel processing
Runtime
Machine learning
Predictive models
Heterogeneous computing
parallelism
performance tuning
machine learning
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Parallel and Distributed Systems cover
IEEE Transactions on Parallel and Distributed Systems
IF:
6
Papers:
5.2K
Citations:
1.1W

Organization

U
university of leeds
Scholars:
3.6W
Papers: 3.3W
Citations: 45
N
national university of defense technology - china
Scholars:
1.8W
Papers: 1.4W
Citations: 9