[MPI]Idle Period Propagation in Message-Passing Applications

论文题目:Idle Period Propagation in Message-Passing Applications
文章时间:2016年12月
会议/期刊:HPCC 2016
作者背景:KTH 瑞典皇家理工,计算机学院
笔记时间:2021年10月25日周一
论文地址:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7828475
引用:8+


Abs
MPI应用的不同进程中不可避免的存在idle period。当额进程的idle time 是很好理解的,可能来资源系统或者架构的随机延迟,然而空闲时间是如何从一个进程转移到另一个进程的目前尚未明确。理解如何产生,就可以避免发生。为了理解传播模式,我们引入了一个方法论来trace空闲时间,当一个进程在等待数据从原发传过来。我们在三个系统上做了实验,我们确信空闲时间在不同的进程间移动并且有着不同的阶段。我们的方法可以识别自同步现象。

第一章

HPC中一个非常引人注目的课题是,随机的系统噪声和idle time是如何传播和影响系统性能的。事实上,实验证明随机的延迟在单个进程上发生在纳秒到微妙的级别,在不同进程间传播后,最终达到毫秒级延迟。尽管许多研究都在试图理解噪声是如何参数和影响单个进程的,导致噪声在大规模并行作业的不同进程间传播的机制还尚未明确。对噪声传播的完整理解可以使应用开发者在设计并行通讯时避免噪声的传播和性能的下降。

大多数并行科学计算软件遵循领域拆分的策略。这些应用大人物拆分成小的领域,指定子领域的工作到一个进程中。例如,当一个热力学公式需要有限差分技术时,整个模拟过程分解为一个在求解空间的计算网格,问题的变量来资源网格的点。整个计算网格随后被划分为更小的网格,这些变量的计算被分配到不同的进程上。在每个计算的循环中,每个进程只更新自己网格上的点数据。然而计算过程中,需要同步来交换邻居的数据。
因此,MPI程序需要在计算阶段和通信阶段中变换。理想情况下,每个进程在相同的时间计算完成,然后交换数据。然而现实中,软件硬件都可能造成计算速度的不一致,比如温度就是一个很重要的影响因素。提前完成的任务需要等后面的任务,这个等待的时间就是idle time。单个进程的idle time 好理解,但是不同进程间不是由通信造成的idle time的传播是一个尚未明确的问题。

对MPI程序的模拟表明,一个进程等其他进程时会产生idle time ,但是这个idle time 会在不同的进程间传播成wave[1]。
在超算中,产生delay的原因主要有两种

  1. 进程的不平衡
    不同的进程的计算量可能不同。设备温度,系统噪声,os抖动都困难造成延迟。点对点通信的本地隐式的同步使得idle time 在通信进程间传播

2.共享资源
当两个进程同时使用网卡时,会造成很大的性能下降

本文的目的是研究idle time 在不同进程间的传播。提出了一个通用的方法来追踪idle time。
1.我们通过实验证明idle wave在MPI程序中的存在。模拟实验证明它的存在,但是没有实际实验证明。
2.我们展示了idle wave的不同阶段。

  1. 我们第一个展示出MPI应用可以自同步,展示具有相同频率但不同阶段的空闲时期。

第二章 相关工作

先前基于模拟的idle在多个进程间传播工作,是基于特定通讯模式的,如邻居通信和集合通讯。LogGOPSim模拟器预测了MPI进程间的wave传播速度依赖于平均计算时间和网络参数。蒙特卡洛模拟器表明特定类型的集合操作有着隐藏进程不平衡的属性且可以最小化idle传播时间。不同于他们的研究,本文用实验追踪了idle的传播。

本课题的研究方案,噪声注入和模拟。系统噪声主要是由内核调度器产生的,相关的研究和解决方案都很多。

研究工作把os噪声分为高频短时间和低频高时间噪声,对HPC中的应用影响不同。有工作是作者部分的。

对系统噪声工作的拓展可以导致一些micro and lightweight kernels (LWKs)的发展。一些工作的主要目的是预测HPC系统的性能和可扩展型。

这里的相关工作看得我一头雾水,这些工作的内在联系是什么,是怎么联系起来的,

第三章 方法论和实验准备

3.1 trace data
为了研究idle periods的传播时间,我们需要首先测量单个进程的idle时间,当它等待接受远程进程发送的消息并且随后重建所有进程间idle period的传播。本文工作,等待数据的时间被测量为等待一个接受任务的完成。直接测量费杜泽的MPI操作很直接,始于MPI_Irecv,终于MPI_Wait,而在应用层直接测量阻塞通讯是不容易的。因此,我们写了一个扩展库,将MPI_Recv自动拆分成MPI_Irecv+MPI_Wait,并且测量等待的循环次数,使用 Time Stamp Counter (TSC) and the instruction RDTSC。

我们比较了 100次替换和不替换的性能差别,发现差异小于0.01%。我们收集每个应用的idle time ,重新组织idle time的传播。

我们注意到可能使用MPI外部的性能计数器来识别polling the message queue需要的时间。MPI_3的版本有MPI_T来提供计数的接口。然而本文写出的来的时候还没有。这个可以留到未来去做。

3.2 MPI 软件介绍

3.3 测试环境
介绍三个硬件平台

第四章 结果

我们分析了trace数据,并且识别出MPI进程间的idle出阿波。我们发现两个系统self-synchronization的证据。

4.1 idle period的传播
我们研究了在256个进程上100次计算循环的短期执行过程,idle period少,很哪可视化。
idle trace揭示了初始阶段硬件拓扑依赖关系,我们可以从图中清晰看出每个process的硬件关系,我们用线区分不同的节点和不同socket的进程。
在idle time传播的过程中,我们可以看到三个阶段
1, 在socket内部浮现的过程
2,idle wave
3,idle period mixing

我们在三个系统中都观察到类似的三阶段。一个直接的对比如图三所示。

4.2 MPI应用中的elf-Synchronization现象
对两个系统的分析可知,在一段时间后,系统会出现较长时间的idle periods。初始阶段的随机idle periods快速的传播到长规模的结构化idle periods。
分析所有的idle periods可知,尽管三个系统的软硬件都不同,但是他们的idle period非常相似。

第五章 讨论和结论

我们经验性地知道空闲时间在不同的进程间传递。然而传播机制和整体的影响还不明确。
本文的工作中,我们引入一个方法论来追踪MPI应用的空闲时间,使用MPI中阻塞的点对点通信。我们在三个不同的软硬件系统上做了实验,我们发现进程间的自同步表现出一组进程显著慢于其他的进程。
我们的方法允许应用开发者理解MPI应用中噪声的传播,指导他们设计并行通讯模式,来避免噪声传播和性能的减少。

我们提出的方法论适用于任何MPI程序,然而本文只在阻塞的通讯上做了实验。非阻塞的通讯允许计算和传输的overlap。然而现实中,计算和传输不可能完全覆盖,这种情况下,依然存在空闲时间。
在MPI系统中,集合通讯基于点对点通信。阻塞的集合通讯也受噪声的影响。未来的工作将聚焦于空闲时间在集合通讯上的传播,阻塞的集合通讯将被分成非阻塞的集合和一个同步操作。
我们的工作表明需要更多的长期的实验来观察自同步现象。我们在不同的超算系统上发现,旧系统的idle time 在新系统上是一样的。这表明idle 时间的传播问题对于当前和未来的系统都是一个重要的问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,294评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,780评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,001评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,593评论 1 289
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,687评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,679评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,667评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,426评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,872评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,180评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,346评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,019评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,658评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,268评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,495评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,275评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,207评论 2 352

推荐阅读更多精彩内容

  • 我的图书馆 留言交流 2000个最常用的英语单词 2016-05-15酴羰骀璺 2000个最常用的英语单词 (英语...
    Mr_Wang92阅读 646评论 0 0
  • Java基础常见英语词汇(共70个)['ɔbdʒekt] ['ɔ:rientid]导向的 ...
    今夜子辰阅读 3,281评论 1 34
  • Java 常见英语单词 (1.0 版本) 1. Java 基础常见英语词汇(70 个) OO: object-or...
    Nemo359阅读 2,169评论 0 0
  • 数据通信是计算机网络发展的前提,没有数据通信的发展就没有计算机网络的今天 计算机内部的数字数据通过数据编码技术转换...
    JYBlog阅读 1,897评论 0 1
  • 2.1 通信基础 通信的目的是传送消息(消息:语音、文字、图像、视频等)。 2.1.1 基本概念 2.1.1.1 ...
    AdRainty阅读 1,294评论 0 1