第二代英特尔® 至强® 可扩展处理器产品家族技术概述

简介

本文介绍了第二代英特尔® 至强® 可扩展处理器产品家族的新特性、增强功能以及为开发人员带来的优势。最新的处理器不仅具有前代英特尔至强可扩展处理器产品家族的所有特性,还提供了更多新技术,包括用于协助人工智能工作负载的英特尔® AVX512-深度学习加速(英特尔® AVX512-DL Boost)、英特尔® 傲腾™ DC 持久内存和英特尔® Speed Select Technology。

表 1. 下一代英特尔® 至强® 可扩展处理器产品家族微架构概述

相对前代产品的新功能和变更用斜体表示。

CPU第二代英特尔至强可扩展处理器产品家族:高达 28 个内核,采用英特尔® 超线程技术,70 W 到 205 W
新功能处理器频率提高
英特尔® AVX512-深度学习加速(英特尔® AVX512-DL Boost)
特定 SKU 采用英特尔® Speed Select Technology
插槽Socket P
可扩展性2S、4S 和无粘接 8S(通过 xNC 支持实现>8S)
内存每 CPU 6 个通道 DDR4 R/LRDIMM / 每插槽12 个 DIMM,高达 2666 MT/秒 2DPC,高达 2933 MT/秒 1DPC;特定 SKU 提供基于 16 GB DDR4 的 DIMM 支持
特定 SKU 采用英特尔® 傲腾™ DC 持久内存(高达 512 GB / 模块)
UPI每 CPU 最多 3 个链路
超级通道
互联
x20,速度:9.6 和 10.4 GTS
PCIePCIe Gen 3:每 CPU 48 个通道(bifurcation 支持:x16,x8,x4)
主机架构独立英特尔® Omni-Path 架构适配器(100 GB/秒)
[集成架构 SKU 仅限前代英特尔至强可扩展处理器产品家族]
英特尔® C620 系列芯片组英特尔® 通信加速技术(英特尔® QAT)
增强型串行外设接口 (eSPI)
集成的英特尔® 以太网连接
多达 4x10 GB/1 GB 端口,多达 20 个端口 PCIe* 3.0(8 GT/秒)
多达 14 个 SATA 3,多达 14 个 USB 2.0,多达 10 个 USB 3.0

Diagram
图 1. 平台配置示意图

英特尔® 傲腾™ DC 持久内存技术

 

英特尔傲腾 DC 持久内存模块是一种新型大容量内存,可以在易失性或非易失性状态下工作,并在 DRAM 和存储之间提供一个新层。计算机架构中的传统内存为易失性内存。易失性内存中的数据只有在系统供电时存在。如果发生断电,数据会立即丢失。即使在系统断电或重启的情况下,持久内存也能保持存储信息的完整性。持久内存支持字节寻址,高速缓存一致性以及软件直接访问持久内存,无需分页。

硬件设计

基于英特尔傲腾 DC 持久内存模块的 DIMM 插入英特尔® 架构 (IA) 服务器平台上的标准 DDR4 无缓冲/注册/负载减少的接口。它虽然兼容 DDR4 硬件规格,但是不兼容原生 DDR4 接口协议;相反,通信使用名为 DDR-T的独特编码事务性协议。

diagram
图 2. 基于英特尔® 傲腾™ DC 持久内存模块的 DIMM、内存控制器和内存通道

处理器封装拥有两个内存控制器,每个控制器包含 3 个内存通道,每个通道包含两个 DIMM。标准 DDR4 内存可插满所有内存插槽,持久内存模块可插满一半的插槽(如图 2 的蓝色部分所示)。在系统中使用持久内存模块和 DDR4 内存可提供其他优势。持久内存技术提供的 DIMM 容量为 128 GB、256 GB 和 512 GB,每处理器插槽高达 3 TB。支持 3 TB 方案的处理器型号的编号以 “L” 结尾。这表示支持最高每插槽 4.5 TB,包含 3 TB 持久内存和其他标准内存。基于英特尔傲腾 DC 内存的 DIMM 的运行速度高达 2666 MT/秒。

硬件和软件要求


图 3. 英特尔® 傲腾™ DC 持久内存模块技术要求

为了利用英特尔傲腾 DC 持久内存模块,需要一个 BIOS、CPU 和支持这项新技术的平台。还需要提供支持块驱动程序和管理库的操作系统,以及一个持久内存感知型文件系统 (PMFS),才能充分利用英特尔傲腾 DC 持久内存模块。

为了将英特尔傲腾 DC 持久内存模块配置为易失性、持久或两者的结合,通过 BIOS 或操作系统进行配置。当系统启动到操作系统级别时,操作系统将加载适当的驱动程序,以利用选择的配置。从数据中心的角度来看,必要时也可以通过基本管理控制器 (BMC) 远程配置英特尔傲腾 DC 持久内存模块。

英特尔傲腾 DC 内存操作模式

Diagram
图 4. 英特尔傲腾 DC 内存操作模式

英特尔傲腾 DC 持久内存模块有 3 个操作模式,分别为内存模式、应用直接 (App Direct) 模式和 App Direct 上的存储 (Storage over App Direct) 模式。在内存模式下,英特尔傲腾 DC 持久内存模块对操作系统、应用或虚拟机监控器 (VMM) 来说是透明的,显示为传统易失性内存。系统上的 DRAM 内存自动转变角色,成为面向内存系统的高速缓存。当 DRAM 内存作为内存高速缓存运行时,它不是操作系统使用的总易失性内存池的一部分。

App Direct 模式支持英特尔傲腾 DC 持久内存模块作为持久内存运行,并明确展示给应用。在该操作模式下,操作系统或 VMM 需要持久内存文件系统。App Direct 支持应用以 64 字节高速缓存行大小直接应用、加载操作并将其存储至持久内存。DRAM 内存将在系统上显示为独立的池或易失性内存。

应用需要决定将哪些数据放在易失性 DRAM 内存中,以及将哪些数据放在英特尔傲腾 DC 持久内存模块中,为软件开发人员创建优化注意事项。在内存模式下,在 DRAM 高速缓存中过快地循环数据的工作负载可能造成较高的高速缓存未命中率。在内存模式下,DRAM 高速缓存将无法寻址,在 App Direct 模式下,DRAM 提供给开发人员。这支持开发人员将频繁使用的代码放在更快的 DRAM 内存中,将需要比存储快、延迟不如 DRAM 低的数据放在持久内存中,从而优化应用性能。

最后一种模式是 App Direct 上的存储模式,它利用操作系统原生非易失性双列直插式内存模块 (NVDIMM) 提供兼容与块设备通信的现有应用的能力。驱动程序可以以 512 字节和 4KB 数据块大小进行通信,支持应用将持久内存用作存储设备。

从编程的角度来看,App Direct 模式可以通过两种不同的方式访问持久内存区域:通过使用标准文件 API 的传统方法和通过内存映射文件。这支持直接加载与存储操作,实际上提供 64B 高速缓存行大小的访问。

Diagram
图 5. 编程至持久内存区域

 

软件架构

Diagram
图 6. 软件架构示意图

图 6 显示包含英特尔傲腾 DC 持久内存模块池的一个系统,一部分内存被配置为易失性内存,一部分内存被配置为持久内存。该图主要从软件的角度展示了 App Direct 模式和 App Direct 上的存储模式如何与持久内存区域协作。

操作系统利用操作系统原生 NVDIMM 驱动程序或驱动程序集连接不同的模式和英特尔傲腾 DC 持久内存模块。如图 6 的橙色框所示,驱动程序支持可管理性软件连接内存,提供配置内存、检查内存运行状态、检查与内存相关的各种感知数据等功能。可通过命令行界面或软件管理 API 来完成。

如图 6 的蓝框所示,App Direct 模式可通过两种方式与持久内存区域进行交互。第一种方式是通过持久内存感知型文件系统,该系统经过修改,可了解持久内存。持久内存感知型文件系统与操作系统原生 NVDIMM 驱动程序协作,以获得持久内存的地址范围。该操作完成后,持久内存感知型文件系统可与打开、读取、写入等普通文件系统操作进行通信,也可以使用直接加载和存储操作进行通信,无需完成块堆栈。持久内存感知型文件系统包括 Windows* 上的 NTFS 和 Linux* 上的 EXT4 和 XFS。

App Direct 模式与持久内存进行交互的第二种方式是通过内存映射文件。内存映射由来已久,目前几乎所有操作系统都支持它。采用标准 DRAM 的内存映射通常会影响性能。这是因为以字节可寻址的方式访问内存要求在 内存空间中对文件进行分页,这将导致上下文切换。持久内存则不同,因为内存映射文件中没有发生分页,而是应用直接访问。内存映射文件的应用将使用最短的代码路径加载与存储操作,同时避免通常与内存映射相关的上下文切换和中断。这种直接访问方法也被称作 DAX。和 DRAM 上的内存映射一样,在使用 API(如 Linux 中的 msync() 和 Windows 中的 FlushFileBuffers())刷新前,存储并不持久。也可以直接使用 CFLUSHOPTCLWB 指令刷新 CPU 高速缓存,本文将在稍后介绍。

如图 6 的黄色框所示,在 App Direct 上的存储模式中,操作系统原生 NVDIMM 驱动程序以块大小读取并写入至持久内存区域。这使现有的块存储应用或文件系统可以轻松地与持久内存区域进行直接交互,采用透明的方式,该区域只显示为存储设备。

持久域


图 7. 持久域概述

持久域表示将存储指令视作持久的条件。并不是每个存储都能立即具有持久性,因为处理器高速缓存提供了一个性能优势 — 使直写式高速缓存影响性能。在系统出现故障时,处理器高速缓存的大容量使其很难自动刷新。这是因为清除大量处理器高速缓存需要额外的备用电源。

这意味着应用需要执行处理器高速缓存刷新。应用通过图 7 中的绿色命令执行该操作。在存储从处理器高速缓存转移到芯片组写入挂起队列 (WPQ) 的情况下,设想一下系统出现故障将发生什么:平台拥有充足的电源,以确保在出现故障时刷新 WPQ 并将存储转移到持久内存。当存储转移到图 7 底部的红框(即持久内存)中时,它必然会成为持久内存。持久内存开发套件(参考下文)提供了遵守这些规则的 API。

英特尔傲腾 DC 内存区域和使用命名空间

Map
图 8. 内存区域

英特尔傲腾 DC 持久内存模块支持开发人员将区域设置为易失性、持久或两者的结合。在持久区域内,可以进一步划分为 App Direct(加载/存储大小数据)和 App Direct 上的存储(块大小数据)。如图 8 所示,在插槽上创建的区域必须与 DIMM 上的相同,英特尔傲腾 DC 持久内存模块拥有易失性和持久区域。为了在 Linux 或 UEFI 中的 DIMM 上配置与管理区域,请使用 Ipmctl

计划如何划分部分持久区域时,可以将它们分为逻辑设备,我们将其称为命名空间。命名空间将持久交叉和非交叉集的容量提供给操作系统。命名空间分为两类 - 块或支持 DAX 的持久内存。为了在 Linux 中配置与管理命名空间,还可以使用 ndctl

持久内存库

Diagram
图 9. 非易失性内存 (NVM) 库

持久内存开发套件 (PMDK) 基于开放式持久内存编程模式而构建,有助于加快开发流程。这些库是开源的,包括用于 malloc/free 编程、事务支持、硬件独立性和高可用性的 C 和 C++ 语言库。虽然它不是必要条件,但是该方法可推动持久内存应用开发。

程序员需要注意的一个重要方面是:这些库降低了处理事务算法的复杂性,以确保内存数据结构在系统或应用崩溃的情况下保持完整性和一致性。有些库支持需要将持久内存用作易失性内存的用例。

CLWB 指令

将内存映射中的修改存储至硬盘时,执行 Linux 上的 msync 或 Windows 上的 FlushFileBuffers 等刷新操作前,无法保证修改的发生。当内存映射存储于持久内存中时,需要 CPU 高速缓存刷新操作。在英特尔傲腾 DC 持久内存模块上,通过 CLWB 指令完成该操作。

示例代码

MOV X1, 10 - 将 10 存储至 X1

MOV X2, 20 - 将 20 存储至 X2

MOV R1, X1 - 存储 X1 和 X2 的操作为全局可见,但是仍有可能是易失性

CLWB X1 - 从高速缓存刷新 X1 和 X2
CLWB X2

SFENCE - 确保在以下任何代码之前发出存储命令

英特尔傲腾 DC 内存用例

Diagram
图 10. 内存数据库比较

保存在内存中的数据库总能受益于更大的内存容量,这是英特尔傲腾 DC 持久内存模块为这个特定用例提供的一个明显优势。另一个优势出现在需要关闭内存数据库时,如旨在将安全补丁应用于操作系统。应用补丁后并重启系统后,数据库需要读回内存。TB 级别的庞大数据库可能需要一些时间。在该场景中,由于内存具有持久性,英特尔傲腾 DC 持久内存模块无需在 DRAM 和固态盘之间对数据进行分页。

该技术还提供了一个不太明显的优势,即创造访问包含更小数据大小的数据库的机会。一般而言,使用块驱动程序迫使开发人员访问 4KB 数据块。App Direct 模式支持字节寻址,提供了将 64 位高速缓存行读写至数据库或者将部分数据块刷新至硬盘(而非整个 4KB)的新选项。数据库软件也可以根据每个服务级别协议要求的数据优先级,选择是否将数据存储在 DRAM 或英特尔傲腾 DC 持久内存模块中。

Diagram
图 11. Memcached 比较

和前文中的内存数据库用例一样,memcached 用例提供类似的优势。相比固态盘,英特尔傲腾 DC 持久内存模块的容量更大,使内存位于更靠近处理器的位置,DRAM 为系统内存提供了一个高速缓存。考虑另一个方面:从拥有成本的角度来看,得益于每插槽内存密度,英特尔傲腾 DC 持久内存模块支持以更少的节点提供相同数量的客户端。

Diagram
图 12. 多租户和内存扩展比较

对于多租户 VM 用例,英特尔傲腾 DC 持久内存模块提供的每插槽内存容量比 DRAM 正常情况下更大,支持更多虚拟机 (VM) 实例或提供更大的每 VM 内存,无需在 DRAM 和固态盘之间对数据进行分页。

Diagram
图 13. 直接连接的存储或 HPC 日志

App Direct 上的存储为不同用例提供了优势。对于典型的存储用例,内存的直接连接特性将使解决方案比存储阵列更快。如果出于单点故障的考虑需要对存储数据进行复制,远程直接内存访问(RDMA) 是一种选择,它支持在远程节点直接访问持久内存。PMDK 中的库可以帮助完成这一任务。需要注意的是,PMDK 库将适用于在 RDMA 之上构建的任何程序,包括需要远程写入持久内存的消息传递接口 (MPI) 应用。

持久内存还提高了高性能计算 (HPC) 数据的可用性,可以充当可靠的写入高速缓存,在 HPC 胖节点上以数据块或高速缓存行记录日志。在 HPC 用例的长期计算过程中,最好创建数据快照,以防机器崩溃时丢失计算。这通常被称作日志或检查点。快照生成后,必须暂停计算,然后继续。如果在存储网络上生成快照,在数据大小的影响下,暂停时间会非常长。但是如果在本地持久内存上生成快照,会快很多。检查点甚至可以从英特尔傲腾 DC 持久内存模块迁移到远程存储位置,同时继续运行计算。

英特尔傲腾 DC 内存可靠性、可用性和可维护性 (RAS) 特性

第二代英特尔至强处理器可扩展产品家族拥有面向英特尔傲腾 DC 持久内存模块的特定可靠性、可用性和可维护性 (RAS) 特性集。RAS 特性专门用于帮助维护英特尔傲腾 DC 持久内存模块和 DDR-T 协议级别的数据完整性。它们尝试识别内存空间中的错误和损坏保护措施。需要注意的是,英特尔傲腾 DC 持久内存模块发现的并且有可能被 RAS 特性识别的任何错误都将以标准内存的方式报告给应用。有关与 DRAM 相关的 RAS 特性集的更多信息,请参阅 英特尔® 至强® 可扩展处理器产品家族技术概述

可用 RAS 特性的详细说明:

  • 巡查式擦洗 - 自动查找可纠正和不可纠正的纠错码 (ECC) 错误。DDR4 和非易失性 DDR DIMM 内存均拥有各自的擦洗程序,它们相互异步运行。
  • 错误注入 - 用于测试操作系统内核或应用级软件错误处理的多个错误注入机制。
  • 病毒式错误隔离 - 一种平台范围内的隔离机制,面向无法通过数据中毒机制遏制的错误。
  • 数据中毒 - 当 NVDIMM 遇到不可纠正的错误时,将返回 POISON 状态,然后继续遏制损坏数据。

英特尔傲腾 DC 内存安全特性

关键特性是英特尔傲腾 DC 持久内存模块有助于保护内存中的数据免受各种形式攻击的影响,如内存搜读(memory scraping)。一种方法是在启动时通过基于只读内存的信任根充分验证内存控制器固件,以提供安全的启动。另一种方法是通过 XTS-AES 256 级加密保护内存中的所有数据,无论是持久还是易失性内存区域。

持久内存加密与用户在 BIOS 级提供的密码交互。需要管理密码,以便在每个启动周期内保持内存中持久数据的完整性。通过带内和带外选项提供持久内存的密码擦除。

易失性内存区域加密由系统自动管理,无需劳烦最终用户。易失性内存的加密密钥在系统关闭或断电后自动清除,每次系统启动时将重新生成。这甚至比标准 DRAM 更安全,后者在断电后偶尔保留部分数据。

英特尔傲腾 DC 内存和 DIMM 故障

在 DIMM 发生故障的情况下,可维护性与标准 DRAM 没有差别,关闭系统并替换单元。如果同时使用 App Direct 上的存储模式与软件 RAID(如 RAID 5/1),数据将在全新 DIMM 上重建。如果 App Direct 上的存储模式并未采用 RAID,那么必须在替换 DIMM 前对数据进行备份。使用新的 DIMM 重启系统后,数据将需要从备份副本中恢复。如果使用了内存模式,数据将丢失。

Diagram
图 14. 软件 Raid 和英特尔傲腾 DC 持久内存模块

Diagram
图 15. 使用英特尔傲腾 DC 持久内存模块进行备份与恢复

英特尔傲腾 DC 内存与平台故障

在平台发生故障的情况下,数据将保存在持久内存区域中,无需手动保存与恢复数据。但是,易失性内存中的数据将丢失。DIMM 需要被移动到完全相同的替代主板上,并且以完全相同的顺序从原始主板插入 DIMM 插槽。由于持久内存空间的加密安全特性,最终用户还需要向 BIOS 提供正确的密码,才能访问新系统上的持久内存区域。

英特尔傲腾 DC 内存策略配置

Diagram
图 16. 内存配置概述

在云工作负载和数据中心环境的某些场景中,通过策略配置英特尔傲腾 DC 持久内存模块是一项优势。英特尔傲腾 DC 持久内存模块可以同时支持内存和 App Direct 分区,包括在启动时完成的分区。这有助于提高管理器的灵活性,以借助分区策略通过平台代理在数据中心内进行修改。在云环境中,策略可以在 VMM 或操作系统的控制下分配部分分区。该流程可通过与 ODROM/UEFI 通信的命令行在带内执行,也可以通过与 BMC 通信在带外执行。除了配置之外,这些带内和带外选项提供了对内存空间进行其他修改的能力,如启动持久内存区域的安全加密擦除或修改安全密码。

英特尔傲腾 DC 内存监控

Diagram
图 17. 内存监控概述

带内和带外选项可用于监控英特尔傲腾 DC 持久内存模块的状态。根据选择的内存监控方法,可获得不同的感知信息,包括功耗、温度、内存运行状况、警报设置等。英特尔® 节点管理器(英特尔® NM)是帮助监控内存和平台其他方面的一个选项。

持久内存资源

本文提供了与持久内存相关的文章、视频和代码示例,以帮助加快英特尔傲腾 DC 持久内存模块的采用。

英特尔® AVX512-深度学习加速(英特尔® AVX512-DL Boost)

 

为了提升 8 位整数数据类型的计算吞吐率,英特尔® AVX512-DL Boost 作为一种全新的 AVX512 指令,可支持神经网络中深度学习的推理方面。深度学习包含两个方面:训练和推理。

深度学习使用各种算法,但其主要用例包含图像识别、语音识别和语言翻译。所有这些用例中都会涉及到一个计算模型,该模型具有一个通过大量已知输入执行的训练阶段。例如,预测照片中是否有猫狗的图像识别算法使用许多已知的猫狗图像来训练模型。算法处理每一张照片,然后预测出这张图片描绘的是猫还是狗。如果一张有关猫的给定图像返回的预测结果是 80% 的猫和 20% 的狗,那么该算法需进行一些修正以提高准确性。

该算法会自动调整部分权重,以更加准确地对已知输入进行每一次后续传递,并尝试对每张已知的猫狗照片实现近 100% 的预测。这就是训练阶段的目的所在,而且需要更加密集的计算。计算的准确性更重要,而且需要更广泛的数字范围。为了保持这些数字的准确性,浮点数据类型在训练阶段中更有用。

英特尔 AVX512-DL Boost 使用较小的数据类型支持工作负载的推理方面。相比训练阶段,推理流程的分析和对比使用的数据量更小。深度学习的推理方面是指,当算法使用已知图像进行了训练,然后提供一张未知图像进行分析。该算法基于训练阶段,试图推断未知图像的内容;在本示例中,它将尝试确定图像描绘猫狗的可能性。在面向深度神经网络的英特尔® 数学核心函数库(英特尔® MKL-DNN)中,启用了面向英特尔 AVX512-DL Boost 的软件开发。如果基础英特尔® AVX -512 已用于某一应用,那么为操作系统或 VMM 启用英特尔® AVX512-DL Boost 将是最低要求。

infographic
图 18. 新的 VPDPBUSD 指令替换了之前的三条指令

英特尔 AVX512-DL Boost 的亮点包括:

  • 引入了 VPDPBUSD,它是一种全新的 8 位融合指令,可在内循环中用一条指令替换三条指令(VPMADDUBSW、VPMADDWD 和 VPADDD)。
  • 能够操作 128 B 和 256 B 矢量

英特尔® Speed Select

英特尔® Speed Select Technology 是一个特性集,可提供更精细化的 CPU 性能控制。过去,处理器具有所有内核共享的某些特性,如固定基本频率、散热限制或功耗极限。英特尔® Speed Select Technology - Performance Profile(英特尔® SST-PP)通过创造机会向处理器内核组分配特定特性,从而改变这种情况。

英特尔 SST-PP 这一新特性支持处理器在三个不同的操作点上运行。每个操作点都有自己的配置文件,其中包含内核数量、基础内核频率、热设计功耗和最高温度。系统启动时,BIOS 会发现并实施这些操作点。

Metrics
图 19. 支持和不支持英特尔® SST-PP 的处理器对比。频率和内核数量仅供说明。

英特尔 Speed Select 可提高服务等级协议保证的每内核性能,或者根据给定的工作负载或虚拟机要求,创建多个处理器配置文件。数据中心的工作负载会不断变化。英特尔 Speed Select 可以提供远程访问解决方案实现自动重新配置,以满足不断变化的工作负载要求,不需要花费人力来管理资源的变化或物理移动。

可以通过与 RESTful Redfish* 管理框架有关的 BIOS 或 API 来完成不同操作的配置,也可以使用英特尔® 整机柜设计(英特尔® RSD)的第三方编排软件完成。

仅型号以字母“Y”结尾的第二代英特尔® 至强® 处理器支持英特尔 SST-PP。

Diagram
图 20. 支持和不支持英特尔® Speed Select Technology - Base Frequency(英特尔® SST-BF)的处理器对比。内核数量仅供说明。

英特尔® SST-BF 是另一项与处理器型号相关的新功能,以网络和虚拟化工作负载为重点。英特尔 SST-BF 能够提高高优先级内核的基频,以应对瓶颈和降低用于低优先级工作负载的其他内核的基频。

仅以“N”结尾的部分型号支持英特尔 SST-PP。

英特尔® 资源调配技术(英特尔® RDT)

英特尔® 资源调配技术(英特尔® RDT)中的一组技术旨在帮助监控和管理共享资源。英特尔 RDT 具备前几代处理器的几项现有特性,提供高速缓存监控技术 (CMT)、高速缓存分配技术 (CAT)、内存带宽监控 (MBM)和代码数据优先级 (CDP) 等优势。

 

英特尔® 资源调配技术(英特尔® RDT)

关于介绍英特尔 RDT 背后的关键原则的动画,请参阅使用英特尔® 资源调配技术优化资源利用率

Diagram
图 21. 使用内存带宽监控 (MBM) 识别噪邻(内核 0)的概念图

第二代英特尔至强处理器具备名为内存带宽分配 (MBA) 的全新特性,该特性旨在提供每线程内存带宽控制。该特性可与 MBM 结合使用,有效隔离噪邻。图 20 显示了虚拟机或应用(内核 0 上图中的橙色应用)控制内存带宽并迫使其他虚拟机或应用(内核 1 上的绿色应用)放弃资源的示例。如果要理解内存带宽发生的具体情况,可以使用英特尔 RDT 中的 MBM 特性。MBM 使用分配给软件线程的一组资源监控 ID(RMID)。然后,操作系统或 VMM 可以随时读取任何给定 RMID 的内存带宽利用率。

Diagram
图 22. MBA 优先考虑内存带宽

通过 MBM 识别出噪邻后,可利用 MBA 特性为 RMID 分配多个信用。为噪邻提供一定数量的信用可以让其按照约定的服务等级协议 (SLA) 运行,当它用完信用后,将无法再访问内存带宽。这将为第二个虚拟机或应用提供充足的免费开销,以便其使用相同的资源而不被挤出。

《64 位和 32 位英特尔® 架构软件开发人员手册》(第 3 卷)第 17.16 章详细介绍了英特尔 RDT 特性的编程方法。

该特性需在操作系统或 VMM 级启用后才能使用,面向 32 位、64 位英特尔®架构和英特尔®架构(英特尔® VT-x)特性的英特尔® 虚拟化技术(英特尔® VT)必须在 BIOS 级启用。如欲获取设置英特尔 VT-x 的指令,请参考您的 OEM BIOS 指南。

英特尔 RDT 计算资源

侧通道方法的硬件缓解

为了解决与侧通道方法相关的安全漏洞,第二代英特尔至强可扩展处理器在硬件中实施了修复。这些更改可以缓解 Branch Target Injection、Rogue Data Cache Load 和 L1 Terminal Fault 侧通道方法。所有上市的处理器 SKU 均实施了硬件修复。部分硬件修复要求操作系统内核和 VMM 更新,请联系您的软件厂商获取支持。

侧通道分析与英特尔产品说明

软件开发人员资源和指南

软件工具

以下是经过优化适用于第二代英特尔至强可扩展处理器的软件工具列表。

表 2. 软件工具

工具版本描述
英特尔® 性能计数器监控器(英特
尔® PCM)
2.11.1提供示例 C++ 例程和实用程序,用于估算处理器的内部资源利用率。
英特尔® 内存延迟检查器(英特尔® MLC)3.5测试系统的内存带宽。
英特尔® VTune™ 放大器 2018 分析工作负载的性能以帮助优化。

英特尔® C++ 编译器

Windows* 编译器版本 18

优化的编译器软件和 MP LINPACK 库。

Linux* 编译器版本 19
英特尔® Parallel Studio XE 优化的 MP LINPACK* 库包含在英特尔® Parallel Studio XE 中

面向存储、网络和持久内存的优化型开发人员套件和库

SPDKspdk.io
DPDKdpdk.org
PMDKpmem.io
英特尔® 至强® 处理器可扩展内存家族非内核性能监控 (Zip) 进一步详细介绍非内核以及非内核子组件的监控功能。

作者

David Mulnix 是一名软件工程师,在英特尔工作了 20 多年。他的重点关注领域包括软件自动化、服务器功耗和性能分析,他还为 Server Efficiency Rating ToolTM 的开发提供开发支持。

投稿人:Andy Rudoff

其他资源

第一代英特尔至强处理器可扩展家族技术概述

64 位和 32 位英特尔® 架构软件开发人员手册 (SDM)

英特尔® 架构扩展指令集编程参考

英特尔® 资源调配技术(英特尔® RDT)

英特尔至强处理器可扩展内存家族非内核性能监控 (Zip)

英特尔® C620 系列芯片组平台数据表

英特尔® AI 开发人员计划

利用英特尔® 资源调配技术优化资源利用率

英特尔® 内存保护扩展启用指南

英特尔® 可靠运行技术

面向智能零售设备的英特尔® 基于硬件的安全技术

James Reinders 撰写的《处理器跟踪》

英特尔® 节点控制器网站

英特尔® 节点管理器程序员的参考套件

面向英特尔® 节点管理器的开源参考套件

如何设置英特尔® 节点管理器

英特尔® 高速缓存加速软件(英特尔® CAS)

英特尔® 数据中心管理器(英特尔® DCM)

英特尔® 性能计数器监控器 - 测量 CPU 利用率的更好方法

英特尔® 内存延迟检查器(英特尔® MLC)

英特尔® VTune™ 放大器

英特尔® 数据中心现代化估算器

Для получения подробной информации о возможностях оптимизации компилятора обратитесь к нашему Уведомлению об оптимизации.
Возможность комментирования русскоязычного контента была отключена. Узнать подробнее.