Improving communication in PGAS environments: static and dynamic coalescing in UPC
Improving communication in PGAS environments: static and dynamic coalescing in UPC
复制标题
改善 PGAS 环境中的通信:UPC 中的静态和动态合并
DOI:
--
复制
发表时间:
2013
期刊:
影响因子:
--
通讯作者:
X. Martorell
中科院分区:
文献类型:
--
作者:
Michail Alvanos;Montse Farreras;Ettore Tiotto;J. N. Amaral;X. Martorell
The goal of Partitioned Global Address Space (PGAS) languages is to improve programmer productivity in large scale parallel machines. However, PGAS programs may have many fine-grained shared accesses that lead to performance degradation. Manual code transformations or compiler optimizations are required to improve the performance of programs with fine-grained accesses. The downside of manual code transformations is the increased program complexity that hinders programmer productivity. On the other hand, most compiler optimizations of fine-grain accesses require knowledge of physical data mapping and the use of parallel loop constructs.
This paper presents an optimization for the Unified Parallel C language that combines compile time (static) and runtime (dynamic) coalescing of shared data, without the knowledge of physical data mapping. Larger messages increase the network efficiency and static coalescing decreases the overhead of library calls. The performance evaluation uses two microbenchmarks and three benchmarks to obtain scaling and absolute performance numbers on up to 32768 cores of a Power 775 machine. Our results show that the compiler transformation results in speedups from 1.15X up to 21X compared with the baseline versions and that they achieve up to 63% the performance of the MPI versions.