截至 2010 年 11 月,TOP500 的 500 台超级计算机中有 459 台使用 Linux。参考该表来自互联网档案馆。
在超级计算机领域大量使用 Linux 背后的原因是什么?
答案1
- Linux 广泛支持许多不同的硬件架构和平台,从微型嵌入式板到大规模计算阵列。虽然还有其他好的内核可用,但适用于 Linux 的硬件驱动程序的覆盖范围和质量远远超过任何其他平台。
- Linux 内核源代码是开放的,可以轻松修改以在各种自定义平台上运行。对于任何创建新硬件的供应商来说,提供 Linux 驱动程序是使其易于访问的最简单方法之一。他们不必从头开始工作,因为他们可以修改类似硬件的现有驱动程序并在成功的基础上再接再厉。
- 其他一些候选操作系统会收取每个 CPU 的许可费用。这些在超级计算机级别上变得令人望而却步。
- 由于 Linux 以前已经被这个领域的每个人使用过,因此它拥有最好的支持和最广泛的可用软件包和库选择。
答案2
我在 HPC 行业工作。
如果您问为什么现在大多数人在集群上使用 Linux,那就是您在问题中列出的内容:超过 90% 的最大集群都运行 Linux。它是事实上的标准 - 几乎所有集群库、工具或应用程序都可以在 Linux 上运行。使用任何其他操作系统设置集群需要更多工作。
如果您问 Linux 如何成为事实上的标准,那么 Caleb 会给您答案;)
答案3
对于几乎任何形式的问题:“为什么 x 是 y 细分市场的主要选择?”答案集中在两个因素上。
在该细分市场或利基市场出现和增长的某个关键时刻,相关产品在成本和功能方面具有一些优势,从而鼓励了关键群体的采用。一旦达到了临界质量,那么该细分市场的所有辅助产品都将支持它,并且该行业/利基市场的所有关键人员都将熟悉它作为首选。
上世纪 90 年代,Donald Becker 发布了一些有关 Beowulf 集群的代码和信息,该集群是他和 Thomas Sterling 为 NASA 的一个项目构建的。该集群使用商用硬件,运行 Linux,并结合 MPI(消息传递接口)和 PVM(并行虚拟机)库,用于在节点网络上分配计算任务。
当时,替代方案需要更昂贵的硬件(主要是 Sun 工作站),具有按每个节点或每个 CPU 成本计算的专有软件许可,并且通常是闭源或具有重要的闭源组件。
因此Linux 在所有这三个因素上都具有优势。 Becker 发布了一些代码和文档(并以一个很酷的名字这样做),这极大地提高了 Linux 这类超级计算应用程序的可信度。 (它被美国宇航局的一个项目使用也极大地提高了它的可信度)。
从那时起,学院和大学在自己的实验室中采用了这种方法。几年后,整整一代科学家都熟悉了 Beowulf 集群,并且可以随时使用各种工具来支持它们之间的许多应用程序。
答案4
还有一个原因。在过去的严肃工作中,没有 Linux,没有 Windows,只有 UNIX 和 VMS(MSDOS 和类似的不是竞争者,它们缺乏太多功能),也许还有一些鲜为人知的东西,比如 lisp 机器......
其中,只有 UNIX 派生的平台幸存下来。 Linux 是类 UNIX 操作系统的廉价替代品:或多或少兼容、开源且免费。这使得重用 Linux 之前编写的科学软件成为可能。