【佳能|服务器最大内存是多少,其制约因素有些什么呢?】
文章图片
单机服务器最大内存的极限是怎么确定的?它的制约因素有哪些?为了简化讨论范围 , 我们限定在占据服务器市场98%以上的X86服务器 , 并假设不受成本的约束 。 我们从CPU内核和操作系统、以及存储子系统两方面来寻找答案 。
CPU内核和操作系统操作系统和CPU内核都支持64位地址空间 , 它能够访问的地址空间是
2^64=16384 PB
好大的空间 , 似乎永远也用不完 。 是不是这个是内存容量的极限呢?实际上即使在CPU内核中还有一个因子 , 限制了CPU和操作系统的寻址空间 , 那就是bitwidth 。 它决定了页表转换的地址长度 , 它现在最大是48位(我印象里) , 它可以从寄存器里面读出来 , 越新和服务器CPU , 这个值越大 。 那么新的地址空间最大是多少呢?
2^48=256 TB
256TB , 小了不少 , 是不是这就是内存容量的极限了呢?实际上并不是 。
内存子系统现代计算机系统的内存都由CPU内置的内存控制器来管理 , 为了寻找内存的极限 , 我们把目光投入到志强中的战斗机 , E7服务器上 。 E7面向对高可靠性和高可扩展性需求强烈的用户 , 当然价格也十分感人 。 高可靠性说的是RAS , 高可扩展性是说可以扩展为4路 , 8路 , 甚至16路服务器 。 所谓n路 , 通俗的说就是有n个物理CPU 。
16路服务器十分十分罕见 , 部分原因在于从8路扩展为16路后 , 保证cache一致性所发的snoop包会降低性能 , 在某些情况下得不偿失 。 我们这里就略过 。 8路服务器作为主流最高端服务器 , 它的内存最大能够达到多少呢?
E7 CPU后面并不直接插内存条DIMM , 这点和E5不一样 。 内存条插在一个叫做SMB(Scalable Memory Buffer)的芯片后面 。 每个SMB支持两个Channel , 每个Channel后面可以插3根DIMM(图里是两个 , 实际可插三个) 。 SMB和CPU直接通过一种叫做SMI Link(Scalable Memory Interconnect)的总线连接 , 一个CPU可以连接四个SMB 。
这个板子叫做Memory Riser , 红框的部分就是SMB , 有两个 。 蓝框的部分是内存插槽 。 大家数一下 , 可以看到一个SMB后面可以插6根DIMM , 分别属于两个Channel 。 一个照的比较好的:
好了 , 我们可以计算一下了 , 8路可以插16个Memory Riser , 每个Memory Riser可以插12个DIMM:
16 X 12 = 192根 , 共可以插192根DIMM 。 现在焦点落在单根DIMM的容量上了 。 LRDIMM往往可以支持更大的内存容量(原理我以后再讲) , 目前据我所知 , 最大的LRDIMM容量是128GB 。 所以8路最大内存容量为:
192 X 128 = 24576 GB = 24 TB现在你知道前面的24 TB哪里来的了吧!
结论:服务器最大支持的内存数量不在于是64位还是Bitwidth , 而在于能够插多少内存条 。 如果是16路E7 , 最大内存可以达到48TB 。 E5系列内存相比E7就差一大截了 。
- 美团|支付二维码管制,微信、支付宝躺枪,谁是最大赢家?
- OLED|国产屏获得更多订单,有望成为苹果最大的OLED面板供应商
- 南非|人类的最大弱点之一是自命不凡的幻想。
- 抗生素|抗生素对人体不同时期肠道菌群的影响,这个时期影响最大!
- 爱因斯坦|蜥脚类恐龙,最大的恐龙
- 花豹|非洲热带雨林里的争霸,豹子和最大灵长类平分天下
- |1.4万年,590万公斤,地球上最大最古老的生物正在慢慢被吃掉!
- 木星|蠵龟是世界上最大的硬壳龟,也是现存最古老的爬行动物
- 生物学家|世界上最大生命体是什么?占地近9平方公里,现在仍在疯狂生长
- 商汤科技|250名博士及候选人,造出全球AI领域最大IPO