用于在大规模并行应用程序中优化通信的可视分析系统 (A Visual Analytics System for Optimizing Communications in Massively Parallel Applications)

近年来,超级计算机被广泛应用于诸如气候和分子动力学模拟等大规模并行应用程序中。这些超级计算机往往包含大规模的计算结点,结点之间通过复杂的通信网络连接,例如5D torus或者dragonfly等。应用程序的计算任务被分配到各个计算结点,并且由这些结点协作完成。在这个过程中,结点之间的通信是非常关键的,在很大程度上影响着并行程序的可扩展性和并行效率。因此, 如何识别通信瓶颈并且对通信进行优化变得非常重要。造成通信瓶颈的原因有很多,例如通信路由比较长,通信网络上收发的信息量比较大等。研究者需要能够了解通信路由,减少通信网络拥堵。今年VAST会议上有一篇文章提出了一个可视分析系统,使用可视化方法对通信行为进行分析[1]。

图1 可视分析系统流程图

图1展示了该系统的流程图。系统根据程序运行的性能数据,首先对通信路由和网络拥堵进行可视化,继而识别线路长并且拥堵的路由,并且据此可以进行路由优化,从而提高通信性能。此外,系统还提出了可扩展的可视化,可以展示大规模的计算结点、网络链接以及通信路由。

图2 系统的可视化设计

系统的可视化设计如图2所示。主要包含三个视图,分别是通信视图、度量值排序视图,以及详细路由视图。

通信视图(图2(a))使用图可视化展示了通信的概观。在该视图中,结点表示通信结点,其大小表示收发信息量的总大小,颜色表示接收的信息占总收发信息的比例。结点之间的连线展示了计算结点之间的通信路由,使用堆叠折线图表示,每条折线都代表一个穿过多个结点的路由。折线的宽度表示信息量大小,颜色表示一种用户选择的用于度量的值,例如信息量大小和路由长度等。

度量值排序视图(图2(b))展示了与通信有关的度量,按照值由大到小竖直排序。这里面的度量可以是路由线路的长度,信息量大小,链接或者结点上的通信负载,等等。在该视图中,x轴表示所选度量值的范围,y轴表示降序排列。度量值越高,排列越靠上,表明出现通信瓶颈的可能性也更高。

详细路由视图(图2(c))展示了在其他视图上选择的路由的详细信息,使用邻接矩阵进行可视化。在该矩阵视图中,每行每列都表示计算结点,与图结点对应。每个矩阵单元表示一对结点之间的链接,其颜色表示该对结点是否相邻。矩阵行列的顺序也代表了结点的物理位置。如图3的示例,其通信网络是5D torus,包含五个维度,矩阵的行列是基于结点的坐标进行排列的,维度从E到A。矩阵视图中的通信路由由从源结点到目的结点的连续链接表示,链接的外边轮廓使用了颜色映射表示对应的负载。图3中展示了从蓝色方块表示的源结点到红色圆表示的目的结点的一条通信路径。

图3 邻接矩阵视图(详细路由视图)示例

图4 基于结点聚合的通信视图

为了能够对大规模计算结点的通信进行可视化,系统还在这些视图上使用一些基于聚合和折叠的可扩展方法。在通信视图中,根据物理坐标,结点可以被聚合在一起,如图4所示。在详细路径视图中,其分辨率也可以通过从低维度到高维度对行和列进行层次聚合来降低,如图5所示;系统还提供了放大镜来观察特殊的区域,并且支持对不相关的区域进行折叠,如图6所示。

图5 基于行列聚合的邻接矩阵视图(详细路由视图)

图6 基于放大镜和区域折叠的邻接矩阵视图(详细路由视图)

除了对通信行为进行可视化,该工作还可以为所选的路由提供更好的路径选择建议(rerouting),并且支持MPI rank到结点上计算核心的重新映射(remapping),以提高通信的性能。对于重路由,系统使用广度优先搜索算法,在同样的源结点和目的结点之间找到不拥堵的路线。对于重映射,系统计算更好的process-processor映射,可以减小MPI ranks之间的通信时间。重映射可以看作是一个二次分配问题。作者使用图划分算法将该问题进行分解,在每个子图中寻找最佳排列,最终得到完整的映射。

图7 系统可视化和重路由示例

图7给出了一个该系统的例子。首先从图7(a)中按照选定的度量(图中为通信量大小)对网络链接进行过滤,过滤后的通信视图如图7(b)。用户可以选择一条比较长的路由,应用重路由选项在详细路由视图7(c)上为该条路由选择一条更好的路线。如图7(d)所示,蓝色的折线即为系统找到的替代路线,可以在网络链接上减少1.2MB的通信量,有效避免了通信拥堵。

总的来说,该工作使用了overview + filtering + details的可视化探索方法,能够将并行应用程序中的网络通信行为进行可视化,并在此基础上提供了重路由和重映射的功能,可以优化其通信模式。该工作仍然可以有许多更深的东西可以研究,例如对通信瓶颈的本质原因(代码层面等)进行分析,提供更具体的针对单个结点或链接的可视化探索,等等。此外,并行程序的通信行为往往会随着时间的变化而改变,因此我们还需要更好的可视化工具对这一动态的过程进行研究。

Reference

1. Takanori Fujiwara, Preeti Malakar, Khairi Reda, Venkatram Vishwanath, Michael E. Papka, and Kwan-Liu Ma. A Visual Analytics System for Optimizing Communications in Massively Parallel Applications. In Proceedings of IEEE Conference on Visual Analytics Science and Technology (VAST’17), Phoenix, USA, Oct. 1-6, 2017.

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>