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
期刊:
International Conference on Supercomputing
影响因子:
--
通讯作者:
X. Martorell
X. Martorell
中科院分区:
--
文献类型:
--
作者:
Michail Alvanos;Montse Farreras;Ettore Tiotto;J. N. Amaral;X. Martorell

文献摘要

被引文献

相似文献

分区全局地址空间(PGAS)语言的目标是提高大规模并行机中程序员的生产力。然而,PGAS 程序可能有许多细粒度的共享访问,从而导致性能下降。需要手动代码转换或编译器优化来提高具有细粒度访问的程序的性能。手动代码转换的缺点是增加了程序复杂性,从而降低了程序员的工作效率。另一方面,大多数细粒度访问的编译器优化需要了解物理数据映射和并行循环结构的使用。 本文提出了一种针对统一并行 C 语言的优化,该语言结合了共享数据的编译时(静态)和运行时(动态)合并,而无需了解物理数据映射。较大的消息可以提高网络效率,静态合并可以减少库调用的开销。性能评估使用两个微基准测试和三个基准测试来获取 Power 775 机器多达 32768 个内核的扩展和绝对性能数据。我们的结果表明,与基准版本相比,编译器转换的速度提高了 1.15 倍至 21 倍,并且其性能比 MPI 版本高出 63%。
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.