DOSERV服务器在线 5月13日原创报道: SPARC T5来了,甲骨文没有食言,Sun的SPARC处理器终于回到了正轨。
自从甲骨文收购Sun之后,SPARC系列处理器从产品设计规划、流片制造再到相应的服务器(融合系统)上线,基本上都依照甲骨文所公布的路线图所进行,而SPARC T5与SPARC M5处理器及其相应计算系统的上市,也标志着这一重要的产品家族对客户的承诺得到了相应的保证。
SPARC T5是一款强大的处理器,除了在内核密度、线程数量及内存管理能力上全面超越了上一代的SPARC T4,在“软件定义”——或者说是“软件功能硬件化”——上同样展露出了不凡的实力,SPARC T5在软件和指令集上进行了大幅度的升级与优化,着重增强了甲骨文的数据库、应用软件、中间件在这一平台上所能获得的性能优化与功能增强。
SPARC T5的出现,不仅仅意味着传承自Sun的SPARC T系列处理器的成功升级,也意味着甲骨文将自身的软件知识产权与Sun的硬件技术积累的一次全新融合,而这也是拉里·埃里森收购Sun公司之后,两家公司在最底层——基础硬件层——所实现的最重要的一次融合。
事实上,自收购Sun之后,拉里·埃里森的“软硬件结合”实现公司优势的战略就显露无疑,以Exalogic和Exadata为开端的软硬件集成系统已经掀起了整个行业的变革,作为竞争对手的IBM、惠普、戴尔,甚至是作为合作伙伴的EMC、NetApp,都已经开始在集成系统、融合基础设施上进行巨大的投入,而通过在云服务器、中间件、数据库机及大数据机上的不断实现软硬件结合,甲骨文在集成系统上的优势使其获得了挑战那些传统上以硬件基础设施为优势的企业,这在部分传统优势厂商硬件业务下滑的背景下,具有显著的现实意义。
而随着SPARC T5/M5的上市,甲骨文将软硬件结合的优势正在逐步渗入到更底层,从“Hardware and Software, Engineered to Work Together”到“Hardware and software engineered to sit on chip”,Oracle的软件和Sun的硬件的融合为甲骨文赢得了不小的竞争优势,而现在,甲骨文要开始创造“只为甲骨文而优化的硬件基础设施”了。
甲骨文的这一战略是否能够成功目前还无法断言,但更优化的性能、更高的性价比、更集成的系统以及更好的兼容性与互操作性,对于绝大部分用户来说,这必然是具有巨大的诱惑力的,尤其是在甲骨文的应用软件——中间件、数据库、企业管理软件——都处于企业核心业务时,选择一个开放平台?或是选择一个来自其他供应商的、几乎同等昂贵但却无法实现上述优势的硬件系统?相较于甲骨文所提出的“诱惑”来说,许多所谓的封闭性与用户锁定的顾虑,其实往往难以招架。
但这意味着甲骨文必须“说到做到”:即在整个业务系统中,真正实现自己“基础硬件-硬件系统-操作系统-应用软件-云”这一整套流程上所承诺的优势,SPARC T5/M5处理器、Solaris 11.1、SPARC T5/M5服务器是否真的能够实现1+1>2的效果,是甲骨文必须要回答的问题。
来自Sun的两位技术专家:甲骨文公司系统事业部大中华区销售咨询高级总监潘榆奇和甲骨文公司系统事业部大中华区销售咨询总监肖淑男,所需要回答的,正是上述的问题:SPARC T5/M5处理器、Solaris 11.1、SPARC T5/M5服务器是否真的能够让甲骨文的应用变得更加强大么?
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在线程性能、线程效率方面的努力。
线程优化:线程并行度、性能与效率的提升
回到SPARC T5,我们不难发现,其仍然集成了每核心1个浮点计算单元、每核心8线程的架构,在核心的复杂度上,仍然保持了“SPARC式的优雅平衡”,与此同时,甲骨文公司系统事业部大中华区销售咨询总监肖淑男谈到,甲骨文对SPARC T5的定位很明确,那就是要继续追求线程并行,而不仅仅是指令并行,提高线程的效率、性能也是SPARC T5所关注的重点。
在SPARC T5中,上一代SPARC T4的动态线程技术被延续,这也就意味着,在这一处理器中,由于内核对活动线程动态分配资源,因此没有“单线程模式”和“多线程模式”,而如果通过“关键线程优化”(Critical Thread Optimization)来关闭所有线程,内核的所有资源将全部资源用于运行该唯一线程,其运行性能将最快。
“关键线程优化”得益于SPARC T5处理器与Solaris操作系统的紧密结合,肖淑男表示,S3内核(从Oracle Solaris 10 8/11开始),通过分配一个软件线程单独访问所有的内核硬件资源。这个软件线程被认为是一个“关键线程”,依此可以来优化性能:“Solaris自动发现这种运行机会:当软件线程对CPU利用率很高而且内核数量多于可运行的软件线程时,我们建议用户允许Solaris自动执行关键线程任务。”
事实上,按照甲骨文的设计,超级权限用户可以通过指令通知Solaris,一个特别的软件线程应该是关键线程,而Solaris将把该线程分配给一个内核, 即使可运行的线程数多于内核数。
肖淑男表示,甲骨文对SPARC T5的设计目标,就是通过三点:1、内核数量和Cache翻倍;2、单线程与吞吐量计算的平衡;3、动态线程,来从SPARC T4到T5数倍的性能提升——如果说SPARC T4还是甲骨文在摸索如何设计处理器硬件,那到了SPARC T5,甲骨文对处理器基础设计、性能设计上已经了然于胸了。
基于这样的线程设计,这款乱序执行的SPARC T5不仅保证了线程的并行度,更保证了单线程的性能以及关键业务对处理器(线程)性能的充分利用,正如肖淑男所说:“处理器的并行度不断提高,但内存的性能却没有进步。”增加了内存控制器的SPARC T5加上线程控制技术,在提高单线程性能、线程效率、处理器线程对内存的使用上,都有了一定的提高。
在线程上投入的巨大研发资源、精力,或许是甲骨文对SPARC处理器最好的集成,而硬件分区、逻辑分区等特性也得到了良好的继承。不过,与之前的产品相比,甲骨文也在硬件上进行了一些改进,这其中不仅仅是加入了内存控制器、两个x8的PCIe连接、提高到3.6GHz的处理器频率或是整数16级浮点20级的流水线深度,而是制造了一款“迄今为止最“甲骨文”的SPARC处理器”——当然,在甲骨文的手中,我们不会再看到8个核心共享1个FPU的“惊人”设计(这或许是Sun对互联网市场复苏的一种痴狂?),而是看到更为贴近应用、更为整合软件的设计思路。
直连的SPARC T5/M5:面向关键业务的多项重要特性
在评价关键业务系统的水平时,有两点至关重要:一是在四路、八路系统中,处理器的互联架构;二是在多路系统中,怎样保证高质量的节点一致性,目前关键业务系统市场中,八插槽直连架构(1跳直连)以及高水平的节点一致性网络,已经成为标配,对于SPARC T5来说,这自然是必须要做到的。
SPARC T5支持八插槽直连(glueless),每条连接包含14条15Gbps速率的高速链路(lanes),在八插槽系统中,每个SPARC T5处理器都有共计7条“一致性连接”连接到其它SPARC T5处理器。此外,每个处理器还有一条DDR3-1066 内存连接、一条256GB/s的PCIe3.0连接。
基于高带宽以及高效的直连架构,根据肖淑男所展示的数据,SPARC T5服务器在八插槽下,Java的性能随着插槽数量的上升几乎是以线性的方式增长,而OLTP的性能,也保持了十分接近线性的增长曲线。此外,SPARC T5支持动态阻塞控制,当一条链路失效时,处理器会自动选择其他的链路重建“联系”,已达到最高的连接可用性与数据一致性。
为了实现更好的能源节省,甲骨文为SPARC T5设计了动态的Coherence Link,T5上有4条可按需动态调整的弹性的Coherence Link,这四条链路可以通过软件设定阀值,以硬件监控的方式调整两个SPARC T5处理器之间Coherence Link的数量,其使用模式包括单链路、双链路、三、四条链路四种方式,单链路和四链路之间的功耗差距,可以高达25W。
除此以外,SPARC T5通过DVFS(芯片级)、SerDes弹性能耗、时钟门控(Clock Gating)等技术实现动态能耗管理。基于Power Management Controller,SPARCT5可以达到客户指定的能耗和散热限度下的最高主频,以在单位能耗下发挥最大性能。
与SPARC T5一同推出的,还有SPARC M5,包含6个3.6GHz的S3内核,动态6-48线程(每核心1-8个线程,与T5相同),片上Crossbar共享48MB L3缓存(内核数更少,所以可以放下更多的L3 Cache),两个双通道DDR3控制器(BOB,Buffer on Board),同样支持八插槽直连,系统32插槽扩展,以及两个x8的PCIe 3.0控制器。
作为一款关键业务处理器,SPARC T5/M5的性能、可靠性(RAS特性)上有着自己的特点,但总的来说,关键业务处理器SPARC、安腾、Power,在处理器复杂度、核心设计上虽然不尽相同,性能上也有所差距,但总的来说,用户在RAS特性上的感受是差不多的,而其中一些特性,包括防止链路失效、能耗降低等方面,发展方向也基本一致。
但作为甲骨文所推出的处理器,SPARC T5/M5在一点发展思路上还是有很大的不同,那就是更进一步的与甲骨文软件、应用的融合,以甲骨文目前集成系统良好的销售趋势,以及甲骨文对Sun的工业标准服务器市场销售的收缩来看,甲骨文可能就不打算做“工业标准或者说是行业通用的服务器”,其更倾向于通过软件与硬件的结合,实现在甲骨文生态环境中的高效应用,而我们在SPARC T5/M5上也看到了非常浓重的痕迹。
SPARC T5/M5:迄今为止最“甲骨文”的SPARC处理器
在处理器硬件加密上的热衷程度,甲骨文远远超过了IBM和英特尔,从SPARC T4时代开始,甲骨文就不断将加密算法、安全功能植入到处理器中,到了SPARC T5/M5时代,甲骨文与英特尔、IBM在处理器加密技术上的差距已经拉开了不少。
SPARC T5/M5支持包括RSA、DH、DSA、ECC在内的非对称/公开密钥加密,以及AES、DES、3DES等在内的对称密钥/批量加密,而消息摘要/散列函数的支持列表中也包括了CRC、MD5等函数名。除此以外,SPARC T5/M5还支持随机数生成,PKCS#11等API。
相比之下,与SPATC T3同时代的IBM Power在加密上可谓“一穷二白”,而即使是Power7+,其对各种加密算法的支持也是寥寥无几,我们只能在支持列表上看到几个熟悉的名字,如RSA、ECC、AES、MD5、SHA-1/256/512等,英特尔的至强E7系列在加密上的水平与Power7+也基本相同。
甲骨文为SPARC T5/M5设计复杂、强大的片上加密加速是理所当然的,甲骨文的软件应用——尤其是数据库、数据仓库——现在对加密的应用呼声越来越高,而数据库加密的复杂性、迫切性也是迫在眉睫需要解决的事情,因此,甲骨文在片上加密加速上的热衷程度如此之高,实在是理所应当的。
但甲骨文显然不满足于只把这一点需求植入到SPARC T5/M5中,显而易见,甲骨文是在逐步打造“甲骨文的SPARC T5/M5”,不是完全集成一个标准、工业化的Sun SPARC处理器家族,而与此相结合的,自然是Solaris操作系统。
在Solaris 11(SPARC T5平台操作系统)中,甲骨文已经将RAC的锁管理做到了操作系统内核当中,这对于RAC的性能能够提供质的飞跃。此外,包括将Solaris的内存管理与Oracle数据库的内存优化进行结合,以及将DTrace放到Oracle数据库的视图中,方便DBA进行性能监控和调优,以及动态的NUMA-aware的粒度共享内存,都是甲骨文在软件硬件集成方面的最新成果。
由于Solaris能够直接响应RAC锁清秋,在内存中保持RAC锁状态并被数据库和内核共享,因此,由此带来的加速效果十分明显,RAC锁的延迟,在SPARC T5+Solaris 11.1中将降低30-40%,RAC数据库整体吞吐能力提升达20%。
除此以外,SPARC T5/M5在虚拟化支持方面,仍然支持Solaris Zones、Dynamic Domains以及Oracle VM for SPARC,这三类虚拟化分别支持在M5、T5/M5和Solaris上,分别重点在OLTP DB/DW DB、Web、混合环境(Web、DB、Ap)等不同领域,在SPARC T5/M5处理器中,也为虚拟化支持进行了代码级的优化。
可以说,SPARC T5及M5是迄今为止“最具甲骨文特点”的SPARC处理器,无论是加速、优化还是特性管理、深度IO可视化,SPARC T5+Solaris+Oracle Apps的优化加速组合正在逐步完善,而SPARC处理器也正在越来越适应Oracle软件应用负载,实现拉里·埃里森“Hardware and Software, Engineered to Work Together”的梦想。
在服务器产品方面,甲骨文将提供SPARC T5-1B(刀片)、SPARC T5-2、SPARC T5-4、SPARC T5-8四种型号(SPARC T5-1B和SPARC T5-4、SPARC T5-8的处理器模块内部布局不太一样。),基于SPARC M5将推出32路SPARC M5处理器,最高32TB容量内存,32个2.5寸SAS硬盘与64个PCIe 3.0插槽的SPARC M5服务器,并承诺“可升级到M6处理器”。
在保持了Sun时代SPARC并行线程、多线程能力的同时,甲骨文正在努力提高SPARC处理器单线程性能以及针对甲骨文软件生态环境的优化,如果说SPARC T4是甲骨文的牛刀小试,那SPARC T5/M5就是甲骨文在处理器市场上“补偿式发展”阶段的开始。
如果按照Power7与SPARC T3为一代产品来计算,甲骨文已经在IBM从7到7+的过程中发布了T4和T5两代处理器,而按照甲骨文给出的路线图,2015年,还将发布下一代的T和M处理器,并预计“单线程能力将有1.5倍以上的提升”,而加速数据库查询、加密、压缩、RAC、集群互联等方面的特性也将随之不断补充,这对于整个甲骨文生态环境来说,不啻为一件好事儿,而对于IBM和英特尔来说,可就不是太好的消息了。
5月14日,甲骨文会在北京正式发布SPARC T5,并透露“到底是突破了哪17项世界纪录”,显然,甲骨文也并没有放弃为SPARC提升性能的努力,或许,在Sun时代SPARC追求特立独行的风格以及被甲骨文追求极致的风格所取代了。