SPARC轮回:产品的继承与理性创新
DOIT原创 崔昊 发表于:13年05月13日 10:55 [原创] DOIT.com.cn
SPARC轮回:产品的继承与理性创新
SPARC T5使用经过改进的SPARC S3核心,后者曾被用于上一代的SPARC T4,每个S3核心都提供1-8个动态同步线程,时钟频率提高到3.6GHz,制程工艺从40nm升级到28nm,16步整数流水线,支持乱序执行(Out of Order),并在指令集层面加强了16种加密算法和随机数生成能力。
除此以外,S3核心针对甲骨文的的虚拟化技术进行优化,针对SPARC Hypervisor,S3核心通过指令优化以及对SPARC Hypervisor的更进一步支持,实现了SPARC虚拟机(Oracle VM for SPARC,即以前的逻辑分区LDoms)的实时虚拟机迁移能力。
或许是得益于新的28nm制程工艺,SPARC T5的核心数量相比上一代SPARC T4增加了一倍达到16个,这也就意味着SPARC T5拥有128线程。除此以外,SPARC T5提供16个浮点单元,每核心提供16KB四路关联指令和数据缓存、128KB二级缓存(总计2MB)、所有16个核心共享8MB三级缓存。
在SPARC T5中,用户还将会看到峰值带宽高达12.8GB/s的DDR3-1066内存控制器、支持双路x8的PCI-E 3.0控制器、随机数生成器(硬件随机数),并在I/O层面进行了优化。
SPARC T5支持最多八路并行,并且每两颗处理器之间可直接相连(1-hop),无需绕过任何总线,一致性双向内存带宽840GB/s,PCI-E 3.0带宽256GB/s。光纤互连每个链接14条通道,每通道最高带宽15Gbps。
如果说SPARC T4是甲骨文回到关键业务计算服务器市场的探路石的话,SPARC T5就变成了一个“猛兽”,对于IBM的Power 7+来说,SPARC T5是一个强劲的竞争对手,后者作为一款“过渡产品”,制程从45nm提高到了32nm,每处理器8个核心,最高提供 64 个 4.4 Ghz 核心处理器,或在单系统中提供 128 个 3.7 GHz 的核心处理器,但前者SPARC T5作为一款2发射乱序处理器的性能则与后者不相上下,而在文章后面,我们也会介绍相应的一些基准测试结果。
回归正题,纵观产品架构设计上,SPARC家族与IBM、英特尔面向关键业务的处理器有着显著不同,在设计思路方面,IBM和英特尔更倾向于“追求更复杂、更高主频、更高单线程性能”的处理器,而SPARC T5的设计更追求适度的核心频率以及线程的并行程度,在频率提升上相应保守。
作为SPARC T5的鼻祖,Sun的UltraSPARC T1是一款十分特别的处理器,其追求多线程并行、核心设计简单的设计思路,在第一代产品中,Sun对线程的追求远远超过当时Power处理器:2005年的UltraSPARC T1,提供4、6、8个不同核心每核心4个线程数的不同版本,32条线程的设置甚至放在现在,也不能说是十分落伍的产品。
除此以外,Sun当时只为T1设计了一个浮点计算单元(是的,你没看错,是只有一个,整个处理器只有一个),八个核心共享一个浮点计算单元的设计,使得T1并不适合来执行具有大量浮点运算的应用,但这款产品,却十分适合应用在互联网服务器领域——这或许也是对当年那句“网络就是计算机”的最具体回应了吧?
但从此后每代SPARC T系列处理器上,我们也会看到SPARC处理器设计团队,对这一经典产品的继承与创新,如第二代UltraSPARC T2中,八核心每核心八个线程的设计,在Sun的手中诞生出了64线程的“神器”,而在当时,互联网市场并未复苏的情况下,Sun也做出了一些妥协,为UltraSPARC T2每个核心配备了1个浮点运算单元。
从SPARC T5的设计不难看出,甲骨文仍然承袭了SPARC系列处理器核心简单、性能效率至上的设计思路,总体设计更为贴近应用且针对自家的数据库应用,简化了不必要大容量三级缓存设计,保持了多线程、高单线程能力、少量浮点运算单元的设计,而在这其中需要特别说的,就是SPARC T5在线程性能、线程效率方面的努力。