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

如果你的研究真的需要计算,那就去找W&M的巨型算盘吧

The giant abacus:
巨大的算盘: William & 玛丽的经济学家纳撒尼尔·斯罗克莫顿(左)与该设施的主管埃里克·沃尔特一起走过高性能计算集群的一部分。斯罗克莫顿使用高性能计算设备对经济模拟进行了数字处理。约瑟夫·麦克莱恩摄

纳撒尼尔·斯罗克莫顿一直在思考零的下限,他已经到了需要威廉玛丽公司的大算盘的地步。

零利率下限(ZLB)是指美国联邦储备委员会(fed)或其他一些央行提供的短期利率达到或接近零的最低水平。斯罗克莫顿和达拉斯联邦储备银行的一些同事正在研究一个ZLB模型,这个模型带来了一个难题。

“目前文献中有两种方法来处理这个特殊的模型,”他解释说。“这是一个单一的模型,但有两种方法将该模型与数据连接起来。”

斯罗克莫顿是威廉玛丽大学经济系的助理教授。他说,将模型与数据连接起来的两种方式有明显的区别。就计算而言,第一种方法快速且便宜。

他解释说:“但代价是,当你用一种廉价的方法来做某件事时,结果往往会失去更彻底、更准确、更昂贵的方法所能达到的质量。”

“我们最大的问题是:更便宜的方法值得吗?”换句话说,更便宜的方法是否忽略了央行利率政策对ZLB的宏观经济影响的任何重要方面?”思罗克莫顿说。“我去找埃里克。他有一个巨大的算盘。”

Eric是William & 玛丽信息技术办公室高性能计算组的经理Eric Walter。沃尔特是该大学超级计算机和计算机集群阵列的所有者,当涉及到大数据研究问题时,这些计算机和计算机集群承担了大部分繁重的工作。

Shortly after arriving at W&M, President Katherine Rowe took a tour of the ICS — and met with Eric Walter in the High Performance Computing cluster. (Photo by Stephen Salpukas)今天的HPC集群包含近10,000个处理器内核,位于综合科学中心的新翼。另一个集群Chesapeake位于Gloucester Point的William & 玛丽弗吉尼亚海洋科学学院校园。这些集群是可互操作的,理论峰值性能为每秒360万亿次浮点运算,即每秒360万亿次浮点运算。当沃尔特向外行人谈论计算能力时,他喜欢用笔记本电脑作为衡量单位。他说,大算盘的计算能力相当于1万多台笔记本电脑。

Walter的高性能计算客户通常包括弗吉尼亚海洋科学研究所的人,他们正在模拟海平面上升和其他气候变化现象,材料科学家和物理学家。但是,他说,经济学家是受欢迎的——就像任何需要集群时间的人一样。

沃尔特说,HPC的用户分为三类:“有些人知道自己想做什么,知道如何使用这些东西,只是说别挡我的路。

“有些人知道自己想做什么,也知道怎么做,但在这里不行,”他继续说。“还有一些经验不足的用户,他们进来说我不知道怎么做。然后我们再解释。他们会说,嗯,我还是不知道怎么做。”

Walter继续解释说,HPC小组通过一个非常活跃的问题票务系统来满足每个小组的需求,并定期进行一对一的预约和介绍使用集群的基础知识。

沃尔特说,思罗克莫顿属于第二种人。Throckmorton有丰富的MATLAB编程经验,但是当他为一篇关于ZLB的论文添加越来越多的代码行时,他找到了Walter。

“在我的领域——宏观经济学——人们使用MATLAB是很常见的。对于工程师来说,使用它也很常见。”“这是一种脚本语言,所以你要一行一行地看,按顺序做事情。它没有经过编译。”

顺序或串行处理就像一列货运列车:一节车厢跟着另一节车厢,咔哒咔哒、咔哒咔哒、咔哒咔哒地沿着线路行驶。对于中等长度的火车来说,这不是问题,但火车只能跑这么快,而斯罗克莫顿坐在ZLB特别列车的驾驶室里,上面标着“快车”。这是一列很长很长的火车,他不需要像咔嗒咔嗒一样的硅。

他说:“对于这篇论文,如果我使用MATLAB代码,我将等待数周才能得到结果。”

解决方案是转换思罗克莫顿的工作,使其可以并行运行。如果铁路可以并行化,它就可以很容易地创建多个平行的轨道,并将车厢分开,这样许多更短的车厢就可以同时运行。运行时间大大缩短。

通过与Walter的合作,Throckmorton能够并行化他的代码,将其转换为完整的FORTRAN实现。Walter强调MATLAB本身并没有什么问题,但是像C或FORTRAN这样的语言更容易实现并行化。

“当你并行化代码时,你必须重新考虑算法,”他说。“不是逐行、一步一步的算法,而是找到方法将其分解,以便多个步骤可以同时发生。”

思罗克莫顿有足够的编码能力自己完成大部分的并行化转换,一旦沃尔特给他指出了正确的方向:“我记得埃里克在并行化部分很有帮助,”他说。“我在概念上知道如何并行化我的代码,但对于实际实现,Eric给了我很多例子。”

并非所有HPC用户都精通代码,Walter的团队会在需要时提供帮助。沃尔特说,HPC的一名员工杰伊·卡努库尔蒂(Jay Kanukurthy)一直在与另一名教职员工广泛合作,重写了一个可能运行85天的串行编码项目。

所以Jay基本上是把代码分成小块,然后让它工作。我们可以用它爆破100个核,而且进展会快得多。”

当Throckmorton谈到一个串行编码作业需要等待数周才能运行,而Walter提到另一个作业需要85天才能运行时,他们并没有夸大其词,或者至少没有夸大其词。

“我们不能在这里这么做,”沃尔特说。

他们不能这样做的一个原因是基于一个前提,即所有的工作都是不平等的。有优先的客户和优先的工作。有些作业需要直接运行,有些作业则不需要。85天的运行肯定会造成交通堵塞。思罗克莫顿的并行工作没有造成任何问题。

沃尔特说:“内特的工作很容易从任何地方重新开始。”“很多人的工作都是这样,但有些人的工作不是。”

Throckmorton的ZLB工作是HPC集群的重度用户。他的计算时间太长了,以至于经济系和本科生系主任珍妮丝·泽曼(Janice Zeman)出资为HPC额外购买了5个节点。

Walter对数据进行了分析,发现Throckmorton使用了3,701,948核小时的HPC一般资源。“一般资源”指的是除了为高能物理作业保留的集群之外的所有计算资产。2016年,它占一般高性能计算资源的2%,2017年为17%,2018年为21%,2019年迄今为止为0.3%。

“自2016年以来,这已经超过650万核心小时。一个核心小时是一个处理器核心运行一小时,”Walter解释说。“因此,一台四核笔记本电脑,假设同样的核心速度,可以在160万小时内完成这些计算,大约185年。”

宏观经济学的论文,如斯罗克莫顿的论文,计算量很大,充满了方程式。当有人指出经济学通常不在STEM学科之列时,他露出了一副苦笑、遗憾的表情。

他说:“全国各地的一些经济学系都属于STEM。”“这是一个必须得到州一级批准的分类。在弗吉尼亚州,没有一所学校有被列为STEM的经济学系。”

他说,基本的经济学原理涉及简单的数学,并以简单的供需模型为例。一个普通的图形计算器就能确定供给等于需求的交点。

“现在,想象一个更复杂的模型,可能有三个相关的市场,每个市场都有独立的供需曲线,你试图找到平衡点,”Throckmorton继续说道。“你可以想象用一个图形计算器来计算这个数字。”

他说,他的部门和弗吉尼亚大学的其他经济学家正在讨论如何让他们的学科被弗吉尼亚高等教育委员会(SCHEV)归类为STEM。STEM分类在许多实际问题上有所不同。

斯罗克莫顿说,他的一名学生去年毕业,并在堪萨斯城联邦储备银行找到了一份研究助理的工作。

“他是一名国际学生,”斯罗克莫顿解释说。“他还主修数学,所以他可以在大学毕业后在美国工作三年,因为他有STEM学位。”