使用粒子动画技术可视化大规模并行通信的踪迹(Visualizing Large-scale Parallel Communication Traces Using a Particle Animation Technique)

本文来自于2013年的EuroVis会议[1]。为了评估并行应用程序中通信开销对性能的影响,作者设计了一种基于动画的交互可视化技术,对并行应用程序执行过程中所出现的通信类型进行分析。

高性能计算(HPC)系统在如今的科学计算领域发挥了越来越重要的作用。但是另一方面,并行计算带来了进程间的通信开销,而这对于并行应用程序的性能有着显著的影响。随着进程数的增多,评估通信开销的难度也越来越大,这无疑也增加了优化数据分配和通信需求的障碍。本文针对这个问题,设计了一个可视分析工具,并且使用两台超级计算机进行数据收集和逐步转换格式的处理,并最终进行可视化。

该系统所设计的界面包括三个部分,一个颜色映射,一个时间线窗口(如下图所示),以及一个动画窗口。颜色映射用来给每个MPI函数分配唯一的颜色,并且最小化可能的重复。当然,我们并不需要考虑MPI框架的所有函数,因为很大一部分是不常用的,这样,我们只取其中的一小部分。并且,如果两个函数本质上比较类似或者可以很容易关联起来,那么将会被分配类似的颜色。下图展示了其中的一部分颜色映射。时间线窗口是一种堆叠图,对于一个给定的时刻,从中可以看出有多少个每种类型的事件在该时刻开始。另外,它也可以看作是动画窗口的导航界面。用户可以拖拽一个竖直条来控制当前的时间位置,也可以随意改变动画的速度。动画窗口在底部有一列片段,每个片段都代表一个进程的组合,片段上方的粒子代表了进程组所记录的事件,片段下方标注了进程组中第一个进程的ID。动画窗口的背景使用了网格,其中的横线限定了事件的持续时间,竖线用来分隔这些片段。在任何一个给定的时间,一个粒子的y坐标都对应着事件已经执行的时间。

为了生成动画,可以沿着时间轴以一个固定的速度在时间线窗口上滑动。在动画窗口上,粒子向上运动,其y坐标始终对应着所用的时间。当粒子到达了对应于其事件持续时间的高度时,它会停止运动并且在两秒内逐步消逝。消逝的粒子会以非常低的不透明度绘制在动画窗口的背景上,最终会形成历史背景图。

本文使用了四个线性代数问题来分析该系统,分别是矩阵求逆,楚列斯基分解,特征值求解和矩阵乘法。在矩阵求逆操作中,当一组进程执行通信操作时,其他进程处于空闲状态,这是因为每个进程组在执行自己的操作之前都需要等待上一组进程算出来的结果。特征值问题与矩阵求逆相似,但是在一组进程工作时其他进程也会参与通信。楚列斯基分解操作出现了一个对数曲线类型,而在矩阵乘法操作中,准备和通信时间占据了主导地位,相比之下,运算时间可以忽略不计。

在本篇文章中,作者通过自己的设计证明了数据流和动画方法能够促进大型数据集的可视化呈现,并且这些方法简化了时间以其相对顺序进行展示和并行执行的过程。在未来的工作中,作者计划在当前的可视化中实现缩放和过滤的功能,解决点太多造成的覆盖问题。

[1] Carmen Sigovan, Chris Muelder, Kwan-Liu Ma. “Visualizing Large-scale Parallel Communication Traces Using a Particle Animation Technique”. Eurographics Conference on Visualization (EuroVis) 2013, 32(3): 141-150.

评论关闭。