Benchmarking is an important challenge in HPC, in particular, to be able to tune the basic blocks of the software environment used by applications. The communication library and distributed run-time environment are among the most critical ones. In particular, many of the routines provided by communication libraries can be adjusted using parameters such as buffer sizes and communication algorithm. As a consequence, being able to measure accurately the time taken by these routines is crucial in order to optimize them and achieve the best performance. For instance, the SKaMPI library was designed to measure the time taken by MPI routines, relying on MPI's two-sided communication model to measure one-sided and two-sided peer-to-peer communication and collective routines. In this paper, we discuss the benchmarking challenges specific to OpenSHMEM's communication model, mainly to avoid inter-call pipelining and overlapping when measuring the time taken by its routines. We extend SKaMPI for OpenSHMEM for this purpose and demonstrate measurement algorithms that address OpenSHMEM's communication model in practice. Scaling experiments are run on the Summit platform to compare different benchmarking approaches on the SKaMPI benchmark operations. These show the advantages of our techniques for more accurate performance characterization.
翻译:特别是,在高常委会中,基准是一个重要的挑战,即能够调整应用软件环境的基本组成部分。通信图书馆和分布式运行时间环境是最关键的。特别是,通信图书馆提供的许多例行活动可以使用缓冲大小和通信算法等参数进行调整。因此,能够准确测量这些日常活动所花费的时间对于优化它们和实现最佳性能至关重要。例如,SKaMPI图书馆的设计是为了测量MPI例行活动的时间,依靠MPI的双面通信模型来衡量单面和双面对对面通信和集体例行活动。在本文件中,我们讨论了OpenSHMEM通信模型的具体基准挑战,主要是为了避免在测量日常活动所花费的时间时出现相互呼唤的管道和重叠。我们为此将OpenSHMEM的SKAM软件扩展SKAM软件,并展示针对 OpenSHMEM 通信模型的实际应用的计量算算法。在峰会平台上进行了调整实验,以比较SKAMPI基准业务的更精确性分析方法。