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设置中起到越来越多的作用:“可能并非主流的开源可视化软件能够帮助我们应对挑战。和商业化软件相比,开源软件允许我们能够更快地改变不断变化的需求。”