【大文观链】分布式计算:击败新型冠状病毒的核心武器

1683 天前
678

“终极答案”

在道格拉斯·亚当斯创作的科幻小说《银河系漫游指南》中,有一群具有高度智慧的外星人为了找出生命、宇宙以及任何事情的终极答案,特别造了一台超级电脑——“深思”(Deep Thought)来进行计算。“深思”花了750万年来计算和验证,最终得出的答案是“42”。

这个答案的戏剧性与试图利用计算机计算生命、宇宙以及任何事情的答案的荒诞感一脉相承,也和“深思”对这个答案的解释一样:“只要你们确切地知道问题到底是什么,你们就能理解这个答案的意思。”众所周知,计算机只能计算题目,而不能回答问题。荒诞的问题必然会让“深思”给出一个荒诞的答案。

《银河系漫游指南》的第三本《生命、宇宙与一切》出版于1982年,恰好是计算机和互联网技术取得重大突破的年代。就在这本书出版的前一年,IBM PC诞生,微软推出了MS-DOS,毫无疑问的改变了整个世界的运转方式。1982年2月,英特尔推出了具有里程碑意义的286处理器,集成了约13万个晶体管。但由于性能限制,286芯片难以胜任大量的浮点运算,英特尔后来还推出了专门用来计算的287芯片作为补充。

计算机技术的飞跃式发展当然会引起普通人——尤其是科幻作家的遐想:当计算机性能越来越好,计算速度越来越快,是否会有一天能够计算出所有问题的答案?《银河系漫游指南》给出了一个优秀的答案。

我们为什么渴求算力

《银河系漫游指南》出版后的40年里,计算机技术发展得更快了。处理器芯片遵循摩尔定律,晶体管数量从286的13万个增长到了近20亿个,计算速度也突飞猛进,2016年,中国自主研发的超级计算机神威·太湖之光在LINPACK基准测试中以93PFLOPS(93千万亿次浮点计算)的成绩登顶成为世界最快的超级计算机。但这远远不是尽头。仅仅两年之后,美国就建造了Summit(顶点)超级计算机,计算速度达到了200 PFLOPS。

链得得注:FLOPS(即“每秒浮点运算次数”,“每秒峰值速度”),是“每秒所执行的浮点运算次数”(floating-point operations per second)的缩写。一个PFLOPS(petaFLOPS)等于每秒一千万亿(=10^15)次的浮点运算。

人类为何钟情于计算速度?这是需求决定的。随着科学技术的进步,人类逐渐展开了对这个世界更细致的探索。在科研领域,超级计算机拥有举足轻重的地位。举个例子,国家计算流体力学实验室基于“神威·太湖之光”超级计算机,对“天宫一号”飞行器两舱简化外形、陨落飞行绕流状态大规模并行模拟,使用16,384个处理器在20天内便完成常规需要12个月的计算任务,计算结果与风洞实验结果吻合较好,为“天宫一号”飞行试验提供重要数据支持。

在生物化学方面,超级计算机同样能够实现重要的价值。用户可以通过超级计算机使用生物信息软件和常用数据库完成生物信息学、计算生物学等计算任务和基因序列分析、序列拼接、基因表达谱数据分析、大尺度的生态学数据分析等工作。

从本质上看,超级计算机与普通家用计算机区别不大,只是超级计算机使用了更多的芯片,大量的处理器集中在一起以处理庞大的数据量,因此运算速度比常规计算机快许多倍。也正因为这个原因,超级计算机并不是人类面对海量计算时的唯一解。

分布式计算

随着新冠病毒在全世界流行,世界各地的许多科技企业、学者、政府机构,也在积极地开展有关该病毒疗法的研究,而这也离不开计算。免疫疗法初创企业 ImmunityBio试图通过对新型冠状病毒的关键蛋白结构展开建模,以研究新冠病毒是如何进入人体细胞的,为此,他们与微软的 Azure 云计算部门展开合作,借助 24 PFLOPS的算力来对病毒进行分析。但这远远不够。

是世界上最大的分布式计算计划Folding@home牵头组建了一个联盟,开始对新冠病毒进行分析。Folding@home并不依靠强大的超级计算机进行计算,反而主要的贡献者是成千上万的个人电脑和游戏机。每部参与的电脑都安装了一个在后台运行的客户端程序,在系统不忙碌的时候调用中央处理器运行模拟工作。现时世界上绝大部分的个人电脑,在一般的情况下都很少用尽本身的计算能力。Folding@home就是使用这些本来都浪费了的运算力量。

根据项目最新的公告,目前Folding@home有70万人参加,拥有470 PFLOPS的计算能力,超过了世界前七的超级计算机算力的总和。毫无疑问,这是人类史上最大的一次分布式计算。

人类最伟大的事业

分布式计算其实并不是什么新鲜概念,普通人闲置在家的计算硬件每天都有很多人惦记——尤其是科研工作者。除了Folding@home之外,类似的项目还有中科院高能物理研究所计算中心所搭建的CAS@home、普朗克研究所搭建的Einstein@Home、加州大学伯克利分校搭建的SETI@home等等。这些计算项目大多数都是基于BOINC(Berkeley Open Infrastructure for Network Computing,伯克利开放式网络计算平台)运行的。

BOINC最初是为了管理SETI@home而开发的。这是一个通过互联网利用家用个人计算机处理天文数据的分布式计算项目,该项目试图通过分析阿雷西博射电望远镜采集的无线电信号,搜寻能够证实外星智能生物存在的证据。从1999年到2020年3月31日关闭,这个项目已经运行了整整 20 年。

刘慈欣的小说《球状闪电》中也提到了这个项目。小说中,主角窃取了SETI@home的算力,收到了来自项目负责人的怒斥:“我们在用最微薄的资金从事人类最伟大的事业,却也受到这样可耻的骚扰,你应该为自己感到羞耻!”

当然,也有很多基于区块链技术开发的BOINC项目,尤其在2019年迎来了爆发,比较著名的项目包括Tesra超算网络、BOINC Planet算力地球、iExec、CONUN等。可以预见的是,一旦Folding@home在新冠肺炎的防治中取得了成果,基于区块链技术的分布式计算也将迎来新的发展机遇。