自制arm内核架构的“超算”私人服务器
https://www.servethehome.com/building-the-ultimate-x86-and-a 许多年前,在 STH,我们有一个简短的 Cluster-in-a-Box 系列。那是在 2013 年左右,当时只有我在网站上兼职工作,我们没有今天在 STH 拥有的团队和资源。也是在像 kubernetes 这样的概念出现之前,一个成熟的 Arm 服务器的想法似乎还很遥远。今天,是时候展示一个在 STH 上酝酿数月的项目了:2021 Ultimate Cluster-in-a-Box x86 和 Arm 版本。我们拥有超过 1.4Tbps 的网络带宽、64 个基于 AMD 的 x86 内核、56 个 Arm Cortex A72 内核、624GB 的 RAM 和数 TB 的存储空间。是时候进入硬件了。






视频协作
这个项目,或者更具体地说,为什么今天发布它,是因为它是与 Jeff Geerling 合作完成的。我经常听到他被称为“树莓派家伙”,因为他用树莓派平台做了一些了不起的项目。当我在圣路易斯参加 SC21 时,您可能已经在大拱门见过我。我们在那里拍了一点,然后杰夫把我送到安海斯-布希工厂,该工厂在最近 的 SC21作品十大展示中客串。我们的目标很简单:构建我们对盒装集群的愿景。
作为一点背景知识,我拥有的集群是 2021 年 5 月下旬的一个项目,您可能已经在 STH 上看到了它。目标是在一个易于运输的平台上测试一些新硬件,因为我知道奥斯汀的举动很快就会发生。在搬家过程中,我们从来没有机会展示这个盒子。Jeff 拥有新的 Turing Pi 2 平台来集群 Raspberry Pi,所以这似乎是一个挑战。他选择了成本较低的版本,而我选择了可能是 2021 年可以实现的最好的盒装集群解决方案之一。
基本规则很简单。我们至少需要四个 Arm 服务器节点,而且它必须安装在一个带有单个电源的盒子中。公平地说,在我们拍摄合作之前我就知道杰夫的计划,但他不知道我在奥斯汀的一个包厢里准备了什么。
对于那些想看的人,这里是一个关于终极集群的 STH 视频:
这是杰夫使用图灵 Pi 2 的视频:
这些都是很好的选择,可以同时查看当今可能的高端和低端。与往常一样,最好在新的浏览器窗口、选项卡或应用程序中打开这些,以获得最佳观看体验。
构建 Ultimate x86 和 Arm Cluster-in-a-Box
让我们进入硬件。首先,在 x86 方面。为此,我们使用了 AMD 锐龙 Threadripper Pro 平台。通常,该平台具有Threadripper PRO 3995WX,它是罗马代 64 核、128 线程“WEPYC”或工作站 EPYC。遗憾的是,在冷却解决方案到来之前,我唯一的照片是在这块主板上的 3975WX 和 3955WX。
该系统使用 8 个 64GB 美光 DIMM,用于 512GB DDR4-3200 ECC 内存。这是一个决定拉着梦魇“原谅我”并燃烧起来的平台。值得称赞的是,美光在 Twitter 上看到了这一点,并发送了一个替换 DIMM。
使用的主板是 ASUS Pro WS WRX80E-SAGE SE WiFi。对于 Threadripper Pro 来说,这是一个绝对很棒的平台,或者基本上任何东西,除非您正在寻找低功耗、廉价和低成本的平台。这适用于光环构建。
主板安装在 Fractal Design Define 7 XL 中。这是一个巨大的机箱,但考虑到主板有多大,这几乎是必需的。即便如此,由于主板尺寸的原因,它实际上比人们想象的要困难得多。
CPU 的冷却解决方案是华硕 Rog Ryujin 360 RGB AIO 液体冷却器。使用该冷却器的原因是,在整个系统成本的宏伟计划中,获得一个稍微有趣一点的冷却器似乎没什么大不了的。它更贵,但在 2021 年 5 月,这也是我可以通过一日送货在亚马逊上获得的东西。
这是安装了更多组件的外观:
快速说明一下,最初的计划是通过 Hyper M.2 x16 Gen4 卡上的三星 980 Pro SSD 提供额外存储的 6x DPU 集群。然而,如果你在一个盒子里做一个集群,你可以通过添加一个额外的 DPU 并使用板载 M.2 插槽进行存储来获得更多节点。如果你在 STH 上看到过这个,那就是原因。在实际中,这实际上是在系统使用时替换第 7 个 DPU 的卡。
DPU 是 Mellanox NVIDIA BF2M516A 单元。敏锐的眼光会注意到我们有两个不同的修订版,它们在系统上略有不同。每张卡都有八个运行在 2.0GHz 的 8 核 Arm Cortex A72 芯片。与 Raspberry Pi 不同,这些对加密卸载等具有更高端的加速。我们最近讨论了为什么加速对 STH 很重要。这些卡的其他重要规格是它们的操作系统具有 16GB 内存和 64GB 板载闪存。由于 STH 使用 Ubuntu,这些卡运行 Ubuntu,我们卡的基本映像包括 Docker,因此我们可以开箱即用地在它们上运行容器。
这些卡本身有两个 100Gbps 网络端口。我们的特殊卡是 VPI 卡。我们在Mellanox ConnectX-5 VPI 100GbE 和 EDR InfiniBand 评论中介绍了 VPI 的含义。基本上,它们可以在 100GbE 模式下或作为 EDR InfiniBand 运行。卡的配置方式是两种方式之一。Arm 芯片可以放置在主机系统和 NIC 端口之间的线路中。
可以为防火墙、供应或其他应用程序执行此操作。我们实际如何使用它们,因为八个 Arm 内核通常会对网络性能产生负面影响,即主机和 Arm CPU 同时访问端口。这不会将 Arm CPU 置于从主机到 NIC 的路径中,并且通常会提高性能。BlueField-2 感觉很像早期产品。
我们将很快提到还有低功耗和薄型 25GbE 卡。我们没有全高支架,或者可能已经使用了这个支架。
下面是系统中堆叠的七张牌:
这是新的 BlueField-2 卡上的 docker ps 和网络配置。可以看到还有一个返回到主机系统的接口
另一个有趣的点是这个系统背后有多少网络。这是一个外观:
总结一下:
2 个 10Gbase-T 端口 (ASUS)
14x QSFP56/QSFP28 100GbE 端口(7x BlueField-2 卡)
7x 管理端口(7x BlueField-2,在 10G 网卡上有一个共享的 ASUS 端口)
无线网络 6
总而言之,在这个系统的背面,我们总共有 24 个网络连接。这就是为什么您将看到的下一个 STH 项目是通过家庭工作室和办公室运行 1700 根光纤的一个重要原因。
由于安装了大量光纤,因此无需在演播室中放置响亮且耗电的开关即可连接这样的系统。
总结解决方案
总而言之,我们有以下规格,减去运行 ASUS ASMB10-iKVM 管理的 ASPEED 基板管理控制器:
处理器:120 核/184 线程
1x AMD Ryzen Threadripper Pro 3995WX,64 核 128 线程
7 个 NVIDIA BlueField-2 8 核 Arm Cortex A72 2.0GHz DPU
内存:624GB
512GB 美光 DDR4-3200 ECC RDIMM
7x 16GB DPU RAM
存储:~8.2TB
2 个美光 7400 3.84TB M.2 SSD
7x 64GB DPU 存储
网络:~1.4Tbps
来自华硕主板的 2 个 10Gbase-T 端口
来自 BlueField-2 DPU 的 14 个 100G 端口
8x 带外管理端口(一个共享)
无线网络 6
可以肯定的是,这里有很多东西,这比2013 年的 Mini Cluster in a Box 系列多出几个步骤。
最后的话
当然,除非您真的想要台式 DPU 工作站,否则我们不建议您自行构建。这更像是一种“可能的艺术”构建,就像我们所做的Ultra EPYC AMD Powered Sun Ultra 24 Workstation。尽管如此,与我们在 2013 年使用英特尔凌动 C2000 系列所做的相比,这仍然有效地超过了 10 倍。这也是我个人长期以来一直想做的事情,所以这就是现在这样做的原因。
再次,我只想对 Jeff 的合作表示感谢。我暗自嫉妒 Turing Pi 2 平台,因为我一直买不到。和他合作很有趣,如果没有他的推动,这个项目会被推迟得更久。