OpenSHMEM 实现的设计、评估与性能分析
1. 实验环境概述
在本次实验中,系统运行的是 Cray Linux 环境(CLE)版本 5.2up04 和 Slurm 版本 15.0.8.11。实验使用了 Libfabric(master@3dddae68),它是使用 gcc 版本 5.2.0 以优化级别 -O2 构建的,并且未使用特殊的配置选项。Sandia OpenSHMEM(master@a3662791)被配置为使用 uGNI 提供程序,同样未采用特殊优化。而 Cray SHMEM 的结果则是基于 Cray MPT 7.3.1 得出的。
这里需要注意的是,Cray SHMEM 是基于 DMAPP 构建的,而非 uGNI。DMAPP 是一种通信 API,它针对支持高性能 PGAS 编译器典型的小(例如 8 字节)传输进行了优化。因此,DMAPP 在 Aries NIC 中使用不同的硬件机制来管理 PCI - e 下游发布写信用(一种死锁避免机制,DLA),这与 uGNI 不同。相反,uGNI 则针对消息传递应用程序(包括 MPI 和 Lustre 的 LNET)中更典型的大传输进行了优化,同时也允许进程间高效共享 DLA 资源和 FMA 描述符。需要指出的是,较旧的 Cray XE 系统中不存在 DLA 机制,所以将此处呈现的结果与 Cray XE 系统中看似相似的结果进行比较意义不大。
实验使用了 SOS 通信微基准测试套件(包含在 SOS 发行版中)、可扩展整数排序(ISX)基准测试以及 HPCC 随机访问基准测试。对于仅需两个节点的通信微基准测试,测量是在连接到同一 Aries 路由器的节点上进行的。
超级会员免费看
订阅专栏 解锁全文
113

被折叠的 条评论
为什么被折叠?



