超级计算机可视化突破瓶颈 正在远离GPU

欢迎阅读安全在线文章《企业需要正视云计算的不利之处(上)>>      

在专门的图形处理芯片诞生后,在一些可视化需求很高的超前领域里通常使用多内核的超级计算机用以实现3D。不过超级计算机发展到今天,机器处理数据的速度早就超过了它们能够的I/O传输速度。基于图形处理器的集群正在变得过时。

没有GPU,能否实现可视化?

美国阿尔贡实验室以及其它地方的研究人员正试图找到一种解决方案–他们正在进行编程工作使得数以千计的处理器可以使超级计算机实现可视化,而不是将大量的数据都转移向一个专门的图形处理器渲染集群。

阿尔贡实验室的两位计算机科学家Tom Peterka、Rob Ross以及美国加利福尼亚大学戴维斯分校的两位研究员于洪峰(音译)、马匡六(戴维斯加大电脑科学系华裔副教授)已经为Intrepid(一台IBM蓝色基因超级计算机)完成了一种软件的编写,使得数据完全绕过图形芯片变成现实。"它允许我们在和数据附近–其实是同一台机器里,运行可视化的实验。" Peterka表示说,这个团队的解决方案避免了数据从次要的集群系统里转移时产生的延迟。

Peterka从北卡州立大学的John Blondin与Oak Ridge国家实验室的Anthony Mezzacappa获得实验数据,代表着30步骤的模拟恒星的爆炸,这是像Argonne这样的超级计算机能模拟的常见的数据。

通常情况下,Intrepid产生的可视化和后处理器的数据在557 Teraflops左右,这是世界上第七快的超级计算机,需要一块单独的图形处理器单元。在Petaflop的范围里需要更强大的计算机,目前还有更大的挑战。

"集群系统越大,I/O传输问题就会越明显。" Peterka说。在一个Petaflop级别的的超级计算机产生的数据写入磁盘的时候需要不可想象的时间。原因很简单:当超级计算机迫不及待地奔向下一代的时候,存储容量和存储带宽并没有跟上脚步。

GPU拖累千万亿次成本?

这一差距意味着,未来的超级计算机,只是可能无法负担独立的图形处理单元。"在千万亿次级别,独立的图形单元不符合成本效益。" 劳伦斯伯克力国家实验室的一位计算机系统工程师和可视化专家这样认为。他还指出,一台类似于阿尔贡实验室的Intrepid的可视化集群,通常投入在一百万美元左右,但是在未来这种花费可能提升20%。

Pat McCormick主导了位于美国洛斯阿拉莫斯国家实验室的世界上最快的超级计算机走鹃的可视化工作,他也认为说Peterka有关直接可视化的工作是至关重要的,因为"这些机器正在变得越来越大,你真的没有别的选择," McCormick说,"现有的以GPU为基础的可视化方法以后将只适合某些类型的模拟。"

"如果你消耗掉了计算机所有的计算资源,我不认为你还可以有选择," McCormick表示说,"如果你正在运行这么大规模的计算,你将必须在一个地方工作,因为它会一直不断地产生数据,你哪还有多余的计算资源去处理这些数据?"

Peterka、McCormick以及Hank Childs都在设想,未来的超级计算机可以实现仿真可视化的"就地处理",数据边产生边处理,而不是在全部产生后再进行处理。

"如果要在数据全部产生后再进行处理,这就需要绕行I/O," Childs如此表示,"你永远不用向磁盘里写东西。可以在发生的时候采取可视化程序和链接直接将仿真代码输出图像。"

当然,这种做法并非完全没有缺陷。"超级计算机是非常宝贵的资源," Childs提示说,"有人做了一个仿真模拟,然后这些数据耗费了一个小时来处理–这是非常昂贵的。"

随着桌面电脑向超级计算机和GPU一样融入到多核的世界和大型并行处理中,Peterka认为远离某种特殊功能的处理器会成为趋势。AMD已经推出了OpenCL代码,这使得有可能在任何X86的芯片上运行为GPU所写的代码–反之亦然。