【IT168 专稿】实现HPC可视化,必须从一开始就考虑在规划并实现可视化设施过程中出现的许多问题。
从入门级设施开始扩展
即使是安装最大的可视化集群以及可视化墙也是从小型部署开始的。位于美国犹他州德克萨斯高级计算中心(UT/TACC)安装了世界上最大的HPC远程可视化集群以及最大的可视化墙,它们也是从小型部署开始的。Gaither博士说道:“UT/TACC的可视化墙以Barco公司的两个大投影机为起点:3x1的前端投影,无缝曲面显示技术;5x2的后端投影显示,而且维护该设施的成本很高,在使用它之前要进行大量的学习过程。”路易斯维尔大学的情况与UT/TACC相似。Elmaghraby 博士说道:“实际上我们使用了两种通用的方法。其中之一是在工作站使用人工干预的图像电子放大技术进行可视化,能够在不同的可视化对象之间进行巧妙地移动。但是该方法只能提供有限的焦点。使用大型视频墙,你可以扩展可视化区域,更好地观察数据中发生的变化。”随着研究项目变得越来越复杂,很自然低过渡到大型可视化集群以及可视化墙。
规划并实现可视化设施
在佛罗里达州立大学,Wilgenbusch博士正在实现本州非常先进的可视化集群及可视化墙。我们向Wilgenbusch博士询问他们如何解决面临的问题,正在考虑哪些问题以及所使用的技术。目前主要考虑的是高可用性以及标准的硬件:“我们想确保可视化资源的高可用性,否则将妨碍简化数据分析及可视化管道这一总体目标。目前,我们的系统架构由胖 Dell 集群节点组成(Dell™ PowerEdge™ C6105),所有的集群节点通过InfiniBand连接到基于次级存储系统创建的并行文件系统。我们把C6105连接到配置了最新的 NVIDIA Tesla™卡的C410X机架服务器上。”
新的可视化设施为佛罗里达州立大学解决了很多问题,而且该解决方案具有高度可扩展性。Wilgenbusch博士解释道:“在过去,为使文件大小处于合理的范围内,HPC模拟产生的大量数据在通过校园网传输到工作站进行归纳,可视化及分析之前被大量剔除了。该过程耗费了大量的人力及时间。我们的可视化系统现在在尝试简化这个过程,以便只有影像而不是将所有的数据通过网络传输到用户的工作站。近期目标是推出一个能够满足佛罗里达州立大学各个部门不同需求并具有高度可扩展性的解决方案。”
除硬件之外,也要考虑软件,尤其是考虑使用那些经过时间验证的集群控制和可视化软件。佛罗里达州立大学已经选择了使用由加州大学圣地亚哥分校设计的可视化集群软件ROCKS,该软件根据HPC可视化中许多不同的环境发布了几个特定的软件包。他们正在实现的架构和上文描述的架构之一类似,正如Wilgenbusch 博士所说,“主要的HPC文件系统在可视化节点以只读方式挂载。用户能够在HPC文件系统与InfiniBand可视化文件系统之间进行快速拷贝,能够从计算节点得到更好的性能,而且能够对数据进行进一步的操作。而且通过在可视化节点上挂载HPC文件系统并允许用户访问该文件系统,用户就可以使用软件实时读取HPC正在生成的数据。”
推荐阅读:高性能计算专区
面临的挑战
研究人员在进行可视化工作时面临诸多挑战,多数挑战和可视化管道的瓶颈以及在多个研究人员之间调度共享的可视化资源有关。
当前的可视化瓶颈—数据传送
如果说HPC可视化在过去存在的瓶颈是计算能力,那么超线程技术以及处理器处理能力的增加与成本的降低已经缓和了该局面。HPC模型生成了大量数据并将该数据从存储传送到可视化节点已经成为了一个关键的瓶颈。UT/TACC的Gaither博士非常清晰地描述了该问题:“我已经在UT/TACC工作了十几年,在这十几年中数据在急剧扩张。我很肯定这就是我们现在的瓶颈所在。多年以来我一直在考虑进行瓶颈的转移。但是在现在以及能够预见的未来,数据将是瓶颈所在。” 佛罗里达州立大学的Wilgenbusch博士印证了Gaither博士的观点:“在我们看来,对大型数据集进行可视化研究所面临的技术问题通常是应用程序及数据存储之间的带宽。”
如果数据传送是瓶颈所在,很自然的解决方案就是把数据放在彼此更近的位置。可以将可视化集群所使用的HPC存储的一部分用作可视化,一部分用作计算。正如Elmaghraby博士所说,“为了达到高性能,我们正在使用计算机集群对视频墙进行整合。实际上你可以分配这些计算机的一些计算资源而不仅仅是将他们用于可视化。你也可是将一个集群同时作为HPC集群以及HPC可视化墙。” Gaither 博士补充说:“规模很小的可视化可以在原地完成。也就是结合分析与模拟,消除写入数据集的步骤。”
Wilgenbusch博士做了进一步的说明:“在佛罗里达州立大学,我们将可视化系统用于渲染并使用其相应的内存,和通过高带宽连接的存储距离很近。我们已经构建了一个高端系统环境,它具有通过四倍速InfiniBand互连的大量内存以及速度非常快的存储。这一直是我们主要的关注点,而且在技术张遇到了巨大的困难。我们正在存储附近区域提供高端可视化资源,确保用户能够快速对模拟结果进行分析并借助通常并不能访问的高端可视化资源对这些结果进行可视化。”
为减少大型数据集的通道争用,当前可视化设置的常见扩展是在可视化集群中增加HPC计算及HPC存储。Gaither进行了非常简单明了的归纳:“采用分布式内存模型使高度平行的计算变得越来越复杂。从可视化的角度来看,如果数据超过了单个节点的内存能够存储的大小,这时你要解决的不仅仅是如何对计算进行并行化,而且还有如何对数据进行并行化。”
可以看出,可视化基础设施架构下一个演进是在可视化集群中使用本地HPC存储以及计算资源,并使用非常高速的带宽连接到后端的计算集群,而后端的计算集群将连接到云中。图12更加详细地显示了这一架构。
图12. 未来的可视化设施架构
调度
在彼此协作环境下实现共享资源的最优调度是一个永远存在的问题。可视化设施必须处理的一个重要问题就是在优化所有资源总利用率的同时如何实现研究人员的最大化访问。佛罗里达州立大学的Wilgenbusch博士说,“目前,我们正尝试在调度框架中集成交互式数据可视化环境。而这对我们来说一直是个挑战。如果大多数中心想支持可视化应用,那么他们也都在面临着这个挑战。我认为目前还没有很好的解决方案。” Wilgenbusch博士进一步解释说,“对我们来说主要的挑战是在调度端满足寻求在批处理环境中使用资源的人们能够在使用资源的过程中进行更多的交互。”但是在调度交互计算方面还没有太多进展,而这在HPC可视化中是很正常的运作模式。Wilgenbusch博士补充道,“以一致的方式解决交互式计算的调度问题几乎没有任何进展。一旦使用Dell设备部署可视化集群,我们认为将会了解到更多的信息。我们希望在调度端实现更多的改进,现在我们必须通过特别的脚本以及基于策略的解决方案解决调度问题。”
正如Wilgenbusch博士所说,一种调度可能的解决方案是创建基于策略的解决方案,也就是针对特定类型的使用用户能够在特定的时间内访问给定的资源。Wilgenbusch博士所指出的另一个问题就是调度混合计算资源能够使可视化及HPC计算同时受益,这是因为GPU能够同时用于渲染及HPC计算任务:“和德克萨斯高级计算中心(TACC)的Longhorn类似,我们正在混合性环境中尝试使用基于GPU的技术,以双用途方式使用并调度资源我们将得到更好地整体吞吐量。”
可视化与集群软件
可视化中的另一个重要问题和软件相关。在HPC中提出了并行计算以及分布式模型的新需求,而且存在大量遗留软件使迁移现有的软件到改进的平台变得困难。Gaither博士说,“当你不以纯粹的资源和硬件的角度看这个问题,那么在某些方面,编程模型以及对应的软件就是很明显的瓶颈所在。存在大量很难改变的遗留代码。”
可视化集群以及可视化软件配置很复杂。在大学里有大量学生轮番进行配置,这是个问题。根据Wilgenbusch博士所说,“正确配置软件对研究生来说是个巨大的挑战。如果研究生想使用专用的硬件,特别是GPU,他们必须是该领域的专家同时要理解支持该软件必需的一些技术细节。” Wilgenbusch博士补充道,“我们已经发现对一些部门来说配置可视化软件是最大的障碍之一—为了使用高端资源,仅仅是能够配置软件以相关的类库就为用户提供了大量帮助。”
软件修改及改变也是需要考虑的重要方面。UT/TACC的Gaither博士认为开源软件将在复杂的HPC设置中起到越来越多的作用:“可能并非主流的开源可视化软件能够帮助我们应对挑战。和商业化软件相比,开源软件允许我们能够更快地改变不断变化的需求。”
