论文部分内容阅读
近些年来,随着计算机硬件技术的飞速发展,科学计算的能力越来越强,随之产生了规模庞大的计算数据,如何对这些海量数据进行有效、快捷的可视化,是急需解决的问题。它不仅包括如何更快的去处理数据,还包括如何更好的表达数据。 基于Cluster和投影设备的显示墙技术是最近研究的热点,它不仅通过多个显示设备的拼接实现大屏幕输出,而且Cluster作为后台的驱动设备有利于可视化的并行处理。我们对此技术进行了探讨,并提出了基于大屏幕显示的可视化系统模型。 传统的可视化系统采用Client-Server结构,这种结构降低了系统的灵活性,不利于可视化Client端和计算Server端的扩展和更新。我们在两者之间引入通讯中间件(Commware),隐藏Client和Server之间的通讯细节,使得它们成为彼此独立的子系统,这给系统的维护、扩充和重用带来了很大的便利。 作为Client-Commware-Server结构的应用实例,我们分别研制了两个大规模科学计算可视化系统:PRIS-Explorer(油藏模拟后处理系统)和SMSP(分子模拟系统)。前者开发的关键在于大规模并行计算数据的处理和面向对象技术的运用;后者的关键则是一个基于OpenGL的分子建模系统的实现。无论是作为科学计算可视化的研究课题,还是作为自主版权行业应用软件的开发,这两个系统的实现都有着重要的意义。 数据处理是大规模科学计算可视化中的难点和关键,它包括了对海量离散数据的压缩、存储、传输和绘制,而快速傅立叶变换(FFT)则是处理上述问题的重要算法之一。 作为公认的上个世纪最重要的基础算法之一,FFT在包括可视化尤其是大规模科学计算可视化在内的众多领域有着广泛的应用。但无论是一维还是高维情形,现有的傅立叶变换均是基于张量积方法将高维问题转化为低维问题进行处理,这大大限制了傅立叶变换的应用范围。如何定义非规则区域上的傅立叶变换并实现相应的FFT算法,一直是棘手的问题。 本文在理论上的主要贡献就是利用多色排序、区域分解和多重网格的思想,设计了二维三方向平行六边形区域和三维四方向平行十二面体区域上广义离散傅立叶变换的快速算法并给出它在PC Linux机群上的并行实现. 我们把这类二维三方向、三维四方向以及一般的m维m+1方向区域上的广义离散傅立叶变换统一记为HFFT(High一dimensionFas七Four论:Transfor-mation). HFFT是典型的数据密集型计算,通讯在计算过程中占绝对的主导地位,获得高性能并行算法的关键在于如何尽可能减少数据通讯。通过谁用特定的数据结构,并充分利用HFFT算法的内在并行性,本文提出了一种基于分布式存储的并行HFFT算法.在多达128个CPU的微机机群上的敬值实验表明,此算法具有较好的并行性能. 本文的主要贡献如下:·提出了使用大屏幕显示技术、适用于大规模科学计算可视化系维的Cllent- Commware一Server模型;·实现了油藏数值模拟和分子模拟两个大规模科学计算的可视化系统;·给出了二维三方向六边形区域、三维四方向十二面体区域上的HFFT算 法,将变换的计算复杂度分别从直接计算的O(N4)和O(N“)量级降到了 快速算法的O(NZ logN)和O(N3 logN)量级;-·最后,本文给出了一种基于分布式存储的并行HFFT算法,并对影响、提 高并行算法的若干因素进行了分析。