Linux 和超级计算机
当我们身处 2018 年(更广为人知的“未来,机器人居住的地方”)时,我们挚爱的 Linux 是超级计算领域无可争议的王者。在世界排名前 500 的超级计算机中,几乎没有一台不运行 Linux(或多或少……几乎为零)。
世界上最复杂、最强大的计算机——执行人类有史以来设计的最密集的处理任务——都依赖于 Linux。对于这个不起眼的自由软件内核来说,这是一项了不起的成就,也是全球 Linux 爱好者和开发者值得炫耀的资本。
但情况并非一直如此。
事实上,直到 20 世纪 90 年代末,Linux 在超级计算领域才开始崭露头角。而 Linux 花了又一个十年才在传说中的“Top 500”全球最强大计算机榜单中占据主导地位。
漫长而奇异的道路为了理解我们是如何走到计算史上这个令人惊叹的地位的,我们需要回到“大型、强大的计算机”的开端——或者至少更接近它:20 世纪 50 年代初。
托尼·班 Bennett 和佩里·科莫 Perry Como 的歌曲风靡广播,地球停转之日正在影院上映,我爱露西首次在电视上亮相,天哪,那感觉真是很久以前的事了。
在这个时代,我们已经确定那是很久很久以前,一位名叫西摩·克雷 Seymour Cray 的绅士——我猜他骑着高轮自行车上班,并且非常喜欢玩滚铁环游戏——为武装部队安全局设计了一台机器,该机构仅在几年前(1949 年)成立,旨在处理美国军方的密码和电子情报活动。这个新机构需要一台更强大的机器,而克雷正是打造它的合适人选(无论是否玩滚铁环)。

图 1. 超级计算机之父西摩·克雷(来自 http://www.startribune.com/minnesota-history-seymour-cray-s-mind-worked-at-super-computer-speed/289683511
这促成了一台名为 Atlas II 的机器。
Atlas II 重达 19 吨,是一款开创性的强大设备——最早使用随机存取存储器(即“RAM”)的计算机之一,它采用了 36 个威廉姆斯管(阴极射线管,就像旧 CRT 电视和显示器中的那样,每个能够存储 1024 位数据)。
1952 年,克雷请求授权商业发布和销售该计算机。武装部队安全局同意了这一请求(只要删除一些他们认为不应该落入公众手中的超级特殊指令)。结果就是 Univac 1103,于 1953 年初发布,开启了超级计算机时代。
至此,超级计算机产业诞生了。
注意:武装部队安全局?它仍然存在——某种程度上。如今,您可能会通过一个更熟悉的名字认出它:国家安全局。没错,我们可以将超级计算的起步归功于 NSA。
在整个 20 世纪 70 年代、80 年代和 90 年代,超级计算机持续蓬勃发展。更快的机器被制造出来。更多的机器被售出。世界各地的政府、公司和研究人员越来越依赖这些庞然大物来处理日益增长的数据集。
但存在一个大问题:软件真的很难制作。
最早的超级计算机,例如 Univac 1103,使用简单的分时操作系统——通常是在内部开发的或作为原型最终交付的操作系统,例如以可爱的名字命名的 Chippewa 操作系统。
注意:Chippewa 操作系统是在 Chippewa Falls 镇开发的,该镇位于 Chippewa 河畔的 Chippewa 县。威斯康星州那个 11,000 人的小镇是西摩·克雷的出生地……并且可以说是超级计算的诞生地。

图 2. NASA 刘易斯飞行推进实验室的 Univac 1103(图片来自 https://images.nasa.gov/details-GRC-1955-C-39782.html)
随着时间的推移,为这些超级计算机开发、测试和交付操作系统(以及相应的软件堆栈)所需的工程投入(在许多情况下)花费的时间更长,成本更高,甚至超过了硬件本身的创建成本。显然,情况需要改善。
多年来,解决方案以许可和移植现有 UNIX 系统的形式出现。这带来了大量经过良好测试(通常)和良好理解(有时)的软件,可以快速启动这些强大设备的特定任务软件的开发。
这非常受欢迎和成功,以至于 UNIX 变体——例如 UNICOS,它是 Cray 移植的 AT&T UNIX System V——在超级计算市场中占据了极端的主导地位。在最快的 500 台机器中,只有少数(不到 5%)运行着 UNIX 以外的系统。
注意:UNIX System V(最初由 AT&T 开发)是与 Linux 相关的(臭名昭著的)SCO 诉讼的关键组成部分。理查德·斯托曼 Richard Stallman 也曾说过 System V 是“Unix 的劣质版本”。
尽管这很棒……但并不理想。许可费用很高。进步的步伐很慢(比应有的速度慢)。超级计算机行业已经准备好迎接变革。
狂野的 Linux 出现1998 年 6 月,变革以 Linux 的形式到来。
世界上第一台 Linux 驱动的超级计算机被称为“Avalon 集群”,由洛斯阿拉莫斯国家实验室开发,成本(相对而言)仅为 152,000 美元。

图 3. 理论天体物理学家迈克尔·沃伦 Michael Warren 在 Avalon 节点组前(来自 https://docs.huihoo.com/hpc-cluster/avalon/)
这款 Linux 怪物由 DEC Alpha 计算机集群(总共 68 个核心)组成,并由 531MHz EV56 CPU 驱动,可输出惊人的 19.3 Gflops——足以帮助它首次亮相就成为地球上第 314 位最强大的计算机。
当然,获得第 314 名似乎不算什么胜利,但每个人都必须从某个地方开始!而在 1998 年,这简直令人惊叹。事实上,当时,这是您可以构建的最便宜的每 Gigaflop 价格的超级计算机之一。
这种性价比引起了预算紧张的研究实验室和公司的广泛关注。凭借这单个系统,Linux 为自己赢得了“穷人的超级计算机系统”的名声,这比听起来要好得多,导致多个组织几乎立即投资基于 Linux 的计算集群。
在两年内——到 2000 年左右——在排名前 500 名的超级计算机列表中,大约有 50 台由我们最喜欢的自由软件内核驱动。在两年内从零到 10% 的市场份额?我会称之为一次非常大的胜利。
这在很大程度上要归功于洛斯阿拉莫斯那小小的 DEC Alpha 集群。
事情真的起飞了如果您想了解整个行业的变化速度有多快,那么看看 2002 年至 2005 年之间的超级计算领域就知道了。
在短短三年内,Linux 取代了 UNIX,成为全国最大型计算机的王者。Linux 的市场份额从大约 10% 跃升至略低于 80%。仅仅三年时间。
想想看。现在是 2018 年。想象一下,如果到 2021 年(仅仅三年后),Linux 在台式 PC 上的市场份额跃升至 80%(而 Windows 下降至仅 10% 或 20%)。除了想想就令人愉快(确实让我露出了笑容)之外,它也很好地提醒我们,计算世界可能多么惊人地动荡不定。在这种情况下,幸运的是,情况变得更好了。
尽管 80% 的市场份额已经很惊人了,但 Linux 显然并不满足。必须表明一个观点。必须向世界展示 Linux 的原始力量和无限潜力。
最好是在电视上。与亚历克斯·特雷贝克 Alex Trebek 一起。
沃森时代2011 年,Linux 赢得了 Jeopardy 节目。
好吧,无论如何,是一台 Linux 驱动的超级计算机。
沃森 Watson 由 IBM 开发,由 2,880 个 POWER7 CPU 核心(3.5GHz)和 16 TB 的 RAM 组成,由基于 Linux 的系统(SUSE Linux)驱动。
而且,它轻松击败了两位有史以来最顶级的 Jeopardy 冠军,这肯定是全球 Linux 拥护者最自豪的时刻之一。全国各地的新闻文章和电视节目都将这次事件宣传为“人机大战”,机器获胜。
沃森 Watson 拥有足够的马力,每秒可以处理大约一百万本书——具有先进的机器学习和低延迟——从而证明它在智力竞赛游戏中远远优于人类。在电视上。
然而,尽管展示了压倒性的智力实力,沃森 Watson 实际上从未进入 Top 500 超级计算机榜单。事实上,它甚至从未接近——甚至远远落后于该杰出榜单中最慢的机器。如果这还不是我们即将被计算机霸主奴役的明显迹象,我就不知道什么才是了。
我想我们可以从它运行 Linux 这一事实中获得一些安慰。所以,就这样吧。
当前的顶级超级计算机您是否在服务器或工作站上运行 Red Hat Enterprise?Fedora 或 CentOS 呢?
如果是这样,那么您的伙伴很优秀——真的,非常非常非常优秀。
截至 2018 年 11 月(最新的 Top 500 超级计算机榜单),世界上最快的计算机 IBM 的“Summit”运行 Red Hat Enterprise 7.4。

图 4. IBM 的 Summit 超级计算机(图片来自 ORNL Launches Summit Supercomputer, CC 2.0)
当我说“最快的计算机”时,这可能有点轻描淡写。这台机器的时钟频率超过 143 petaflops——比以往任何计算机快 50 petaflops。事实上,它比第一台 Linux 超级计算机 Avalon 集群快 740 多万倍。
为了让您有一个直观的认识:如果 Avalon 集群的性能相当于以每小时一英里的速度缓慢行走……那么 Summit 的性能就相当于在两分钟内步行到月球。[在此处插入必要的“但它能运行孤岛危机吗”的笑话。]
Summit 由 4,356 个独立节点组成——使用 Mellanox 双轨 EDR InfiniBand 相互连接——每个节点由双 Power9 22 核处理器和 6 个 NVIDIA Tesla V100 GPU 驱动。
总功耗:8,805 千瓦。是的,您可能不想在这位坏小子开启时使用微波炉。可能会烧断保险丝。
尽管功耗数字如此惊人,但 IBM Summit(目前位于橡树岭国家实验室)的功耗大约是(不开玩笑)接下来两台超级计算机的一半:IBM 自己的 Sierra(排名第二)和中国排名第三的“神威·太湖之光”——它们的性能几乎并驾齐驱。
“神威·太湖之光”也由 Linux 驱动(使用神威内部开发的 RaiseOS),时钟频率高达惊人的 93 petaflops。在 Summit 出现之前,“神威·太湖之光”一直是王者,在过去两年中一直主导着超级计算机性能榜单。
而这些仅仅是前三名。第 4 名到第 500 名也都运行 Linux。
完全彻底的统治地位没错。每一台超级计算机——至少是每一台突破速度障碍并进入前 500 名榜单的超级计算机——都在运行 Linux。每一台都是。在当前世界上有史以来最快的计算机中,市场份额达到 100%。
您可能会认为我疯了,但我会宣布这是一场微不足道的胜利。
有人可能会争辩说,既然已经达到 100% 的市场份额,那么就无处可去了……只能向下走。凭借计算行业(尤其是超级计算领域)的动荡性,Linux 最终可能会从我们高高的金色宝座上被推下来。
我说,不。这是一个挑战。把它想象成玩“山丘之王”游戏。UNIX 占据了霸主地位几十年。我打赌我们可以打破这个记录。
资源