英特尔® 至强™ 处理器 E5 v4 产品家族的高速缓存分配技术简介

简介

英特尔的高速缓存分配技术 (CAT) 可通过支持软件控制数据分配至末级高速缓存 (LLC) 的哪个位置,支持隔离和优先级划分关键应用,从而解决共享资源问题。

该 CAT 特性最初仅在部分英特尔® 至强™ E5-2600 v3 服务器处理器产品家族中的通信处理器中推出,经过增强,目前适用于自英特尔® 至强™ E5 v4 产品家族起的所有 SKU。 英特尔® 至强™ E5 v4 产品家族可提供比前代处理器更多的 CLOS,支持更加灵活地使用 CAT,并具备基于 CPUID 的枚举支持,从而支持使用 CAT 的软件在更改较少的代际产品之间重复使用。

本文将概述 CAT 特性及架构,本系列的下一篇文章将探讨其使用模式。后续文章将介绍有关验证点软件支持的信息。

单独介绍时,英特尔® 至强™ E5 v4 产品家族还推出了名为代码和数据优先级划分 (CDP) 的 CAT 扩展功能,此处此处的系列文章将对其进行介绍。

CAT 和 CDP 是名为英特尔 Resource Director Technology (RDT) 的大系列技术的一部分。 有关英特尔 RDT 特性集的更多信息可点击此处,且此处公布了演示英特尔 RDT 主要原理的动画。

为何需要使用高速缓存分配技术 (CAT)?

在目前的数据中心云环境中,多租户虚拟机随处可见,它们通常运行多种不同类型的应用,因此确保一致的性能和优先级划分重要交互应用成为了一项挑战。 数据中心有许多共享资源(包括网络),而且在平台内部,现代多核平台中普遍使用共享资源,比如末级高速缓存。

                        

图 1. 现代多核平台中的许多资源都是可以共享的,包括末级高速缓存。

尽管这些共享资源可提供出色的性能扩展性和吞吐量,但部分应用(比如后台视频流和转码应用)会过度使用高速缓存,进而降低更重要的应用的性能。 例如,如下图所示,“吵闹邻居”(内核 0 上)消耗了过多的末级高速缓存,后者根据先到先得的原则分配,因此导致内核 1 上优先级更高的应用(绿色)出现了性能损失问题。

 

                      

图 2. 内核 0 上的“吵闹邻居”过度使用了平台中的共享资源,导致性能逆转(尽管内核 1 上的应用优先级更高,但其运行速度比预期的慢)。

 

而且,随着新工作负载的引入和完成,在确定特定工作的运行时长,或者在长时间运行的工作负载中,其性能是否会随着时间的推移而发生变化等方面,环境的变化性对此提出了挑战。

什么是高速缓存分配技术 (CAT)?

高速缓存分配技术 (CAT) 提供软件可编程控制,以控制特定线程、应用、虚拟机或容器等消耗的高速缓存空间量。 例如,这样可支持操作系统保护重要的进程,还支持管理程序即使在吵闹数据中心环境中,也可对重要虚拟机进行优先级划分。

CAT 的基本机制包括:

  1. 通过 CPUID 枚举 CAT 功能和相关 LLC 分配支持的能力。
  2. 支持操作系统/管理程序将应用分成不同服务类 (CLOS) 并为各 CLOS 指定可用末级高速缓存量的接口。 这些接口均基于特定型号寄存器 (MSR)。

由于提供软件支持,大多数用户都可充分利用现有软件补丁和工具,发挥 CAT 的作用。

CAT 的关键概念描述如下,随后本系列的后续文章将详细介绍 CAT 的工作原理。 具体而言,探讨内容涵盖用途验证点随附软件支持

关键概念

高速缓存分配技术引进了一种名为服务类 (CLOS) 的中间结构,它可作为资源控制标记,线程/应用/虚拟机/容器在该标记内进行分组。而 CLOS 反过来包含相关的资源容量位掩码 (CBM),说明特定 CLOS 能够使用多少高速缓存。

 

                  

图 3.倘若有软件支持,服务类 (CLOS) 支持灵活控制线程、应用、虚拟机或容器。

软件可按需关联应用和 CLOS,以支持各种使用模式,包括优先级划分关键应用。 英特尔® 软件开发人员手册提供有关 CLOS 的完整文档。

CAT 还按照 CLOS 定义容量位掩码 (CBM),以控制能够在 CLOS 中分配多少高速缓存线程。 CBM 的值表示可用高速缓存的相对数量,以及重叠或隔离的程度。 如下图所示,CLOS [1] 可用的高速缓存比 CLOS [3] 的少,因此认为其优先级较低:

 

               

图 4. 容量位掩码 (CBM) 在多个服务类 (CLOS) 中重叠和隔离的示例。

这些关键概念将在本系列的后续文章中作进一步介绍和例证。

结论

高速缓存分配技术 (CAT) 支持操作系统或 VMM 等特权软件控制末级高速缓存 (LLC) 中的数据放置,从而在有软件支持的情况下,支持隔离和优先级划分重要的线程、应用、容器或虚拟机。 尽管第一版 CAT 仅在部分服务器处理器的英特尔® 至强™ E5-2600 v3 产品家族中的通信处理器中推出,经过显著增强,CAT 特性目前适用于自英特尔® 至强™ E5 v4 产品家族起的所有 SKU。

本系列的下一篇文章将介绍 CAT 特性的使用模式,后续文章将提供有关验证点软件支持的信息。

 

声明

本文档不代表英特尔公司或其它机构向任何人明确或隐含地授予任何知识产权。

英特尔明确拒绝所有明确或隐含的担保,包括但不限于对于适销性、特定用途适用性和不侵犯任何权利的隐含担保,以及任何对于履约习惯、交易习惯或贸易惯例的担保。

本文包含尚处于开发阶段的产品、服务和/或流程的信息。 此处提供的信息可随时改变而毋需通知。 联系您的英特尔代表,了解最新的预测、时间表、规格和路线图。

本文件所描述的产品和服务可能包含使其与宣称的规格不符的设计缺陷或失误。 这些缺陷或失误已收录于勘误表中,可索取获得。

如欲获取本文提及的带订购编号的文档副本,可致电 1-800-548-4725,或访问 www.intel.com/design/literature.htm

英特尔、Intel 标识、英特尔至强和 Intel Xeon 是英特尔在美国和/或其他国家的商标。

*其他的名称和品牌可能是其他所有者的资产。

英特尔公司 © 2016 年版权所有。

 

有关编译器优化的更完整信息,请参阅优化通知