MCPLive > 杂志文章 > 再谈英特尔至强可扩展处理器那些事儿

再谈英特尔至强可扩展处理器那些事儿

2017-11-02yyn《微型计算机》

之前,我们在8月刊的《微型计算机》杂志上已经给大家介绍了英特尔至强可扩展处理器家族(Xeon Scalable Processor,简称Xeon SP)的总体情况。也有不少读者询问,英特尔在这一代Xeon SP处理器上变为Mesh架构是为什么?Xeon SP划分的四个档次,究竟差别在哪里,不同的应用该怎么选?近笔者再次与英特尔技术专家讨论了这个问题,得到了比较确切的答案。

变为Mesh架构是必然的趋势

英特尔至强可扩展处理器家族可以说是“十年磨一剑”的产品。在进行该系列产品研发之前,英特尔不但要考虑提升性能、安全性和可靠性,还要考虑目前并行化越来越流行的趋势,需要设计出更有利于用户扩展的产品。我们已经介绍过,基于Skylake架构的Xeon SP内部核心采用Mesh Architecture(网格架构,简称Mesh架构)布局,和以前的Ring Architecture(环状架构)完全不同。这个架构的特点是,所有的核以及它的Cache缓存是通过一个环路连接在一起的。根据规格的不同,早两代可能是半个环,也可能是一个环。到了Xeon E5/E7 V3V4版本的时候,直接就是采用双环的结构。

Mesh架构和环状架构对比,Mesh架构的上面一排即为各种扩展接口和连接总线。

 那么,这个架构可以满足放入多少核心数呢?根据英特尔的评估,在Xeon E5里面多是22个核,E7里面多是24个核。为什么不能继续增加?因为当继续扩展这个架构时,英特尔遇到了瓶颈和挑战。因为双环结构,在解决环上通讯的时候有一个通讯的仲裁机构,如果是单个仲裁机构,这个机制是非常高效的,双环时增加到两个仲裁机构,也能通过一些优化的手段满足设计要求。但是在尝试三个环的时候,英特尔发现这个仲裁机制已经非常低效了,很难去平衡各种延迟。也就是说,环状架构此时已经发展到了阶段性的巅峰,很难再有进一步的扩展了。

Mesh架构的优势不仅是可以更好的增加核心数量,也更容易扩展周边的设计。所谓的可扩展某种程度也与此有关。包括内存控制器、PCI-E通道、UPI连接总线等等,都可以很容易地嵌入到Mesh架构中来,也就更能发挥周边的比如Optane傲腾固态盘或者嵌入式FPGA等产品的威力。

标准的Xeon SP双路平台组织架构图

 

不同的Xeon SP定位差异很大

当然,对于Xeon SP来说,不同档次的CPU定位仍旧是有很大差异的。从规格上来说,不同级别的Xeon SP当然差距也很大,核心数量、线程数量、频率,从低到高逐渐增强,但这还不是全部。另一个差距在于内部的UPI总线数量和对节点控制器的支持。对于铜牌、银牌处理器来说,它们只有两条UPI总线而且频率稍低,金牌中的5系列处理器虽然也是两条UPI总线,但频率由9.6GT/s提升到10.4GT/s,而6系列和铂金处理器则在此基础上增加为3UPI总线并且支持节点控制器,其中铂金处理器单机正常就能支持8路平台,通过节点控制器能扩展到更多路。

事实上,Xeon SP现在所覆盖的领域涵盖了以前Xeon E5/E7的所有场景,以及以往Xeon E3在轻负载的企业服务器中的位置。现在英特尔Xeon产品线中仍然还有E3存在,用来满足工作站层面的需求。

Xeon SP处理器的规格差异

 那么,Xeon SP的弹性扩展机制又是怎样的呢?请看我们采访的英特尔技术专家怎么说。

UPI总线和多路平台之间的关系是怎样的?

MC:有的金牌Xeon SP处理器有3UPI总线,有的只有两条,在组建多路平台时,他们的区别在哪里?

英特尔技术专家:谈到四路平台的至强处理器,Xeon SP 6系列和8系列处理器都是具备3UPI连接的,所以它完全可以构建成全互通的结构。也就是说,在任何一个处理器之间只要经过一个UPI连接就可以到达。比如说核心A需要访问对面核心BCache时,直接通过UPI访问过来就可以了。这是三个UPI做成的四路主机的特点。

事实上还有一个极端的方案,5系列金牌处理器不具备第三根中间的UPI,但是可以通过整个环来实现四路平台。如果你的应用numa优化(Non-Uniform Memory Access,非一致存储访问架构)比较好,是能分清楚哪些是本地内存,哪些是已存内存。必要的情况下,可以不用远程访问。当然这个很难避免,我们实际运用中的应用程序很多是不具备numa的敏感度的,所以内存分配的时候就会出现差异,会出现很多远程访问内存情形的发生,那样的话就会影响性能。

八路平台由于架构设计的特点,哪怕是三个UPI,到不相邻的两个处理器之间,都要经过两跳才能够到达,所以在八路主机上面,对于应用在numa架构上的优化尤为重要。这种应用通常都是一些很关键的核心应用数据库,比如ERP系统、后台的数据库系统等等。以常见的Oracle数据库,SAP HANA这一类系统来说,重点都是都放在优化上面,因为它的特色就是需要多个核相互协作。在这个应用上通常都是为八路特别优化才会采用。

 

两根或者三根UPI总线,是组建双路、四路和八路平台的差异所在。在组建多路平台时,多颗处理器之间的高效率连接如图所示。

 这是更详细的结构图,传统的环形结构为什么担心将来性能受限?所有的内存控制器都是挂在一个环上,其他的辅环上都是通过buffer来连通,如果我再加一个的话,这个机制会变得很复杂,所以就不是特别理想。我们把它分成一个个的网格以后,环路变成了双向的,在水平方向有一个环路,垂直方向也有一个环路,从这个核要到这个核,会优先的在垂直环路上先找到接近的水平环路,然后再跳过来。这个就很像是一个立交桥的概念,不再是一个单环里面会出现冲突,完全可以通过避开这个方式来满足整个通讯的沟通,保证它的延时性不会出现这个状况。

弹性扩展有局限性吗?

MCXeon SP处理器的弹性扩展,是指双路的处理器也能用在四路或者八路平台上吗?

英特尔技术专家:相对于过去的E3E5E7常规分类的重点区别是:高端的处理器不再像过去E7一样必须放在比如4路或者8路的主机上面才能用。现在铂金级的8系列完全也可以放在一个双路的主板上面使用。对于某些客户来讲,他们并不需要多个节点的运算,但是需要处理器性能比较强劲,希望高端处理器能够用在双路主机上面,所以我们就做了这样一个设置,上下打通,高端铂金处理器可以放在八路平台、四路平台,也可以放在双路平台。当然,反过来不可以,低端的处理器不可能放到八路上去,因为内部的结构有不同,向下是可以的。

环状架构和Mesh架构谁更高效?

MC:是否所有的Xeon SP都是6×6的结构?某些情况下环状架构好像比Mesh架构更高效?环状架构产品还会延续吗?

英特尔技术专家:并不是所有的Xeon SP都是6×6Mesh结构,6×6的结构总共有36个节点,上面会有PCIe控制器,会有两个内存控制器Memory Controller,还有两根UPI的通道,这里有一个On-packagePCIe x16的模块,去掉这些之后剩下刚好是28个核。有些型号4×6Mesh,再有一些低端的型号是4×4 Mesh。至于将来会不会变成8×8结构,那完全也有可能,要看将来业务发展的需求。

更多的Mesh架构核心布局

另外,Mesh的确比较适合核多的情景下。核多的结构,在环上通讯的时候,有一个仲裁机制确实会带来干扰,但是在少核的情况下它还是有优势的。这就是为什么英特尔早采用这个方式。英特尔一直用这个架构用了12年,就已经可以说明问题了。但用户的需求是要更多的核,这样可以提高集成度,比如在云的环境下集成度高,所以综合效率更高。这就是我们为什么考虑进一步扩大核心数量。第二,当制程缩小以后,单芯片可以做更多的核心,所以增加核心数量,理论上从成本角度去考量是有优势的。

对于需要核少但频高的场景,环状总线能够占一定优势。

 

英特尔企业级处理器的未来四大类别产品

MC观点

近两年来,移动互联网的发展产生了海量的数据和全新的并行计算能力的需求,在这种情况下,处理器设计理念向并行化发展成为必然的趋势。对于英特尔来说,之所以在现在选择变化,一方面是因为环状总线达到了一个极限,必须变化。另一方面,用户对于弹性扩展的需求,以及英特尔希望集成更多自家技术到CPU中的想法,都进一步推动了这种变化的出现。但是,在提升Xeon处理器集成度的同时,英特尔仍然考虑到了普通用户的需求,所以才会产生Xeon SP多达四个类别、五个序列编号的产品列表。未来的企业级市场,Xeon SP处理器的通用度会一定程度的提升(毕竟是向下而非向上兼容),相对于CPU方面的竞争对手来说,英特尔仍旧优势巨大。但在AI层面,面对竞争,英特尔未来除了Xeon SP之外,其它产品也在蓄势待发。

分享到:

用户评论

用户名:

密码: