全部产品
服务器租用
广州服务器租用
服务器托管
广州服务器托管

至强服务器芯片的RAS特性

2017-05-16 09:58 编辑: 九河网 来源: www.9he.com 阅读: 802

标签: 戴尔服务器 IBM服务器 美超微服务器 机架式服务器 刀片式服务器


今天的英特尔统治者整个服务器芯片市场。可是就在10年前,还不是这样一番景象,其实英特尔进军服务器市场的时间并不长,至少相比于其在PC市场的时间要短很多

今天的英特尔统治者整个服务器芯片市场,市场份额超过90%。可是就在10年前,还不是这样一番景象,其实英特尔进军服务器市场的时间并不长,至少相比于其在PC市场的时间要短很多。第一款至强处理器诞生于1998年,那时候还带着Pentium的前缀,2001年才去掉奔腾前缀。当时服务器市场还被小型机和大型机垄断,英特尔x86服务器从零开始逐步侵蚀小型机的市场,到2007年已经占据了50%的市场份额。到2010年,英特尔推出了革命性的至强7500平台,将之前运用在risc架构服务器的20多项RAS特性给搬过来了。这使得基于英特尔至强处理器的服务器,在性能上可以与RISC架构的小型机相媲美。下面就详解一下至强处理器的RAS特性。

至强服务器

 至强7500平台的RAS特性主要落在3个点上,分别是CPU子系统(图中的1)、I/O子系统,即QPI(图中的2)和内存子系统(图中的3),围绕的RAS的不同需求,这三个子系统也都具备了相应的设计

至强服务器

至强7500的RAS设计达到了22个,是当前最为可靠的x86计算平台

总体上讲,至强7500平台的RAS特性体现在3个方向,或者说是目标。下面,我们就来具体看一看它们所包含的功能。

至强7500系统RAS设计之增强数据完整性

系统的可靠性在很大程度上是指逻辑上的可靠,即数据的完整性。作为计算设备,必须要保证数据准确无误,而这种可靠则来自于对数据的各种保护措施。如果从数据处理的层面上讲,数据的可靠性是一个系统的实现高可用的基础,否则数据接二连三的出问题,可用性也就无从谈起了,所以保证数据的逻辑正确是最最基本的。

处理器/插槽级设计

错误数据防泄漏模式(Corrupt data containment mode):当数据发生错误时,相应的内存存储单元将会被标记出来(有时称之为“数据中毒”),以限制其对当前运行的程序所造成的影响,从而减少对系统重启的需求,这一功能在至强7400上是没有的。

病毒模式(Viral mode):当系统检测到一个不可纠正的错误时,所有含有错误位的数据包将向系统通告这一错误,一些相应单元的功能将自动停止以预防错误的蔓延。就像病毒那样,杜绝错误数据的繁殖,这一功能在至强7400上也是没有的。

内存级设计

奇偶校验(Parity checking)与错误修正码(ECC):运用相应的校验算法来检测并修正软错误,这是最基本的内存数据保护技术,至强7400系统也同样具备。

热量疏导(Thermal throttling): 当内存的发热已经达到危险的临界水平时,意味着内存可能会出现不稳定的情况,此时系统将会减少对于内存的指令密度,或是加大散热风扇的转速,以保证内存子系统的散热与稳定,至强7400系统也具备这一功能。

请求与巡视清除(Demand and patrol scrubbing): 内存始终处于不断的错误监测状态下,从而可确保不会造成错误积累到不可修复的程度,这其中它将随时监测内存的性能表现(巡视),并在读取传输(请求)过程中检测可修正的错误,并及时进行清除与修正。这项技术在至强7400平台与有使用。

英特尔QuickPath Interconnect总线级设计

基于8或16bit滚动CRC检测的QPI保护机制:采用8位或16位的CRC(Cyclic Redundancy Checking,循环冗余检查)机制来进行QPI数据链路的校验,以完成对数据的检测与纠错。由于至强7400平台是采用传统的前端总线(FSB)架构,所以这一技术由至强7500独享受,也让QPI具备了比FSB更高的可靠性与可用性。

至强7500系统RAS设计之增强可用性

如果说可靠性是指逻辑上的可靠,那么可用性则就是专注于硬件物理上的可用。你可以这么理解,你是一个司机,开一辆车跑生意,可靠性如果是指你这个人的技术熟练,具备车辆驾驶的所有的能力,那么可用性就是指这辆汽车的质量了,你的开车水平再好,给你一辆刹车失灵的车,你也没法施展你的才华吧。所以,对于服务器平台来说,可用性就是一种消除故障隐患和抵御故障的能力。

不可纠正的数据错误恢复

自动校验架构(MCA,Machine Check Architecture)恢复:MCA是至强7500最为重要的一个可用性设计,与相应的操作系统配合即可实现让系统从不可纠正的致命的数据错误中恢复而不用重启的功能。这一技术主要就是针对内存出现了不可纠正的错误时,如何保证系统不停机,这情况在日常的企业级应用中,并不罕见。

至强服务器

MCA的原理示意图,至强7500系统一直工作在错误预防状态下,当发现错误时,有两种可能,一种是可以被硬件纠正(如ECC)的错误,纠正后继续原有的错误预防状态,如果不能被纠正而进入错误控制状态,这就是MCA的精要所在。此时,失效的内存地址会被标记出来,并向操作系统与应用程序屏蔽,而支持MCA的操作系统或VMM(虚拟机管理器,又称Hypervisor)则对内存失误数据执行挂起处理,并继续正常的运行状态,避免了意外停机,系统也再次回到错误预防状态

英特尔QuickPath Interconnect总线级设计

QPI数据包重试(QPI packet retry): 允许在检测到错误后重新传输数据或是指令。

QPI时钟失效切换(QPI clock failover):至强7500系统为QPI提供了两个时钟发生器,当其中一个出现故障时可自动切换至另一个时钟链路,以确保QPI的正常运行。

QPI自我修复(QPI self-healing):QPI链路可自动对连接拓扑进行规划,当某一数据通道出现致命错误时,QPI会自行进行调整以屏蔽有问题的通道,此次QPI的总体带宽会下降,但系统仍然是可用的。

内存级设计

可伸缩内存互联(SMI,Scalable Memory Interconnect)数据包重试:SMI是至强7500处理器的内存接口,SMI是至强7500处理器与内存缓冲芯片间的连接总线,这一技术允许在检测到错误后,进行数据或指令的重新传输。

SMI通道失效切换(SMI lane failover):每条SMI总线包含有32个数据通道(Lane)以及一个备用的数据通道(即总的数据通道为33个),当一道数据通道出现问题时,将以这个备用的数据通道进行替换,以确保SMI的可用性。

SMI时钟失效切换(SMI clock failover): 每个SMI总线有两个时钟发生器与相应的时钟通道,当其中一个失效后,能自动的切换至另一个,以保证SMI的正常运行。

单内存芯片数据纠错(SDDC,Single DRAM Device Data Correction)与随机单bit错误纠正:至强7500的内存管理器可以允许一颗内存芯片失效而不影响正常的运行,同时还可以在一颗芯片失效的同时纠正同一DIMM上任意随机单bit的错误,在以前的至强7400系统上,只能实现SDDC功能,而不具备在SDDC的同时修正随机单bit的错误。

内存镜像(Memory Mirroring):采用两组DIMM互为镜像的方式形成一种备份机制,第种分组DIMM,每个DIMM的镜像DIMM可以是同一CPU或是不同的CPU,当一组DIMM中出现错误时,自动切换至另一个组DIMM,这相当于硬盘阵列中的RAID1,但不能与内存备用功能同时使用。在至强7400系统上,由于内存是由芯片组来控制,所以它只能提供插槽内的内存镜像功能,而至强7500可以实现跨插槽的内存镜像功能。不过,就像RAID1硬盘阵列一样,在内存镜像模式下,系统的内存实际可用容量减半。

内存备用(Memory sparing):每个至强7500的内存控制器,可以实现以DIMM为单位或是以Rank为单位(又称物理Bank,一个根据一次读写数据位宽而组成的内存芯片集合,以64位的读写位宽来举例,对于8bit位宽的芯片,一个Rank就是8颗芯片的集合)的内存备用。当一个Rank或是DIMM将要失效时,可以切换至备用的Rank或是DIMM上,以避免系统的停机。但这一功能不能与内存镜像同时使用。

DIMM内存备用需要两个完全相同的DIMM组成一对备用组,当其中一个DIMM将要失效时,把数据全部转移至另一个DIMM上,之后要失效的DIMM将从内存寻址图中消除,所以新的DIMM在寻址方面要与原DIMM一致,而在每个DIMM中也可指定相应数量的备用Rank,对于双Rank的就是一个,4个Rank可以是一个或是两个,当DIMM中处于工作状态的Rank将要失效时,把数据转移至备用Rank,之后将该Rank关闭

至强7400系统只能实现DIMM级的备用,而不支持Rank级的备用,显然后者提供了更高的内存使用效率,并增加了可用性(至强7400出现Rank错误时,就要替换整个DIMM,从而造成不必要的浪费)。

失效DIMM隔离(Failed DIMM isolation):这一功能将对失效的DIMM通道进行认定,如果认定失效,将对该DIMM通道进行隔离,只需更换经认定的失效DIMM即可,至强7400也具备这一功能。

动态内存迁移(Dynamic memory migration):将即将失效的DIMM上的数据迁移至备用DIMM上,而无需停机,这是至强7400系统所不具备的功能。

处理器/插槽级设计

动态处理器插槽迁移(Dynamic processor socket migration):借助于相应操作系统的配合,处于即将失效状态的CPU可以将其工作负载转移至备用的CPU(已经安装在系统中)上,而不用停机,这是至强7400所不具备的。

处理器单核心废止:在系统开机过程中,对CPU进行检测,当发现失效的处理器核心时,将其废止,并能继续开机操作,正常的运行。这也是至强7500目前所独具的功能。

至强7500系统RAS设计之增强的可维护性

可维护性所针对的是系统的维护便利性,其主要目的就在于尽量减少因系统的一些必要维护而带来的系统停机时间,比如以往要增加CPU、内存时,就要先关机再进行操作,这对于生产系统而言,必然会带来损失。而在另一方面,如果能在某种程度上实现对系统的故障点的预测,提前更换有风险的单元组件,防患于未然,也有利于提高系统的可用性,所以可维护性对于系统的日常管理至关重要。

处理器/插槽级设计

电隔离分区(Electronically isolated partitioning):与传统的虚拟化通过一个VMM来建立一个虚拟化层,再在这个虚拟化层上建立多个虚拟机不一样,至强7500系统提供了原始电子级的物理静态分区功能,你可以将一台至强7500服务器从物理上划分成多个服务器,每个物理分区上可独立安装操作系统,由于是物理级的硬件分区,所以分区内的硬件错误或问题,不影响其他分区的运转,这在提高系统的资源利用率的同时也提高了系统的可维护性,这一功能是至强7400系统没有的。

MCA预测性故障分析:通过使用错误修正机器校验中断(CMCI,Corrected Machine Check Interrupts),在每次MCA进行错误修正或触发一次中断请求给操作系统,再通过某些临界值的设定,来帮助分析并预测故障点,比如当某个内存DIMM的错误修正次数达到临界值时,就可判断其将失效,从而可提前更换,获启用内存备用机制。

处理器插卡热添加:借助于英特尔的QPI互联总线,至强7500系统可以做到热添加处理器插卡而无需停机,至强7400不具备此功能。

CPU在线添加:通过相应的操作系统配合,可以做到无需停机而添加CPU(该CPU已经安装在系统中),至强7400不具备此功能。

内存级设计

内存插卡热添加/移除:可以在不停机的情况下,随意添加或是移除镜像的或非镜像的内存插卡,至强7400系统不支持此功能。

如果说至强7400是一颗面向虚拟化而生的处理器的话,那么至强7500更有理由这么标榜自己,只是在当前虚拟化基本上已经成为了服务器CPU的一个重要的且日常化的一个指标,不过这并不能妨碍我们发掘它在虚拟化方面的潜力。

长久以来,x86虚拟化虽然越来越热,但它的应用都处在边缘化,比如大多数做虚拟化的企业会把OA系统、测试系统等非关键性应用迁移到虚拟化平台上,而关键业务很少会虚拟化。相比较而言,大型中机与UNIX服务器上的虚拟化应用早已大面积涉足关键业务领域。

这种现象,一方面是x86平台在当时的性能还不够,不做虚拟化应付一些关键性应用都比较吃力,也就没理由再在虚拟机中去跑了。另一方面,就是因为x86平台本身的RAS特性就不高,再做虚拟化,将多个应用集中在一起?如果平台挂了,那么多个关键应用也就下线了。现在,x86处理器的性能已经获得极大的进步,因此就差RAS方面进行补充以进一步扩展虚拟化的适用范围,而至强7500则很好的填补了这一空白。

分享到: