至强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硬盘阵列一样,在内存镜像模式下,系统的内存实际可用容量减半。4插槽至强7500的插槽内(Intra-Socket)内存镜像配置,图中红圈就是互为镜像的DIMM组 4插槽至强7500的跨插槽内(Inter-Socket)内存镜像配置
内存备用(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目前所独具的功能。 |