Memory Population Guidelines for Intel 3rd Gen Xeon Scalable Processors——内存控制器

article/2025/10/1 7:27:35

Memory Population Guidelines for Intel 3rd Gen Xeon Scalable Processors

英特尔的第三代至强可扩展处理器采用全新的内存控制器架构。本文将深入探讨这些更改,以及如何通过确保正确排序和填充内存模块来最大限度地提高性能。

英特尔的第三代至强可扩展处理器于 2021 年 4 月 6 日推出,其全新的架构带来了许多优势。由于这里需要新的配置和方法,我们将借此机会深入研究这些变化,本文将重点介绍新的内存控制器DIMM,以确保平衡配置和性能。在我们介绍新的第三代至强可扩展处理器之前,让我们回顾一下第二代至强可扩展处理器如何处理内存。

The 2nd Generation Skylake architecture

英特尔推出的第二代至强可扩展处理器,配备2个内存控制器每个控制器管理3个内存通道。每个通道可以接受通道中的 2 个 DIMM。

处理器可以支持的 DIMM 总数 = 将控制器数乘以通道数 * 每个通道的 DIMM 数

对于第二代至强,这相当于单个处理器可以寻址的总共 12 个 DIMM。

在这里插入图片描述

图 1:Skylake 的 2 个控制器、6 通道架构

此内存控制器以 DDR4-2933 速度运行,每个通道填充 1 个 DIMM。当每通道填充2个DIMM或傲腾持久内存模块时,速度降低到DDR4-2666。

最大化内存带宽的最佳配置在每个通道中填充相同数量的相同模块。双插槽服务器具有多达 24 个 DIMM,允许两种最高性能配置:
在这里插入图片描述

表 1:Skylake 最高性能配置

如本表所示,有效地利用6个通道可以获得总内存数。由于交错,每个通道具有 2 个 DIMM 的配置将看到有效带宽略有增加。(交错是 CPU 在通道上的内存模块之间平衡请求以减少读写延迟的影响。)应该注意的是,对于需要总共1TB内存的用例,存在具有16个DIMM的服务器,但由于配置不平衡,有效内存带宽减少了34%。

The 3rd Generation Ice Lake architecture

第三代至强可扩展处理器采用全新的内存控制器设计。每个处理器现在有4个内存控制器,每个控制器有两个通道。每个通道可以填充两个 DIMM。第三代至强可以全性能地处理每个处理器总共 16 个 DIMM。
在这里插入图片描述

FIgure 2:Ice Lake的4个控制器,8通道架构

8个通道中的每一个都以 DDR4-3200 运行。 这与每个通道的 DIMM 数量或是否安装了 200 系列傲腾持久内存无关。 还对内存调度程序进行了改进,降低了有效内存延迟,同时增加了整体带宽。

与第二代 Xeon Scalable 相比,这种新设计使整体内存容量增加了 2.6 倍,内存增加了 1.5 倍,而不会增加本地或远程套接字层的读取延迟。 双插槽服务器最多可配备 32 个 DIMM,我们仍有两种平衡的内存配置可供选择,以实现最佳性能:
在这里插入图片描述
表 2:Icelake 最大性能配置

Intel 第三代 Xeon Scalable 允许在不牺牲内存带宽的情况下进行更大容量的内存配置。 与前几代一样,在规划服务器内存时应遵循一些基本注意事项:

  • 内存模块必须具有相同的规格。 每个 DIMM 必须具有相同的大小、速度和等级。
  • 通道相同地填充有一个或两个 DIMM。
  • 服务器中的每个 CPU 插槽必须具有相同的内存布局。

以安全为中心的体系结构

也就是说,提高性能只是的一部分。无论使用案例如何,安全性都是当今每个IT组织的首要关注点。英特尔抓住了这一新设计提供的机会,将高级安全功能直接嵌入到 CPU 中。全内存加密 (TME) 可加密整个系统内存,以增强对物理攻击的保护,而软件防护扩展 (SGX) 则通过内存中的应用程序隔离提供细粒度的数据保护,包含在所有第三代至强 SKU 中。这些新功能将在以后的文章中深入介绍,但重要的是要注意,SGX 需要平衡的内存配置。

在ATC体验Ice lake

服务器越来越需要以更短的时间范围处理更多数据,并在创建数据的地方创建数据。这种需求推动了对直接连接到处理器的大量高性能 DRAM 和持久内存的需求。英特尔第三代至强可扩展处理器专为适应要求苛刻的用例而构建,而不会牺牲性能或安全性。

这些处理器现已在DellEMC PowerEdge 15G、HPE ProLiant Gen10 Plus和Cisco UCS M6系列服务器中推出,其他产品线即将更新。WWT很高兴在我们的ATC中展示这项技术,我们几乎可以适应任何用例或工作负载。我们邀请您在ATC中看到它们的实际应用,或参加专门的研讨会以了解更多信息。


http://chatgpt.dhexx.cn/article/ihJoCsi8.shtml

相关文章

内存分配器 (Memory Allocator)

对于大多数开发者而言,系统的内存分配就是一个黑盒子,就是几个API的调用。有你就给我,没有我就想别的办法。来UC前,我就是这样认为的。实际深入进去时,才发现这个领域里也是百家争鸣,非常热闹。有操作系统层…

内存分配器

内存分配器(Memory Allocator)负责内存分配与管理。内存分配器是所有容器的基础,它总是隐藏在容器背后工作,因此内存分配器对实现者非常重要,而对应用者几乎可以忽略。内存分配器分为两级,第一级分配器直接…

小笔记——内存控制器

内存控制器 what is memory controller? 内存控制器是一个用于管理与规划从内存到CPU间传输速度的总线电路控制器。 工作方式 内存控制器控制着必要的逻辑读写DRAM,每隔一段时间刷新动态随机存取存储器(DRAM)的内容。进行读取和写入动作时&…

DDR内存控制器

DDRDouble Data Rate双倍速率同步动态随机存储器。严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的缩写,即同步动态随机存取存储器。而DDR SDRAM是Double Data Rate SDRAM的…

Linux内存控制器(二)

1. memcg_stock_pcp // 每处理器记账缓存一次从内存控制组批量申请32页, 然后把内存控制组的内存使用量加上32页 #define CHARGE_BATCH 32U // 在内存控制组记账(charge)时, 先查看当前处理器的memcg_stock_pcp // 如果memcg_stock_pcp保存的内存控制组(memcg_stock_pcp->c…

DDR控制器

SCL:Self-Calibration Logic,通过寄存器编程方式实现DDR物理层信号校准的逻辑,这部分逻辑全部由硬件实现,软件需要在物理层自动校准之前对寄存器进行初始化。 SDRAM接口宽度在保持相同速率的前提下,可以采用全宽、半宽…

XLINX系列之Zynq-7000系列DDR内存控制器详解

1DDR内存控制器介绍 DDR内存控制器支持DDR2,DDR3,DDR3L和LPDDR2设备,包括三个主要块:AXI存储器端口接口(DDRI),带有交易调度器(DDRC)的核心控制器和具有数字PHY&#xf…

3. 内存控制器与SDRAM

内存控制器(内存接口设备) 地址处于不同的范围,会发出不同的片选引脚,换句话说,SOC外接的不同内存芯片,会有不同的地址范围。 CPU统一编址包括GPIO,各种协议类接口控制器(UART&…

存储控制器

存储控制器是按照一定的时序规则对存储器的访问进行必要控制的设备,包括地址信号、数据信号以及各种命令信号的控制,使主设备(访问存储器的设备)能够根据自己的要求使用存储器上的存储资源。 存储控制器的作用主要就是进行接口的转换,将主设…

内存控制器

1.内存控制器(Memory Controller) 内存控制器(Memory Controller)是计算机系统内部控制内存并且通过内存控制器使内存与CPU之间交换数据的重要组成部分。内存控制器决定了计算机系统所能使用的最大内存容量、内存BANK数、内存类型…

Java并发包中常用类小结(一)

Java并发包中常用类小结(一) 从JDK1.5以后,Java为我们引入了一个并发包,用于解决实际开发中经常用到的并发问题,那我们今天就来简单看一下相关的一些常见类的使用情况。 1、ConcurrentHashMap ConcurrentHashMap其实就是线程安全版本的has…

java并发包源码分析

java并发包之AbstractQueuedSynchronizer源码分析 分析并发包首先要了解AbstractQueuedSynchronizer(AQS),因为AQS是并发包的基础工具类。本文从ReentrantLock的公平锁出发,分析AbstractQueuedSynchronizer的工作过程。 lock与u…

【Java进阶】Java并发包提供了哪些并发工具类?

通过前面的学习,我们一起回顾了线程、锁等各种并发编程的基本元素,也逐步涉及了 Java 并发包中的部分内容,相信经过前面的热身,我们能够更快地理解 Java 并发包。 今天我要问你的问题是,Java 并发包提供了哪些并发工具…

java---JUC并发包详解

目录 前言 一、atomic包 AtomicInteger类 AtomicReference类 AtomicStampedReference类 二、locks包 接口 Condition Lock ReadWriteLock 实现类 ReentrantLock类 ReentrantReadWriteLock类 三、CountDownLatch 四、Semaphore(信号量) 总结 前言 JUC是java.u…

Java多线程并发编程--Java并发包(JUC)

Java多线程并发–Java并发包(JUC) 前言 前一篇文章中,笔者已经介绍了Java多线程的一些基础知识,但是想要成为一名中高级Java程序员还必须懂得Java并发包(JUC)的知识点,而且JUC现在也是面试中必…

接口测试--apipost如何自定义header中的content-type

使用apipost进行接口测试的时候,有时候会用到一些自定义或者不常见的content-type格式,这个时候就要手动在header头部自定义content-type。 这里我们自定义一个content-type,格式为application/octet-stream 然后body选择的为form-data&…

Type-c引脚定义

Type-c口是什么口,有什么作用? Type-c口在大家的视野中或许比较陌生,但是生活中处处离不开Type-c口的存在。手机,电脑,音箱,小家电,无人机…等等,都存在Type-c接口。 Type-c只是一种…