Intel® Xeon® Processor Scalable Family Technical Overview(转译)

转自: https://blog.csdn.net/maokelong95/article/details/78604037

Intel® Xeon® Processor Scalable Family Technical Overview

Note

  1. Intel® Xeon® Scalable Processors with Intel® C620 Series Chipsets,其前称包括 Purley,Skylake-SP 和 Lewisburg。-- Intel Products & Solutions
  2. 本文将 processer family 译作「处理器族」;
  3. 本文将 socket 译作「槽」;
  4. 原文刊于 2017-09-14,详见 Intel® Xeon® Processor Scalable Family Technical Overview,本文对原文进行了一定的提炼和注释;

Executive Summary

Intel 使用 tick-tock 模型迭代处理器,而本代「Intel® Xeon® Processor Scalable Family」就是基于 14nm 技术的 tock。
在这里插入图片描述

跟上一代 「Intel® Xeon® processor E5-2600 v4 product family」(Broadwell 微架构) 相比,这一代的新特性包括:

  • 增加了核数
  • 增加了内存带宽
  • Non-inclusive cache
  • Intel® Advanced Vector Extensions 512 (Intel® AVX-512)
  • Intel® Memory Protection Extensions (Intel® MPX)
  • Intel® Ultra Path Interconnect (Intel® UPI)
  • Sub-NUMA clusters

前代将 2 / 4 槽处理器族分为两个不同的产品线,而本代只有一个处理器族,其包含所有的处理器模型(即前代两个产品线的处理器模型到本代合并在一个处理器族了),而槽数由低到高可配置2至8,因特尔旨在满足最广泛的工作负载需求,因此在这一代提供最可扩展和最可靠的性能。

前后三个处理器族系列的对等关系如下图所示:
在这里插入图片描述

不难发现,本代命名采用的是金属系,槽数逐级增加,当然,提供的 features 数量也逐级增加。其中:

  • 铂金(Platinum [ˈplætɪnəm])支持拓展至 8+ 槽;支持本代所有特性;
  • 金牌(Gold [gəʊld])支持拓展至 4 槽;
  • 银牌(Silver [ˈsɪlvə®])支持拓展至 2 槽;
  • 铜牌(Bronze [brɒnz])同银牌。

微架构概观

本代的提升在于:

  • on the Purley platform provides up to 28 cores (previous 22)
  • a non-inclusive last-level cache
  • Additional improvements include a non-inclusive last-level cache
  • a larger 1MB L2 cache (previous 256KB)
  • faster 2666 MHz DDR4 memory
  • an increase to six memory channels per CPU
  • new memory protection features
  • Intel® Speed Shift Technology
  • on-die PMAX detection
  • integrated Fabric via Intel® Omni-Path Architecture (Intel® OPA)
  • Internet Wide Area RDMA Protocol (iWARP)*
  • Intel® Virtual RAID on CPU (Intel® VROC)
  • and more.

前后三族处理器对比表:(Broadwell-EX、Broadwell-EP、Skylake)
在这里插入图片描述

特性概观

新特性 / 技术见下表:
在这里插入图片描述

限于时间精力有限,这里仅摘选部分博主比较感兴趣的特性,其余特性请自行查阅原文。

在摘选的部分中:

  • 第一部分谈了新型的片上核心连接架构;
  • 第二部分谈了新平台的 NUMA 拓扑结构;
  • 第三部分谈了新型处理器缓存架构;
  • 第四部分谈了新型页保护算法;

Skylake Mesh Architecture

过去 Grantley 平台上的处理器族(Haswell 和 Broadwell),其处理器、核心、LLC、内存控制器、I/O 控制器及槽间的 Intel® QPI 端口均使用环形架构连接。

然而随着 CPU 中核心数的迭代,访问延迟不断增加,而核心可用带宽不断减小。 intel 为了缓解这个问题,将芯片分为两半,然后引入了第二个环,用于减少路径长及增加带宽。

Broadwell-EP 中的双环架构见下图:
在这里插入图片描述

然而本代单处理器核心数、内存带宽及 I/O 带宽继续增加,片上通信的需求随之增加。倘若此时仍采用落后的环形架构,则可能会导致片上通信成为处理器性能的瓶颈。

因此本代采用了一种新的架构 – 网格架构(Mesh Architecture),其包含一系列横竖交叉的通信路径,使得两个核心之间能够以最短的路径进行通信。(这很容易理解,前代的通信路径是固定的,沿着环进行,而本代中,需要通信的两片间存在最短路径)

网孔状架构如下图所示:
在这里插入图片描述

本代还以模块化和分布式的方式将 cache agent、home agent 和 I/O subsystem 集成到了网孔上,以消除访问这些功能的瓶颈。

现在每个核心及其 LLC 切片都有一个 combined Cacheing and Home Agent(CHA),该组件为 intel® Ultra Path Interconnect (Intel® UPI) 缓存一致性功提供了资源跨越的扩展性。

除了降低 core-to-cache 和 core-to-memory 的延迟,该架构还降低了 I/O 启动访问的延迟。以前访问 LLC / memory / IO 的资源时,若 source 和 targets 不在同一个环中,则 core 或 I/O 可能会绕环然后经过环间交换器的仲裁。而本代则可直接在网孔中,以最短路径访问 LLC / memory / IO 的资源。

Intel® Ultra Path Interconnect (Intel® UPI)

本代使用 UPI (Ultra Path Interconnect 超速通道互联) 替代了前代的 QPI (QuickPath Interconnect,快速通道互联)。UPI 是一个一致互联组件,用于共享单地址空间的多处理器的可拓展系统,提供高速、低延迟的处理器间数据传输,可达10.4GT/s的速度。支持 UPI 的处理器会提供两到三个这样的通道。

典型的 2 槽 / 4 槽(ring & crossbar) / 8 槽 如图所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Cache Hierarchy Changes

在这里插入图片描述

前代的 mid-level cache(MLC) 为 256KB/Core,而 shared last level cache(LLC) 为 2.5MB/Core,且是 includesive 的。

而本代 MLC 升级为 1MB/Core,而 shared LLC 为 1.375MB/Core,且是 non-includesive 的。

((256 / 1024 + 2.5) - (1 + 1.375)) * 1024 = 384。

没错,本代平均每个核心少了 384KB 缓存!对此,Intel 做此改进的解释是:

  • 较大的MLC会增加进入MLC的命中率,从而降低有效内存等待时间,
  • 降低对网状互连和LLC的需求。
  • 与LLC包含的高速缓存相比,LLC 转变为 non-inclusive 的高速缓存可以更有效地利用芯片上的整体高速缓存。

当内核在所有高速缓存级别上都未命中,它将从内存中获取数据并将其直接放入请求内核的 MLC 中,而不是前代那样同时放入 MLC 和 LLC 中 。 当数据从MLC移出后,能到预测到会被重用,则将其放入LLC。

Page Protection Keys

复杂的多线程应用程序常因意外的写操作而导致内存崩溃问题。例如,数据库应用的各个部分不需要具有相同级别的特权。日志写入器应该具有对日志缓冲区 page 的写入权限,但它对其他 page 应该仅具有读取权限。类似地,在某些生产者与消费者线程应用中,生产者线程可以具有特定 page 上的额外权限。

基于 page 的内存保护算法可以用于复杂的应用,然而改变页表十分影响性能,因为改变意味着 TLB 失效并随后引发 TLB 不命中。现在「Protection keys,保护键」能够提供用户级的、以页为粒度的方式,来授予及撤销访问权限,而无需修改页表。

保护键为用户的页提供 16 个 Domain,也即 「Protection Domain,PKEY,保护域」,每个保护域都在一个新的、名为 PKRU 的线程私有寄存器中设有两个许可位。保护键使用页表叶结点(如 PTE)的 62:59 位来识别保护域。

访问内存时,页表查询阶段将确定本次访问的保护键,而相应保护域确定的访问权限,即本次访问是否将授予读写权限,将由 PKRU 的内容确定。只有当保护键和传统页保护同意本次访问时,该访问才允许执行。当保护键不同意本次访问时,处理器将给出页错误异常并返回一个新的错误码。

在这里插入图片描述

保护键要求 VM Manager、OS 及 Compiler 三者共同的支持。使用本特性不会带来额外性能开销,因为它是内存管理架构的扩展。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值