关闭菜单 参考资料…… William & 玛丽
w m菜单 关闭 William & 玛丽

scalanalyzer:一个屡获殊荣的查找计算瓶颈的工具

$_EscapeTool.xml($image_display_name)
奖项和论文:Xu Liu展示了《超级计算》2015年度最佳论文奖以及获奖论文《ScaAnalyzer:一种识别并行程序中内存可扩展性瓶颈的工具》。约瑟夫·麦克莱恩摄

计算机开发人员就像赛跑选手一样工作。一只脚——软件——必须跟上另一只脚——硬件的发展步伐。(当然,反之亦然)。

计算机世界充满了水泡和揉成一团的袜子之类的东西,它们是实现最佳速度的障碍,有时在看似无穷无尽的代码行中找到它们就像在跑鞋周围移动的小鹅卵石一样困难。

William & 玛丽的计算机科学家刘旭(Xu Liu)表示,隐藏在计算机及其代码深处的瓶颈就相当于鞋里的鹅卵石。刘是计算机科学助理教授,吴波是威廉玛丽大学计算机科学博士项目的2014届毕业生,他们开发了一种工具,可以找到难以捉摸的软件瓶颈,这将使计算机运行得更快、更高效。

他们称这个工具为“ScaAnalyzer”,他们对这个工具的介绍在超级计算2015年会议上被评为最佳论文。该会议也被称为高性能计算、网络、存储和分析国际会议。它是由计算机协会和IEEE计算机协会于1988年建立的。这次聚会吸引了数千名工程师、科学家和其他计算机专业人士,他们参与了世界上最强大的计算机的设计和操作。

刘解释说,scalanalyzer的设计是为了解决可扩展性问题。刘说,今天的计算机程序需要数千行、数万行甚至数百万行代码,而且没完没了。当然,计算机硬件也必然会增长。简单的单核中央处理器(CPU)已经在很大程度上被多核CPU系统所取代。

“智能手机、高端服务器、超级计算机:它们都有多核系统,”刘说。“CPU从4核发展到12核,有时甚至超过60核。”

他解释说,瓶颈抑制了应用程序的可扩展性因素,即其扩展和利用多核系统增加的计算潜力的能力。软件瓶颈通常很容易处理,硬件瓶颈可以在下一代设计中消除

但要摆脱任何瓶颈,你必须首先找到它。

刘解释说:“这里的一个问题是,对于应用程序开发人员来说,代码内部真的非常非常困难。”“如果你有一个非常大的代码,数千或数百万行代码,你如何识别导致大问题的一小部分代码?”

scasanalyzer的目标是计算机的内存子系统,这是一个容易滋生软件和硬件瓶颈的复杂领域。刘说,scalanalyzer可以帮助确定软件和硬件的故障区域。

“硬件设计师可以设计不同的存储层。一个层可能有不同的特征,比如大小、速度、带宽。”scalanalyzer可以在芯片架构中的问题区域进行零处理。“我们可以把这些反馈反馈给硬件供应商,告诉他们‘也许你们应该专注于这个内存层。’”

最佳论文奖证明了scasanalyzer在超级计算社区中的感知价值。刘和吴的论文从其他五个决赛选手中脱颖而出,代表了国际超级计算机名人录的最佳产品。威廉玛丽学院研究生院院长弗吉尼亚·托尔森(Virginia Torczon)说,刘和吴取得了巨大的成功。

“威廉与玛丽大学自己的两篇论文能够战胜来自世界各地顶尖大学、企业研究佳博体育、国家超级计算中心和研究机构的研究人员的论文,这说明了我们在威廉与玛丽大学成功开展的计算机科学研究项目的高水平,”Torczon说,她自己也是一名计算机科学家,曾任该校计算机科学系主任。

Wu现在是科罗拉多矿业学院的教员,正在与Liu合作推广ScaAnalyzer。尽管它对计算机行业有相当大的价值,Wu和Liu还是将scasanalyzer作为一个开源实用程序免费提供。