Enabling Low-Overhead Communication in Multi-threaded OpenSHMEM Applications using Contexts

Enabling Low-Overhead Communication in Multi-threaded OpenSHMEM Applications using Contexts
复制标题

使用上下文在多线程 OpenSHMEM 应用程序中启用低开销通信

DOI:
--
复制
发表时间:
2019
期刊:
2019 IEEE/ACM Parallel Applications Workshop, Alternatives To MPI (PAW-ATM)
影响因子:
--
通讯作者:
B. Chapman
B. Chapman
中科院分区:
--
文献类型:
--
作者:
Wenbin Lu;Tony Curtis;B. Chapman

文献摘要

被引文献

相似文献

随着现代高性能计算(HPC)机器中每个节点的共享内存核心数量不断增长,MPI+线程等混合编程模型正成为科学应用的首选。虽然能够有效地利用计算资源,但混合应用程序中的线程经常相互竞争通信资源,从而对性能产生负面影响。OpenSHMEM分布式编程模型提供了通信上下文对象,可用于为线程提供对网络的隔离访问,从而减少争用。在这项工作中,我们讨论了OpenSHMEM上下文的设计和实现的上下文结构,以支持混合多线程应用程序和评估的执行性能。在我们所有的微基准测试中,线程显示出与单线程OpenSHMEM进程几乎相同的通信性能。通过在混合基准测试中使用上下文,我们已经实现了3D光晕交换的43.1%的性能改进,所有对所有通信的339%的改进,以及节点间负载平衡的35.4%的改进。
As the number of shared-memory cores per node in modern High Performance Computing (HPC) machines continues to grow, hybrid programming models like MPI+threads are be- coming a preferred choice for scientific applications. While being able to utilize computation resources efficiently, threads in hybrid applications often compete with each other for communication resources, resulting in a negative impact on performance. The OpenSHMEM distributed programming model provides com- munication context objects that can be used to provide threads with isolated access to the network, thus reducing contention. In this work, we discuss a design for OpenSHMEM contexts and an implementation of the context construct to support hybrid multi-threaded applications and evaluate the performance of the implementation. In all our micro-benchmarks, threads show nearly identical communication performance compared to single-threaded OpenSHMEM processes. By using contexts in hybrid benchmarks, we have achieved up to 43.1% performance improvement for 3D halo exchange, 339% improvement for all- to-all communication, and 35.4% improvement for inter-node load balancing.