0%

EPYC 服务器选购实战与经验分享

前言

自从开始读 Ph.D. 之后,对算力的要求逐步增长,因此一直想购入强劲的服务器用于科研玩装机,感谢近几年的 AMD 强势,我居然只用了大概 4 万元就拿下了两台 EPYC 7B13 64C128T + 1T 内存的工作站,这篇文章就来简单分享一下整个实战过程和一些经验。

选购之前的功课

预算和渠道

购买工作站大概有三条渠道

  • 向正规服务器提供商购买整机:拥有完整的保修(甚至上门哦!),硬件兼容性还有软件问题基本无需操心,但是费用是最贵的,典型的提供商包括戴尔,联想等。由于此类渠道一般只有 toB,个人消费者很难接触到。
  • 在零售渠道购买含保修的散件:一般服务器硬件尤其是 CPU 是不对消费级市场开放的,然而 AMD 的 HEDT 平台,也就是线程撕裂者打破了僵局,最新一代线程撕裂者比如 7980X 提供了相当可观的算力。一般可选的平台包括京东和亚马逊等,可以提供完整的保修,但是性价比相当感人。
  • 在淘宝购买店保的二手散件(或者整机):由于 CPU 一般不会损坏,因此有大量淘汰下来的服务器配件流通于淘宝上,一般这些散件基本接近成本价,相对应的也只有比较少的技术支持和保修。

举个例子来说,目前京东在售的 64C128T 的线程撕裂者 5995WX 价格为 49599 元,在淘宝一颗 64C128T 的 7763 大概只需要 10000 元左右,然而他们的多核性能相差大概在 10% 以内,由此可见淘宝散件的价格优势。

考虑到我贫瘠的预算,因此我只能选择在淘宝上购买散件。

计算任务

确定了购买渠道和预算后,更重要的事情就是确定自己预期的工作负载,因为不同的负载对整个系统的设计完全不一样。以我自己为例,我不需要任何 GPU 算力,因此我可以考虑更小一些的机箱,也不用担心显卡挡住内存插槽等,但是相应的我需要大量的核心数量和内存数量,因此我需要考虑内存通道数量和频率等。具体的事项会在后文中说明。

除了是否需要 GPU,还有就是要确认自己的程序是否存在以下瓶颈:

  • 并行度:决定了是否需要更多的核心
  • 内存速度:决定了是否需要高频率低延迟内存
  • 计算速度:决定了是否需要单核心性能

淘宝店铺选择

淘宝有非常多的店铺提供二手服务器散件,本文不作任何推荐,但是我个人的标准是:

  • 回复足够及时,一般首次咨询半个小时内没有回复我就会直接 pass 不再考虑
  • 店龄、店铺等级、店铺资质等
  • 接受发货前测试
  • 没有明显的差评

这一点每个人都可以有不同的标准,个人建议是大部分配件在一家买齐测试好再发货节省来回的运费和时间,我选择的店铺甚至很贴心的提供了远程桌面随意测试,大大节省了中间的时间(不过仍然出现了意外,下文会提到)。

配件选择

CPU

CPU 几乎是最重要的配件,他决定了可以选择的主板还有 PCIE 通道数量和可选的内存。

首先简单介绍一下 EPYC 的命名规则,以 7503 为例,其中的 3 代表第三代 EPYC,5 代表了核心数量,0 代表了单核心的性能。但是有一些 EPYC 的 CPU 第二位是字母,这代表 OEM 定制版本,一般是特定公开版本的 EPYC 型号的特挑版本。

我的需求是越多核心越好,单核性能并不是太需要,考虑到性价比最后选择了 EPYC 7B13,这是阿里和 Google 的定制版,但是 Google 版本是 60 核心 60 线程,阿里版是 64 核心 128 线程,基本确认是 EPYC 7763 的马甲但是多核性能要差一些,主要体现在频率上。

另外需要留意的是,EPYC 双路存在严重的 CCD 延迟问题。和消费级不一样的是,他是第二个 socket 上全部都慢的离谱。

主板

下一步就是选择主板,对于我来说可以买到的只有

  • 技嘉 MZ32-AR0
  • 技嘉 MZ72-HB0 (双路)
  • 超微 H12SSL-i
  • 超微 H12DSI-NT6 (双路)
  • 永擎 ROME2D16-2L (双路)

其中超微 H12DSI 支持双路 CPU,本来我是打算选择这个,因为可以直接 256T + 2T,但是很快我注意到了双路主板在塔式机箱内上两个 280W CPU 时存在大量的 VRM 过热死机的汇报。因此我只能把原来的单台计划变为两台单路减少散热压力,然而超微的主板 E-ATX 孔位和标准孔位不兼容,需要自己改机箱,所以最后选择的是技嘉 MZ32-AR0 (甚至还有全新存货)。

一旦选择好主板,就可以前往相应的页面插具体的参数,包括并不限于:

  • 内存通道数量
  • 内存最大频率
  • PCIE 数量
  • M2 接口数量,SATA 数量

内存

首先内存有几大类:

  • UDIMM:无缓冲内存,常见于消费级,由于没有缓冲,对信号完整度要求高因此容量相对较小频率较高。目前市面上最大的一般是 32G。
  • RDIMM:有寄存器的内存,简单来说就是等信号全部到了再去读写,对信号完整度要求稍微低一些,因此可以支持更大容量,但是延迟和发热会有显著增高。目前市面上我见到最大的有 256G 的内存条。
  • LRDIMM:进一步增加了缓冲来提升单条容量。

目前三代的 EPYC 只能插 DDR4,而且根据主板的说明书当插满 RDIMM 的时候最高频率仅支持到 2933 MHz,因此可以节省一点买更高频率内存的钱。总的来说,高频率、高容量和低延迟几乎是不可兼得的事情。

这里还有一条需要注意的就是 ECC,目前市面上所有 RDIMM 和 LRDIMM 内存都是有 ECC 纠错的,但是这不意味着出现 ECC 错误是正常的!我在收到货测试时才发现有几根内存条会固定出现 ECC 错误,虽然不影响数据的正确性,但是一般这意味着内存颗粒已经出现了问题,应该尽快找商家更换。

此外由于 RDIMM 多了一个控制芯片,高温时也会出现 ECC 错误,因此需要查阅相应的内存条文档确认工作温度。

为了测试内存条的稳定性,推荐烤机软件为:

  • AIDA64 (注意烤机时关闭页面文件!不然系统会卡死)
  • prime95 (Linux下有等价实现)

这里反而不推荐 memtest86+,在我测试的时候他甚至没有触发 ECC 错误,而且耗时极长,难怪 archwiki 把他归类为压力不大的测试项目。

电源

电源几乎没有什么好说的,我选择的是 LEADEX 的 HG850W,趁着活动的时候低价入了两个。我个人计算习惯是:

  • CPU:TDP 瓦数,这里是 280W
  • 内存:10W 每根
  • 机械硬盘:25W 每个
  • SSD:10W 每个
  • 主板:50W

基本上我都往多了算, 850W 是绰绰有余的,一般留个 10% 左右的余量就可以。唯一比较坑的就是,技嘉这个主板的主板供电居然是在正上方,电源的主板线很容易够不到,完全没法走背线。

存储

存储这一块我遇到了三星 SSD 和部分 SATA Controller 的兼容性问题 以及国产 SSD 普遍采用的 MAP1602 主控的 Linux 兼容性问题。目前两个问题在最新的 Ubuntu 2204 中应该都得到了修复,反而是 Ubuntu 2304 因为不是 LTS 有一些 fixes 没有 backport。

另外值得注意的是技嘉这个主板的 m2 只有 pcie3.0。

机箱和散热

以往装机,这两项并不太重要,但是上面很多地方都提到了温度对系统稳定性的影响,因此在选购工作站的时候务必要对散热上心。

首先是机箱,我在选购的时候出于便携和空间限制选择了塔式,如果有机房的话可以选择正常服务器尺寸获得更好的散热,以下经验都是基于塔式机箱展开。

机箱型号我选择的是追风者 614pc,看中的是存储扩展性和自带俩风扇。其实机箱型号不重要,重要的是机箱风道。具体来说,我在开放式环境仅安装 CPU 散热器时,内存条温度可以达到97度(标准工作温度上限为95度)触发 ECC 错误,但是只要稍微加一个平行于内存条风向的风扇,温度瞬间降低到60度左右,这个效果对于机箱内大部分需要散热的配件都是一样的。

另外和平时的装机不同,CPU 的散热一般是不需要太多担心的,我购买的是 Coolserver P42 也就是金钱豹散热器压住 CPU 基本上没有任何压力。相反,需要注意的是 VRM 也就是供电模块的散热,比如我购买的 CPU 有整整 280W 的 TDP,而 CPU 电压一般才 1.2V 左右,也就是说通过 VRM 的电流非常大会迅速产热。一般来说 VRM 100 度时变会主动降低供电来减少发热,在 AMD 的定义里这个属于硬件降频无法控制,当 VRM 温度超过 110 左右时基本会直接报警关机。因此一个良好的机箱风道至关重要,这里推荐在 B 站搜索相关视频了解,比如硬件茶谈这一篇

最后我选择的散热方式是一共 7 个风扇,前面板 3 个进气,后面版 1 个出气,上面板 2 个出气,下面板 1 个进气,在极限烤机状态下,整个系统可以稳定运转,美中不足的就是仍然会有少部分时间触发 VRM 过热降频,目前根据我了解的信息,只能定制配件散热,所以留给之后的自己吧。

网卡

技嘉这个主板有 OCP 接口,正好之前有海外过来的万兆网卡 CX341a 是 OCP 接口只要 15 块一张,配合 DAC 线完美的实现了两台机器间的 10 gb 网络。

总结

这次购买服务器从有想法到最终实操一共花了一个半月,要感谢的就是另一半的大力支持和 TUNA 群友们的耐心,学习到了很多也玩的很开心,希望这两台服务器能在未来的时间里发光发热吧。

数框框!

参考