“核”问题解读?双核服务器购买指南

在全世界面临着越来越严重的核问题时,服务器业界迎来了更广阔的双核/多核计算时代,没有武器、战争带来的恐慌,双/多核技术给我们带来的是更快的速度、更强的计算能力。很多分析人士说,计算机硬件世界出现了几个重要趋势,包括虚拟化、从32位到64位处理器的迁移以及多核芯片的推出。现阶段,双/多核技术明显成为最热的一个话题,我们称之为“核”问题。
    “到2007年,发货的大多数处理器将配备两个内核。”Gartner的分析师Martin Reynolds说,“双内核芯片带来了自推出386处理器以后最大的性能提升,不过开发人员和用户必须对软件进行测试和调整,才能享受双核处理器所带来的好处。”
    Reynolds指出,对于某些应用,双核处理器的性能最多将比同样速度的单核处理器的性能高70%,双核芯片非常适合于处理器利用率非常高的应用(如当服务器运行虚拟化软件时)以及像媒体编辑、计算机辅助设计、仿真程序和Adobe Acrobat等桌面应用程序。
    “核”倍增
    数个处理器内核的更彻底集成产生了温度更低、速度更快、在某些应用中表现出强劲性能提升的产物。
    多年来,CPU的进步是完全可预测的:一代又一代的半导体技术为我们在越来越薄的硅片上提供越来越大、功能越来越强、时钟速度越来越快的处理器。这些更小、更快的晶体管还消耗更少的电能。
    然而,这时出现了一个问题。随着运行电压的降低,大量的电流开始渗漏,结果产生很高的热量,因而需要更多的注意处理器冷却问题并限制了潜在的速度提高??可以将这种现象视为一种热障。
    为了突破这一障碍,处理器制造商开始采取一项新战略,将两个或更多的完整的、独立的处理器内核安装在一个芯片上。这种多内核处理器直接插在主板上的一个插座中,操作系统将每一个执行内核视为一个可以独立控制的逻辑处理器。拥有两个独立的CPU核,可以让每个CPU核以较低的速度运行,因此降低了温度,并且在大多数情况下,还提高了计算机的总体吞吐量。
    速度突破??从一个角度看,多内核只是多年来我们所采用的两个或更多标准CPU的“n路”服务器设计思想的延伸,我们只是使芯片的封装变得更小、集成得更彻底。但是,实际上,这种多内核战略代表着处理器架构的重大变化,这一变化将迅速席卷计算行业。在一个芯片上集成两个CPU,而不是将它们插入到两个独立的插座上,大大加快了CPU之间的通信速度,减少了等待时间。
    第一款来自Intel的多内核CPU已经上市。Intel预测,到2006年年底时,多内核处理器将在Intel推出的桌面CPU中占40%,占移动CPU的70%,在服务器处理器中占到令人吃惊的85%。包括AMD、Sun和IBM都在多内核处理器上押下了巨额赌注。
    除了运行起来温度更低、速度更快外,多内核处理器尤其适合于具有可以被划分为独立的线程、可以并行执行操作的任务。在双内核处理器上,可以利用多个线程的软件,如数据库查询和绘制图形,运行速度比运行在单核芯片上几乎快100%。但是,很多以线性方式处理的应用程序将享受不到多少好处。
    数百条线程的未来芯片??现在芯片制造商已经在开发内核数量超过两个的芯片设计。就在前几个月,Raza Microelectronics公司开始推出XLR处理器产品线。XLR处理器最多内含8个运行速度最高为1.5GHz的内核,每个处理内核支持4条线程,总共支持有32条线程。据该公司介绍,这种产品系列定位于融合网络和计算应用。XLR处理器将于今年年底出现在制造商的设备中。
    Sun用于高端服务器的90纳米UltraSPARC IV芯片将于明年推出。有报道说,这款代号为Niagara的处理器也支持8个内核,每个内核可处理4条线程。
    同时,随着业界向65纳米制造工艺升级,更多的晶体管将集成在尺寸保持不变的硅片上。Intel业务客户部产品营销经理Jeff Austin解释说:“以略低的频率和电压运行它们,使配备4个或更多内核的芯片可以在不显著增加功率上限的条件下运行。”Intel的第一款用于多路服务器的65纳米处理器系列Tukwila处理器将内含4个或更多的内核,预定于2007年左右推出。Austin说,Intel将在2008年到2010年推出利用并行执行内核或对称多线程内核最多支持8条线程的单处理器。
    Austin说:“在今后10年里,我们将看到一个处理器中的几十个到几百个内核(包括专用和非对称内核),提供数百和数千个能够并行执行的线程。”
  
  
  基于双核处理器的服务器产品功能列表
  
  “核”实践
    推动多内核运动发展的是以尽可能高的功率效率实现更高的性能要求。提供多内核软件开发与管理工具的PolyCore Software的CEO Sven Behmer说,在手机和移动计算机中,这意味着“能够真正快地运行更复杂的应用,同时不耗尽电池电源。”
    Intel的Austin说,在桌面系统上,运行病毒扫描和其他以后台模式运行的大型程序,同时保持快速的前台响应时间的需求在推动性能需求激增。他说:“游戏可以利用更高程度的并行性和线程技术……利用人工智能替代预先定义的动作,计算当你与机器人对抗时出现的情况,或计算当你穿窗而出时玻璃是如何破碎的。”
    在服务器方面,Intel也认为多内核有益于推动企业向数据中心整合发展的趋势。在虚拟计算环境中,可以将多个软件环境合并到更少的机器上,将任务分布到不同的虚拟服务器上。
    多内核系统提供了获得性能优势的创新,但也影响到已有的软件部署和开发人员技能。例如,休斯顿某大学高性能软件研究中心主任Ken Kennedy指出:“如果应用程序想在这种处理器上提升性能的话,很多的应用程序必须并行化。”
    但是,开发工作面临一些挑战。大多数操作系统是设计用于运行在单核处理器上的。Behmer说,并行多处理技术在操作系统处理负载均衡任务上比较简单,但是非对称多处理将把任务分配到多个线程上的工作留给开发人员。
    出现在市场上的处理器数量越来越多?包括硬件加速器、数字信号处理器、过滤器和其他专用部件,因此,Behmer预测内存以及用于尽可能高效率在处理器之间传送数据的连接子系统的重要性将会增加。
    已有的产品?Intel第一款双内核芯片,即运行速度为3.2 GHz的奔腾至尊版840处理器,于今年4月18日上市销售。据Intel发言人说,他们有15个以上的多内核项目正在开发中。
    在企业市场方面,Intel计划在年底前推出一款双内核64位Itanium 2处理器,代号为Montecito,采用90纳米制造技术。这款下一代芯片将包含数量超过17亿的晶体管和24MB高速缓存。2006年第一季度,Intel打算提供两款优化的64位至强双内核处理器。
    AMD的第一批多内核产品Opteron系列在一个芯片上集成两个CPU内核,每个内核采用独立的1级和2级缓存分级结构,两个CPU内核共享AMD在其单核Opteron处理器中使用的同样的集成内存控制器和HyperTransport技术资源。如果BIOS进行升级的话,双内核AMD Opteron处理器可以插在已有的940针插座中。AMD在4月21日宣布推出其第一批双内核服务器和工作站产品。
    Sun自2003年起就一直态度认真地大谈多内核处理器。今年晚些时候,Sun将推出下一代UltraSPARC IV 处理器。这种代号为Niagara、设计用于网络密集型任务的新型处理器可能在一块芯片上最多集成8个CPU内核。UltraSPARC路线图上的下一款产品是Rock系列,据Sun的相关负责人David Yen说,Rock系统是为像数据库、ERP系统和加密等需要大量计算的任务量身定制的。
    IBM去年推出的64位Power5处理器集成了两个处理器内核,每个内核具有独立的1级缓存(64KB指令缓存,32KB数据缓存),但共享片上2级缓存(1.875MB)和片外3级缓存(一般为36MB)。这款处理器主要用于IBM自己的运行AIX和Linux操作系统的服务器系列。IBM还与Sony和Toshiba合作,进行一项完全独立的多内核处理器(Cell微处理器)项目。设计用于计算密集型工作负载和宽带多媒体应用的Cell处理器包含1个64位Power处理器内核,这个Power内核与8个可执行浮点处理的数字信号协处理内核连接在一起。Cell的多内核架构和高速通信功能设计用于同时支持多个操作系统。
   “核”挑战
    软件许可?一个芯片还是两个芯片?软件厂商如何收取多内核芯片的费用仍是激烈争论的问题。
    很多用户都遇到一个相同的问题:如果服务器上安装双内核处理器的话,就会遇到其上运行的数据库系统或者应用软件厂商的额外许可证费用问题。
    出于价格目的,一些软件提供商要把双内核芯片算为两个芯片,这意味着软件许可费将增加一倍,也正是出于这样的原因,一些用户对于双核这种新技术踯躅不前。“如果软件厂商将双内核系统视为两个处理器,那么我们从双内核处理器中得到的好处就会消失。”
    一些业界专家预测,软件厂商做出的任何按内核收费的决定都将引起广泛的负面反应。
    纽约451 Group首席分析师John Abbott说:“除非软件公司和整个业界开始重新考虑许可证问题,否则他们将遇到麻烦,因为许可费将阻止人们实现这项技术。”
    然而,尽管存在用户的担心,但软件许可问题并没有放缓芯片厂商开发多内核芯片的速度。Intel和AMD期望在明年年底前发货的三分之二以上的服务器中安装双内核芯片。最终,几乎所有的服务器都将使用多内核芯片。
    虽然所有的服务器可能不久将采用双内核技术,但是软件许可收费方式却远未统一。实际上,3家最大的软件厂商采取了不同的许可方式。IBM将根据不同的情况做出许可决定,Oracle将双内核芯片算为两个芯片,微软则打算将双内核芯片作为单个芯片来对待。
    芯片厂商说,用户在使用双内核处理器时可以享受到的性能提升是单内核CPU的1.3到1.8倍,主要取决于运行的应用程序。因此,IBM在收取软件许可费时,将x86双内核芯片视为一个处理器。但是,随着芯片的改进,IBM可能会改变收费计划,将双内核算为两个芯片。一位IBM发言人说,公司将根据客户报告的芯片性能,“不断地评估”其许可方式。
    Oracle的许可政策目前还是按照处理器核心收费,但他们强调:随着双内核x86处理器的发展,他们将提供等于或优于两块独立芯片的性能。Oracle全球许可与价格战略副总裁Jacqueline Woods说,这是Oracle为何在许可费上将双内核视为两个处理器的部分原因。她说,尽管双内核目前可能不能提供两倍的性能,但它未来可能将提供两倍或更高的性能提升。Woods说:“当这些芯片的性能改进时,我们的价格保持不变,因为我们在这个领域中是中立的。”
    对于根据CPU使用情况付费的用户来说,双内核仅仅是开始。
    一些专业人士认为,许可模型必须适应新技术,以免软件厂商面临用户变节投向MySQL或PostgreSQL数据库等开放源代码平台的风险。即使开始时采用开放源代码平台用户数量增长缓慢,但是如果许可条款不迅速改变,很多数据库将得到实践的检验并且被超出我们预期数量的更多的用户采用。
    这可能意味着必须放弃计算物理CPU的个数,转而采用根据一个独立应用程序运行在芯片上的时间量收费。
    多内核芯片是否将从根本上改变用户支付软件费用的方式,仍需拭目以待。一些人认为软件厂商可能必须向开放源代码价格模型发展,从维修和支持服务而非从按CPU个数收费获得收入。
    资源之争?由于多内核芯片将两个或更多的独立CPU核心集成在一块硅片上,一些人怀疑它们致命的弱点会是这些CPU核心之间的数据移动。 当多内核系统运行争夺同一条I/O路径的不同应用程序时,存在一些性能瓶颈。不过到目前为止,这些瓶颈的影响很小。
    对数据瓶颈的担心是自然的,因为这个问题常常出现在今天的多路服务器中。目前大多数系统共享内存和总线,这种作法简单但存在局限性??总线竞争。专家认为随着多内核的演进,替代简单总线的技术将出现:直接连接、多级总线,甚至芯片内的连接结构。
    虽然先进的总线替代技术可能是未来的福音,但专家们说,近期,多内核开发的关键与多处理器系统是一样的:谨慎开发多线程应用程序(即不同部分可以同时运行的程序),使线程不相互干扰。
    走出黑箱?那么,当多内核技术真正进入企业计算市场时,现在该做些什么来确保自己处于有利地位呢?专家们的建议是,培育在任何多处理器环境中茁壮成长的各种技能,特别是编写多线程应用程序的能力。
    此外,工具、优化程序也在演进。Intel就是在网上提供多内核工具的一个例子。该公司启动了一项名为“线程技术使能”(Threading Enabling)的计划,这项计划提供以下工具:
    ● 性能分析器,开发人员利用它可以分析代码,发现数据流可以进行优化的区域。
    ● 常用函数和子程序优化代码库,这使开发人员可以提取函数,因此完全跳过编写函数和优化函数的工作。
    ● 专为多内核程序开发的编译器。
    ● 一种叫做“线程检查器”、用于发现线程互动中潜在冲突的工具。
    很多人认为,多内核芯片的发展将迫使各级IT专业人员提高自己的技能,只要将多处理概念更深入地植入到人们的计算意识中。纽约Buffalo大学计算研究中心主任Russ Miller说:“我们普遍需要更好的编程教育。今天的大多数编程是以黑箱方式完成的。”
    Carnegie Mellon大学教授Babak Falsafi对此表示同意。他说:“我们将看到一种变化,即我们从一开始就教授并行技术。这将是一种渐进式的变化,可能需要十多年时间,但是最终,多内核处理技术将推动一种确保多线程和并行技术成为基本技能的变化”。
   “核”市场
    双核/多核处理器技术的风起云涌在国内同样引起了不小的浪潮,多家服务器厂商在国内推出了双核服务器产品,不过,对于国内双/多核服务器市场的发展各家都保持着自己的步伐,虽然产品已经推出,有的厂商还推出了一系列的双核服务器产品,但国内市场对于双核服务器的需求并没有想象中热烈,双核服务器市场还需要进一步推动。
    HP认为,双核是工业标准服务器高端化的必由之路,能以更经济成本获得更高性能、实现计算密度更大化、更易于管理。随着双核的市场规模扩大,应用增多,性价比达到一个平衡,双核将会迅速普及。HP今后将全力推广采用支持全新双核处理器的HP ProLiant ML570 G3、DL580 G3和DL585服务器。最新配备AMD双核处理器的DL585更是在TPCC测试中达到了187296的成绩,刷新了4路服务器的记录。
    Dell目前在国内市场先后推出了面向小型企业的PowerEdge SC430服务器和面向中小型企业的PowerEdge 850及PowerEdge 830双核服务器。他们认为,双核处理器显著提升了系统同时运行多个程序的性能与效率。对于联网环境下的现代化政府、企业及机构,采用双核处理器的服务器将使用户的多程序并行应用更为顺畅、稳定,提升系统运行效率,进而提高企业的竞争力。对于任何新的技术,市场的接受都需要时间。双核处理器技术凭借其特有的优势必将成为服务器市场广为认可的行业标准,而Dell将以更广泛的产品系列与相关服务促进双核服务器的应用与普及。
    曙光认为,双核服务器在市场推广中最重要的因素是用户对双核服务器的接受和认知度。用户对双核服务器的认识还需要各大服务器厂商进一步深入普及,同时随着产品和解决方案的丰富,高性能提升将刺激市场对双核产品的需求。从用户认知来看,对于双核服务器的基本认识还有待提高,一方面,用户只了解双核服务器代表着更高的计算能力;另一方面,用户对如何真正用好双核服务器、发挥其价值缺少了解,特别是对服务器厂商的产品和方案整理能力缺少了解,而这些恰恰是用户选购的关键所在。
    从曙光的双核服务器产品市场推广来看,双核服务器在行业市场比较容易渗透,行业用户的信息平台相对成熟,存在潜在的应用需求。在入门级市场,由于价格因素影响较大,Intel和AMD的竞争还不充分,须等价格下降后用户才会规模应用。曙光认为双核规模应用除了需突破价格和市场接受度等因素外,还需厂商更好地做好产品的整合应用,提出更契合应用的解决方案。
    华硕也认为双核服务器真正的普及性应用还需时日,目前处在“试水阶段”。市场并没有完全接受双核服务器的存在,尽管双核的概念已经不陌生了,但是,双核处理器高昂的价格,加之双内核芯片的制造厂商Intel与AMD在产品和技术上的争夺,使得众多中上游厂商仍在持观望态度,这在一定程度上也阻碍了双核服务器的推广。而且,目前针对双核的应用开发几乎没有。目前,华硕已经推出了基于AMD双核Opteron处理器的TW510-E2双核服务器。
    联想指出,双核服务器市场推广的主导因素是市场接受度的问题。在市场推广方面,客户关注双核服务器的价格,担心它带来的性能提升与成本升高相比是否值得,还有就是客户对双核服务器的了解并不多。但通过双核Opteron的前期预热铺垫,Intel计划中的双核至强平台Paxville发布以后,双核服务器的销售情况会改善许多。
    双核技术和产品的用户认知度看来是一个比较大的问题,而这个问题的解决还需要厂商们的市场培育和实践的检验。不过,宝德指出,双核服务器的推广还有一个重要的障碍是价格,目前的双核处理器在价格上仍然不占优势,主要原因是工艺上的问题,65纳米工艺的实现将解决这个问题,到时,双核处理器的成本将下降,应用会有大规模提升,而目前的90纳米工艺是无法降低双核处理器产品成本的最大障碍。
    编看编想
    HP认为,双核服务器的出现和应用是工业标准化服务器走进更高端应用的必由之路,可以理解为,基于双核/多核技术的服务器产品实际上是作为一种精英形态存在于服务器领域,至少目前是这样,这也就让我们不难理解为什么双核服务器的市场仍然处在一个相对低调的、不活跃的状态。
    精英,总是一种小众化的属性,他不属于大众。可是,从各大服务器厂商以及芯片制造商对于双/多核产品技术的期望来看,他们希望到明年年底,双核服务器要占到所有出货的服务器数量的70%以上,这样的比例显然是把这种“精英”往“草根”堆儿里推,毕竟,在服务器产品中占据绝对出货量优势的产品仍然是低端的单路、双路产品。也许,这样的类比并不恰当,因为划分的标准不同,我想表达的是,双/多核服务器产品在众厂商的推动下,其取向是草根,而应用将是极其广泛的领域,只是现在,我们需要做的准备工作很多。
    从Intel的思路来看,我们应该在现在做的准备主要是应用程序的并行化。宝德作为Intel最坚定也是最紧密的合作者,他们在双核服务器方面的做法跟Intel是同步的,不仅产品上的同步,推广思路也是同步的。宝德的相关负责人在接受采访时强调,目前虽然还不是双核服务器普及应用的时期,但当双/多核处理器制造成本降低、形成规模化生产后,双/多核服务器产品也将进入一个快速的成长期,现在最大的障碍是65纳米工艺上的突破。现在这个准备期,需要做的是应用的并行化改造,用户对于双/多核服务器产品的认知以及应用都存在着陌生感,主要是并行化概念的不深入,如何更好地发挥并行设计思路下的双/多核服务器产物的威力,硬件基础设施的成熟是远远不够的。在国内,很多厂商都在自己的解决方案中心为用户提供双/多核服务器解决方案的测试以及一些应用程序的优化工作。很多专家指出,双/多核服务器在迎接大规模应用之前,最难的就是应用的调优,而且不仅仅是调优,有很大部分可能是重新编写的工作。其实,做草根也不是件容易的事。