[Comm/MPI]Improving Communicatio
论文题目:Improving Communication by Optimizing On-Node Data Movement with Data Layout
文章时间:
会议/期刊:PPoPP 2021-02-17
作者背景:Utah,伯克利
笔记时间:2021年09月16日周四
论文地址: ppopp
Abstract
我们通过减少节点上数据的移动,在一类分布式内存的应用上,呈现了提升通讯性能的优化技术。工作的主要理念是消除数据移动过程中的打包和解包。网络带宽的提升减少了离线数据传输的代价,本机数据移动已经高于计算和网络的代价。数据移动在某些小领域有着极大的代价,比如memory-intensive multi-physics codes or when strong scaling to reduce time-to-solution。优化方案包括,(1)优化数据位置,通过非直接的无包(pack-free)通讯,(2)建立连续的内存视角,利用内存映射来最小化消息,(3)将这些技术应用在节点内部的数据移动上。可以达到最多14.4x的优化。
Intro
有许多并行算法展现出一种常见的通讯模式,即讯息包括最近的数据。这个通讯模式有以下的特点:(1)静态,在迭代过程中,数据地址和大小是不变的;(2)子集,算法中的数据是远不数据的一个子集,他们可能与内存不邻接;(3)重叠,子集间的通讯是重叠的,所以相同的数据可以送到多个邻居这里。
Related work
对于stencil applications,有很多工作聚焦于MPI通讯的影响,但是没有人考虑过内存位置的来消除节点间数据的移动开销。
There are a few investigations of fine-grained data blocking, such as Briquettes [11], folded vectors in YASK [25], and bricks [27, 28], 但是他们没有考虑到重新排序内存来提升;现有的大多数工作都考虑节点间带宽和延迟的tradeoff,节点上的数据移动问题没有人考虑。
通讯和计算重叠技术;
内存重新映射技术在很多其他领域,比如文件系统IO,分布式共享内存系统。本文是第一个结合该技术来减少MPI通讯中的数据移动问题。
针对stencil问题,这个不太熟悉,所以论文看不大懂。