读数据可视化31高性能科学计算

读数据可视化31高性能科学计算

1. 高性能科学计算

1.1. 计算技术和存储技术的进展催生了大规模并行计算的软件和硬件系统的迸发,同时也导致了飞速扩容的计算数据

1.2. 千万亿次超级计算机提供的强劲计算能力使得科学家可研究更复杂的模型,进行更大规模的模拟计算

1.3. 神威·太湖之光

  • 1.3.1. 是中国首台自行设计生产全部关键组件而登上第一名宝座的超级计算机

  • 1.3.2. 2016年,基于“神威·太湖之光”系统的三项应用入围被称作超算应用领域诺贝尔奖的“戈登·贝尔”奖,占全部入围数量的一半

  • 1.3.3. “全球大气非静力云分辨模拟”为中国首次摘得“戈登·贝尔”奖

1.4. 被用于生物医药、工程仿真、遥感数据处理、天气预报和气候模拟等领域,为提升我国科研实力提供了不可或缺的关键技术保障

1.5. 随着高性能计算机技术的突破,科研人员可构造高精度的数学模型,通过科学计算来模拟不同的社会和自然现象

1.6. 高性能科学计算的应用通常产生大规模科学数据集,其中包含高精度和高分辨率的体数据、时变数据和多变量数据

  • 1.6.1. 一个典型的数据集可包含十至上百TB(1TB=1012B)的数据

1.7. 如何从这些庞大复杂的数据中快速而有效地提取有用的信息,成为高性能科学计算发展中的一个关键技术难点

  • 1.7.1. 科学可视化通过一系列复杂的算法将数据绘制成高精度、高分辨率的图片

  • 1.7.2. 科学可视化的交互工具允许科学家实时改变数据处理和绘制算法的参数,对数据进行观察和定量或定性分析

  • 1.7.3. 有效地结合了科学家的专业领域知识,利于从大数据集中快速验证科学猜想并获得新的科学发现

2. 高性能科学可视化的挑战

2.1. 传统的可视化算法设计面向单台计算机或者处理单元,而单台计算机无法实时处理TB级别的数据

2.2. 实时处理这些大规模数据需要由多台计算机组成的计算机集群,并设计并行可视化算法

2.3. 衡量并行可视化算法的主要指标是并行效率及其可扩展性

2.4. 由于硬件和数据集大小的限制,传统的并行可视化算法往往都应用于小规模的计算机集群,一般包括数十或者上百个计算节点

2.5. 实际应用可能会要求可视化算法运行在数千甚至上万个节点上,这对可视化算法的可扩展性提出了新的要求

2.6. 算法本身很难并行化,在数据规模较小的情况下,对其扩展性的要求并不是很高

  • 2.6.1. 随着数据规模的增大,这些算法的效率逐渐成为整个流程的瓶颈

  • 2.6.2. 如何对这些算法提出新的并行设计,成为一个新的研究热点

2.7. 基于曲线的可视化关键算法—粒子跟踪(Particle Tracing)的并行化算法设计

2.8. 传统的并行绘制算法一般分为三类:sort-first、sort-middle和sort-last

2.9. sort-last

  • 2.9.1. sort-last算法由于其良好的可扩展性被广泛地应用于大规模并行绘制中

  • 2.9.2. 将数据分割并分配到每个计算节点上

  • 2.9.3. 每个计算节点独立绘制各自所分配到的数据,在这一步节点之间基本不需要数据传输

  • 2.9.4. 所有的计算节点将各自绘制的图片汇总并合成最终的图片结果

  • 2.9.5. 完成并行图像合成

  • 2.9.5.1. 由于在节点间可能需要大量的数据交换,因此这一步往往是并行绘制的瓶颈

2.10. 在不同的并行图像合成算法中,直接传送(Direct Send)和二叉交换(Binary Swap)是最具有代表性和常用的算法

  • 2.10.1. 直接传送算法的设计非常简单,首先均匀分割并分配图像空间,继而每个计算节点与其他节点通信,搜集其负责的图像空间所对应的图像数据,并进行图像合成

  • 2.10.2. 二叉交换算法以传统的二叉树形式进行图像合成

  • 2.10.2.1. 对于N个节点,整个合成过程需要进行logN步,每一次合成中每个节点只需与另一个节点交换数据,总共开销为NlogN

  • 2.10.2.2. 二叉交换算法的可扩展性非常好,其通信开销的增长很慢

  • 2.10.2.3. 为了充分发挥并行性,二叉交换需要的节点数为2的指数次方,当节点数很大时有一定的局限性

2.11. 2-3 swap算法

  • 2.11.1. 结合了直接传送方法和二叉交换方法的优点

  • 2.11.2. 此算法的通信开销与二叉交换方法类似,为O(NlogN)​

  • 2.11.3. 灵活性与直接传送方法一致,对节点数没有任何限制

  • 2.11.4. 主要思想类似于二叉交换方法:对于任意的节点数,先构造2-3树,在树的每一层的节点之间使用直接传送方法进行数据交换

2.12. Radix-k算法

  • 2.12.1. 结合了直接传送方法和二叉交换方法的优点,它不局限于2的指数次方的节点数,同时允许通信和计算有部分重合

  • 2.12.2. 通信开销与二叉交换方法一样,但通信延迟开销介于直接传送方法和二叉交换方法之间

2.13. TOD-Tree算法进一步优化了Radix-k,获得了更好的负载平衡

2.14. 并行粒子跟踪

  • 2.14.1. 大多数二维流场可视化方法不能直接应用在三维流场上,因为很容易造成视觉上的杂乱无序

  • 2.14.2. 三维流场数据量通常都比较大,无法用单机进行实时交互分析

  • 2.14.3. 在大多数情况下,三维流场数据也是时变数据,其可视化需要考虑时间维度上的一致性

  • 2.14.4. 通常需要同时可视化流场数据和标量场数据,这进一步提高了计算性能要求和复杂度

  • 2.14.5. 流线是常用的基于曲线的可视化方法​,可描述流场的结构

  • 2.14.5.1. 流线可视化的核心步骤即粒子跟踪难以并行处理

  • 2.14.5.2. 关键在于如何减少计算节点之间的通信开销

  • 2.14.5.3. 基本思路是对数据进行划分,并在计算节点间进行分配;而采用的划分和分配方案,需要与数据的访问一致,即尽可能让节点只使用自身的数据进行粒子跟踪,减少数据交换

  • 2.14.6. 层次粒子跟踪方法

  • 2.14.6.1. 对流场数据进行预处理,将数据分割和分配到计算节点

  • 2.14.6.2. 进行并行粒子跟踪

  • 2.14.7. 静态的数据划分和负载平衡算法一般采用轮询调度(Round Robin)进行数据块分配

2.15. 层次流线束

  • 2.15.1. 大规模三维流场可视化的主要难点来自流场的复杂性

  • 2.15.2. 传统的基于流线的可视化方法常常无法避免视觉复杂度的问题

  • 2.15.3. 当流场中流线过多时,视觉复杂度大大提高,造成视觉上的杂乱无章

  • 2.15.4. 流线过少时,又无法保证流线覆盖一些重要的流场区域

  • 2.15.5. 基本思想

  • 2.15.5.1. 尽量让流线覆盖流场的重要区域

  • 2.15.5.2. 对于选择的流线,提取其附近的流线,使它们组成流线束,从而增强流线的视觉表达力

  • 2.15.5.3. 构造层次结构,控制流线束的数目和密度,显示不同层次的细节

  • 2.15.6. 步骤

  • 2.15.6.1. 通过流场的曲率场和扭矩场计算流场中的重要部分,这些重要部分一般对应于流场的拓扑关键结构

  • 2.15.6.2. 采用传统的层次聚类分析方法,根据线与线之间的相似程度,构造层次聚类,在同一聚类中,线条具有相同的形状

  • 2.15.6.3. 对每个聚类提取代表性的流线

  • 2.15.7. 对于更加复杂的集合(Ensemble)数据,还可以进一步统计流线束的分布概率,并结合箱图(Boxplot)等技术展现集合数据中的不确定性

2.16. 基于距离场的可视化

  • 2.16.1. 数据场每个点的重要性可用该点到用户感兴趣表面的距离的倒数表示,距离越近越重要;反之不重要

  • 2.16.2. 基于距离场的可视化方法,第一次让科学家可以看到湍流燃烧中的小漩涡结构,而这些结构因为太靠近等值面,过去很难用传统的可视化技术显示

  • 2.16.3. 可用于决定数据精度,与重要的区域越近,可采用越高的精度;反之亦然

  • 2.16.4. 基于这个思想可对数据场进行压缩,距离值用八叉树来表达,解压缩和绘制则用GPU来完成

3. 原位可视化

3.1. 传统的可视化基本上以“后处理”​(Post-processing)的模式出现,也就是科学模拟计算输出海量数据结果,保存在磁盘中

3.2. 随着近年来计算速度的提高,I/O速度与计算速度之间的差距越来越大,在模拟计算过程中,有的数据生成后,来不及保存到存储器中

3.3. 计算规模也越来越大,现有的存储系统无法保存所有的计算数据

3.4. 数据传输和I/O瓶颈的阻塞问题增加了数据分析和可视化的难度,降低了整个科学模拟研究的效率

3.5. 采用空间或者时间上的采样方法,最后只保存部分数据

3.6. 原位(In-situ)可视化指对计算过程中产生的数据不经过存储而直接在计算模拟的同一节点上进行实时可视化分析的过程,它将模拟计算和可视化处理紧密结合,计算出来的数据在原位被缩减和处理(如绘制成图片或抽取特征进行数据过滤)​,结果数据量将大幅度减少,需要保存和传输的数据也将大幅度减少,从而提高了可视化效率

3.7. 原位可视化的本质是将可视化计算代码嵌入模拟计算程序中,绕开I/O瓶颈,与其共享内存数据

3.8. 原位可视化被认为是解决千万亿次规模计算数据分析的最有效途径

3.9. 难题

  • 3.9.1. 可视化程序需要直接与科学模拟程序集成

  • 3.9.1.1. 为了减少数据的冗余,可视化程序与科学模拟程序需要共享数据结构

  • 3.9.2. 由于数据的分割和分配基本上优先满足科学模拟的需求,可视化程序的工作量在各个计算节点上有可能不平衡,需要重新设计可视化的工作分配算法,减少数据传输

  • 3.9.3. 可视化程序的开销不能太高,其可扩展性必须与科学模拟一致,适用于数十万或更多的计算节点

3.10. 嵌入计算程序的原位可视化主要包括数据组织与压缩、特征数据提取与跟踪和可视化绘制三部分内容

  • 3.10.1. 前两个方法的目的是减少数据量,以备后续的可视化处理使用

  • 3.10.2. 后者则充分利用计算过程中的数据信息,展示传统可视化中不可能保存的数据信息

  • 3.10.3. 三者可单独使用,也可结合使用

3.11. 原位数据组织与压缩将数据表达为更紧凑的形式,使得后续分析和可视化工作更为高效

3.12. 原位特征数据提取与跟踪指从原始数据中分离特定的物理结构、模式或感兴趣事件的特征

  • 3.12.1. 通常采用值域截断法、数据分割、拓扑分析、特征值及特征向量计算等方法提取特征,而Predication-Correction方法常用来跟踪特征

3.13. 原位可视化绘制将可视化绘制过程和科学模拟计算过程有机结合,两部分逻辑上独立但又需要协调运行

3.14. 越来越多的科学家倾向于通过图像而不是原始数据来分析超大规模数据

4. 未来挑战

4.1. 人类已经进入拍级别(Petascale)计算的年代

4.2. 在不远的未来,还将迎来艾级别(Exascale)计算,它预期的特征包括高并发性、多级内存层次、高复杂系统、不确定性等

4.3. 现有的计算模型、存储模型、编程模型、能耗模型等都不适合艾级别计算

4.4. 通用开源软件如VisIt和ParaView都提供了相应的可视化组件

4.5. 原位可视化算法将一部分可视化处理在计算节点上并行地实施

4.6. 结合应用的专业知识设计适合原位处理的特征数据(特别是时间序列)的提取与跟踪算法,这是原位可视化技术发挥其特点的关键

4.7. 简单易用的原位可视化中间件开发,这是原位可视化走向应用的关键

posted @ 2026-09-12 06:47  躺柒  阅读(11)  评论(0)    收藏  举报