内容提要

客户:SciNet,加拿大最大的开放式超级计算中心

面对的挑战:一套在某平台上运作的天气预报代码丢失并且存储空间不足

解决方案:运行Allinea DDT来查明内存泄露所在

结果:Allinea DDT查找出在制造商的通信库中存在一个低级的内存泄露

小结:“类似这种问题,就需要一个高质量的工具来帮助我们快速找出问题原因,若没有Allinea DDT,我们可能永远不知道真正的问题所在,而继续去查看用户运行的代码是否有问题。Allinea DDT节省了我们的时间,也为我们带来了更多对于机器的研究结果。” 

——Daniel Gruner博士(SciNet首席软件技术官)

 SciNet运用Allinea的调试工具加速了加拿大领先高性能计算(HPC)系统在软件方面的发展

 “如果有人告诉你他的代码是百分百正确的,那他就太夸张了。”拥有20年相关经验的Daniel Gruner博士说道。参与实践并管理大型共享内存的并行计算机的他现已成为了加拿大最大的开放式超级计算中心的首席软件技术官。他说道:“无论你写代码多么有条理,无论你是多好的程序设计人员, 你依然会犯错,例如输入错误,逻辑错误,算法错误或是系统出问题。此时你必须能够找到问题所在,而且你需要一个高效工具来帮助你。”

SciNet已经在平台上使用Allinea DDT超过两年之久,当SciNet成为了加拿大最快的超级计算机IBM的Blue Gene/Q的主人时, Gruner和他的同事们才知道他们也可以依赖于Allinea DDT来完成一些工作。

SciNet的多平台全面系统覆盖了IBM Power,Blue Gene/Q, x86和GPU.它需要一个简单易用并能够配合各种平台的调试工具。

Gruner说:” Allinea DDT在这得到了广泛的应用,它是唯一一款可以满足多平台和GPU使用环境的工具,我们已经应用它取得了很大成功。”

 错误并不总是如你预期

一个令SciNet工作人员绞尽脑汁的问题是天气预报代码在Power755集群上不能正常运行,而在其他平台上可以。

“当代码不能运行时我们非常沮丧,但是我们知道它在其他平台上是可行的” Gruner说,“我们一次又一次地丢失内存,代码运行了一小部分就把内存空间用完了,这并不应该。”研究人员利用Allinea DDT快速找到了在IBM提供的通信库的低级模块中有一个内存漏洞。

“代码一直在运行,所以你没有预料到系统数据库中会有问题。你换了新版的系统工具,为了核心程序的安全要打补丁,这就是遇到问题的一般流程” Gruner说道。“这次的问题很棘手。Allinea DDT帮助我们找了问题出在IBM,并且修复了漏洞。像这种问题就需要高效的工具。没有Allinea DDT,我们可能永远不知道问题出在哪儿并一直纠结于代码。Allinea DDT节省了我们的时间,也为我们带来了更多对于机器的研究结果。”

软件采购必须优先考虑

软件工具发展的一个瓶颈就是取得投资者的信任。

“采购硬件是理所应当的,但是软件就通常被认为是可以自己写或者是免费获得的” Gruner说“人们通常竭尽所能去扩大电脑容量,而工具软件只会在事出之后考虑。这种想法需要转变。从我们技术投资的结果来看,我们需要给工作人员更多的工具支持,比如Allinea DDT,它能帮助他们提高工作效率。”

除了扩大Allinea DDT 的许可范围,SciNet 也为Allinea MAP购买了在x86系统是许可。

Allinea MAP 和 Allinea DDT 是一样的界面,这样用户就可以不再学习新软件去分析代码性能了。Gruner说拥有Allinea MAP 和 Allinea DDT这样的工具对于超级计算机平台上升到更大规模来说极其重要,并表示希望他的团队都能够使用该软件。

“在这些大系统中调试和优化代码必定会有更大的需求。”他说道。

为现代都市解决问题

现在SciNet的电脑能力已接近浮点操作。在2013年6月,新的 Blue Gene/Q配置有32768个核,在世界最快超级计算机前500中排77名。它已被安大略省南部的智能计算技术创新平台(SOSCIP)购买。SOSCIP联合了工业、政府和大学领袖来合力解决城市面对的健康、水和能源问题。该联合会也致力于高性能电脑软件的创新。

项目包括模拟控制流行病、 通过检查人工光合作用和水分解开发新能源、创建智能城市系统和改善安全的云环境。这台超级计算机给这个国家的研究者提供了足够的计算能力,来帮助研究加拿大的气候,从而解决了以前无法企及的大数据的挑战。 

“加拿大需要更多的知识型产业来帮助我们的国家经济实现多样化,这样或许可以拜托现有的大宗商品和自然资源的束缚,以及帮助我们消除创新差距,”多伦多大学的校长大卫·勒博士在宣布SOSCIP伙伴关系时说。

这个项目承载着很高的期望,SciNet意识到其的重要性,旨在帮助研究人员从其机器性能上获得更大的提高。错误和性能问题出现时,他们需要专注于技术来尽快找到一个解决方案。这样才能在全球市场保持国家竞争力——这就是Allinea DDT和AllineaMAP的突破口。 

“SciNet有一个非常受人尊敬的软件团队。为了国家利益,HPC亟需拓展其功能,为此他们在发展软件技能上发挥了主要的作用。”Allinea软件的首席运营官解释说道。“我们的软件工具Allinea DDT和Allinea MAP可以通过统一的界面来调试和分析,这在快速解决问题和给超级计算机传递结果上发挥了关键作用。”