I/O加速渐近 解析服务器I/O加速技术

    业内有一种说法:仅就处理器的性能而言,IA与RISC已经没有差距,甚至优于RISC。但是基于IA架构服务器在关键业务中的应用远逊于RISC。其最主要原因在于I/O,I/O技术上的落后拖了IA架构服务器的后腿。这种说法真的成立吗? 
  
    市场篇 两大阵营依旧 I/O差异非决定性因素 
  
    据易观国际的数据显示,2006年第二季度国内服务器整体市场出货量为14.1万台,相比上季度增长5.4%,其市场总额达到了47亿元,与去年同期相比,出货量增长20%,市场价值增长34.3%。其中,IA架构服务器出货13.5万台,占到市场96.1%的份额;RISC服务器出货0.5万台,与上季度基本持平。 
  
    尽管RISC服务器在出货量方面无法与IA架构服务器相提并论,但是在销售金额方面,两者旗鼓相当。据易观国际的调查,政府、金融、电信依然是服务器主要的行业用户市场,而RISC服务器仍然是这些行业的采购重点。 
  
    谈到其中的原因,IBM公司的产品经理总结了RISC与IA架构服务器的一些差异:首先在性能方面,从结构上看,RISC是属于精简指令系统计算机,而IA属于复杂指令系统计算机(CISC),其80%的指令很少使用,增加了CPU设计的复杂度,也限制了CPU性能的提高。减少每条指令执行的平均周期数(CPI)是RISC思想的精华,RISC的速度要比CISC快3倍左右。 
  
    此外在可靠性方面,由于RISC主要应用在行业的关键业务领域,非常强调系统的稳定性和可靠性。为了达到这个目的,在技术上有很多创新和保障。例如IBM的Chipkill 内存技术,可以同时检查并修复4个错误数据位,使得服务器的可靠性大大提高。据富士通(中国)公司首席技术官周一平介绍,RISC架构服务器为提高系统的可靠性,仅处理器一项就有800多个功能检测点,确保系统的安全可靠。这些技术依赖大量的应用积累而成,是长期应用的结果,不是一朝一夕之功。 
  
    随着IA架构处理器性能的提高,RISC的厂商也开始将其技术进行转移。例如富士通推出的PrimeQuest服务器,采用IA架构处理器同时吸收了Unix服务器很多的系统设计方法,在系统的可靠性和稳定性方面,也达到了比较好的水平,为用户提供了新的选择。此外,以惠普公司为代表,也已经将 IA架构处理器作为服务器未来的核心。 
  
    从可扩展性来看,RISC架构服务器多采用SMP(Symmetrical MultiProcessing,对称多处理)技术,多个处理器运行操作系统的单一复本,并共享内存和其他资源。所有的处理器都可以平等地访问内存、I/O和外部中断。而非对称多处理系统的任务和资源由不同处理器进行管理,有的 CPU只处理I/O,有的CPU只处理操作系统提交的任务,这显然是不能实现负载均衡的。在对称多处理技术的支持下,RISC架构服务器可扩展至64路。相对而言,IA架构服务器局限性比较大,一般不超过4路。在I/O方面也存在不小的差距。 
  
    从有关产品经理的分析不难看出,IA架构的服务器与RISC服务器的差异是多方面的,并不是一个简单的I/O处理性能问题。此外,应用的配套问题,用户的使用习惯,以及市场的惯性等都会对服务器应用产生巨大的影响。 
  
    有关I/O的处理性能所以能够受到市场的重视,这与英特尔最新推出的处理器架构有关系。今年5月底, 英特尔宣布了新的服务器处理器Woodcrest,也就是至强5100系列产品,它采用了新的处理器架构??酷睿架构,而I/O加速技术是其显著的特点之一。 
  
    今年9月,英特尔携手国内外合作伙伴,在国内推广有关技术和产品,而I/O加速是其宣传的重点,针对传统构架服务器遭遇的网络I/O瓶颈,以及英特尔创新的I/O 加速技术如何来解决数据包和有效负载处理等进行深入探讨。为此,I/O的处理性能问题成为了新的关注焦点。
  
    技术篇 小型负载流量激增 I/O加速应运而生 
  
    随着Web服务、万维网等广泛应用,越来越多的企业开始将业务活动转移到互联网,同时随着信息传送、集群、音频、视频资源的大量使用,以及实时数据收集,特别是包括射频识别(RFID)标记跟踪等技术的采用,其结果导致近年来网络流量大幅增长。与数据库、数据仓库等应用所导致的数据流量不同,这些新增加的流量均属于非常小的负载,数据流量通常小于1 KB。处理这些负载,往往需要耗费惊人的处理器平台资源,虽不需要大量计算,但却需要处理器进行内存存取和数据移动操作,这往往会造成延迟,从而耗费处理器时间。 
  
    有关网络传输速度与处理器的性能一直以来有这样一个规律,即1 Gbps网络带宽需要1 GHz的处理器容量。按照这个规律来计算,即使是采用3.6 GHz时钟频率处理器的服务器,采用多路处理器的服务器,由于往往会采用多千兆位以太网卡进行网络数据处理,因此也会大幅降低系统性能。这个问题始终存在。 
  
    导致I/O瓶颈原因 
  
    为了了解I/O处理对于处理器性能的影响,我们就需要对服务器是如何处理网络数据的过程有一个清楚的认识。 
  
    首先当服务器的网卡接收到数据包时,它会启动一系列与服务器处理器的交互操作,对数据包进行处理并提供给上层的应用。在这个过程中,处理器需要从内存中提取很多信息,如数据包包头、协议状态信息和数据有效负载。这些提取操作会因内存延迟而造成延期。 
  
    造成内存延迟的根本原因在于处理器的主频接近4 GHz,而内存芯片速率仅为400 MHz(如DDR 3200内存),也就是说其时钟频率相差近10倍,这样,当处理器需要访问内存中的数据时,其每个周期必须等待内存的10个时钟周期才能完成内存数据的提取和发送,在此期间处理器不能处理其他任何任务。如果处理器采用超线程(HT)技术,则可以向同时执行的其他线程分配资源。然而,该处理器必须等待数据提取完成后才能处理网络数据包。在通常的情况下,进行数据包的处理往往会占用数百个处理器时钟周期,从而导致无谓的处理器性能消耗。 
  
    负载规模减小 
  
    如果说以往网络流量和速度较低,那么来自网络的请求响应还不会让服务器性能捉襟见肘的话,如今数据包流量和速度大幅提升,特别是TCP/IP等小型负载流量的激增,直接导致了处理器有效处理运算周期降低,延迟等待问题严重,从而造成服务器应用吞吐量出现瓶颈。与此同时,由于处理网络数据流量占用了处理器的大量性能,导致服务器的处理能力不足,在满负荷的情况下,容易造成服务器宕机,给系统的稳定性、可靠性带来安全的隐患。
  
    常见处理方法 
  
    针对上述问题,目前业内有几种常见的解决方法,分别是TOE(TCP Offload Engine ,TCP卸载引擎)、RDMA(远程直接内存存取)和加载技术几种。 
  
    TOE是一个延续了多年的概念,它旨在使用网卡上专用处理器来完成一些或所有数据包的处理任务。也就是说,通过采用配有TOE芯片的专用网卡,包括TCP在内的四层处理请示都可以从主机处理器转移到网卡,其最终的结果就是在加速网络响应的同时提高服务器的性能。 
  
    随着更多处理器资源的释放,服务器主机可以更好地响应各种网络应用,如文件服务、网络附加存储(NAS)、高性能计算、高端备份与恢复、IP存储及视频编辑等。即使网络流量增加,采用了TOE之后,服务器依然可以保持较短的响应时间。目前,市场上有很多的TOE产品,如Adaptec公司推出的网络加速卡(NAC):GigE NAC 7711C(铜介质)和7711F(光纤介质)。 
  
    但TOE同样有自己的不足,实际上TOE解决方案一直仅限于在8 KB以上的环境中发送大型数据块的情况。这些较大的负载需要与平台进行较少交互,因此,TOE在下一有效负载到达前有充足的时间处理内存问题。通常,存储备份和检索系统及企业数据库均使用大型数据负载。此外,TOE应用也有诸多限制,如修改操作系统、依赖于特定TOE网卡等。 
  
    RDMA能够支持发送系统将网络数据包的数据有效负载放在目的系统的指定位置。此操作要由传输两端的网卡进行协调。由于数据被发送系统直接放在其最终内存位置上,因此在接收系统中移动网络分组数据所需的处理器时间减少了。但是采用RDMA技术也存在几个问题:这是一种高级协议堆栈,需要可靠的传输层(如TCP)。 
  
    Intel I/O加速技术 
  
    它是一种点对点协议,要求数据中心人员在每台服务器上安装专用网卡。此外,由于RDMA能够将数据置于另一系统的内存空间,这可能会造成安全风险。 因此,尽管RDMA能够帮助减少网络数据包占用的内存性能,但其限制因素使RDMA局限于特殊部署环境。 
  
    加载仍使用系统处理器作为处理网络流量的主要引擎。它在整个平台范围内使用技术来减少网络数据包包头内存存取造成的延迟,进而提高CPU效率。加载方法不需要改变基本硬件系统、应用或数据中心操作。 
  
    英特尔的I/O 加速技术是在“加载”方案下衍生出来的平台化网络I/O加速技术,该技术在英特尔推出的酷睿架构的处理器产品中得到了集中体现。新的I/O加速通过增添芯片组和网卡来管理系统内存交易。 
  
    内存存取的增强是多项技术共同作用的结果,首先是为数据移动处理而开发的直接内存存取(DMA)技术。利用全新的DMA,由专用逻辑来处理数据移动,因此处理器根本无须处理内存延迟以及数据移动。其次通过支持加速技术的网卡,在网卡端分离数据包包头和有效载荷,达到并行处理的效果。此外,通过优化的TCP/IP堆栈,减少处理器的计算负载,提升处理效率。这三种技术构成了英特尔I/O加速的核心。 
  
    英特尔的I/O加速技术被紧密嵌入目前主流的操作系统中,如微软的Windows Server 2003和Linux,相对于依靠第三方硬件供应商所做的网络堆栈更新,这种内嵌方式可以避免相关的风险。其网卡的网络加速功能,可升级到千兆和万兆以太网端口。 
  
    据记者了解,目前英特尔与合作伙伴合作,正在全国推动一项名为“种子计划”的推广活动,从行业用户中选择合作对象。对于I/O加速技术进行实地测试,让用户熟悉了解英特尔最新的Bensley服务器平台,以及至强5000系列/5100系列处理器的最新功能和特性。
  
    应用篇 I/O加速立竿见影 
  
    双核服务器(Bensley)平台在上海铁路局的应用 
  
    作为“种子”计划的试点单位,上海铁路局成为了首批吃“螃蟹”的用户,其主要应用是电子公文系统传送。据上海铁路局办公室副主任李方成介绍,作为华东地区最大的运输企业,上海铁路局下辖上海、安徽、江苏和浙江等几百个铁路车站,所管理的铁路里程达到了4300多公里。 
  
    电子公文系统是上海铁路局管理分支机构和车站的主要手段,各种政策以及铁路运营管理数据等都是通过该系统进行传达,涉及到下属的130多个部门和远程车站的1600多台客户机。因此,保持服务器高效、可靠运营是非常重要的,其响应速度的快与慢、运行是否稳定都会对铁路线运行产生重大影响。 
  
    据李方成主任介绍,此前他们采用双路至强单核服务器(2颗Xeon 3.0 CPU,2G内存)为电子公文系统提供支持,据有关技术人员的实际测试,当电子公文系统数据库服务器工作时,其CPU的占用率高达85%,存在着一定的安全隐患。 
  
    前不久,在方正科技的支持下,上海铁路局对具有I/O加速技术的双核服务器(Bensley)进行了实地测试。其所采用的方案如下: 
  
    服务器采用方正圆明MT100,配备两颗1.6GHz英特尔Xeon 5110处理器,支持BalckFord-VS/ESB2芯片组,2G FBD内存,2个73G SCSI硬盘并内置英特尔82562EB双千兆网卡,配备英特尔PRO/1000PT双端口千兆网卡。 
  
    其所采用的软件包括Microsoft Windows Server 2003、Oracle数据库,以及电子公文系统应用软件。 
  
    从实际测试的效果来看,系统的性能明显提升,首先应用程序的响应时间缩短了20%,文件分发时间从6分30秒缩短到了65秒,用户满意度大大提高。与此同时,数据库备份时间缩短了28%,对CPU的占用率从85%下降到了32%,这意味着系统的安全性大大提升,同时也为新的业务应用拓展了性能空间。对此,李方成主任表示,从实际的测试结果来看,具有英特尔I/O加速技术的双核服务器的应用令人满意。 
  
    有关成本对比,据方正科技服务器产品开发部经理汤涛介绍,该双核双路服务器的价格与去年同档次的高端服务器基本持平,因此价格不是制约其推广的主要因素。 
  
    汤涛表示,技术提升所带来的好处也是显而易见,目前产品推广的关键还在于用户对于产品技术的把握与了解,同时,有关服务器厂商还应该进一步加大市场的推广力度。
  
    厂商以及用户的反馈 
  
    英特尔I/O加速技术使我们将更多的目光从对处理器的关注转移到对系统、对平台的关注,I/O加速技术上的亮点和突破能否帮助英特尔有更好的表现呢?甚至帮助IA架构服务器在其梦寐以求的关键业务领域取得突破?对此,业内持谨慎态度。 
  
    方正科技的汤涛认为,目前还不能够断言I/O加速技术能够帮助英特尔取得更多的市场份额。从TOE等传统的技术来看,其市场反馈并不如预期中的热烈,其所占有的市场份额相对很小,这从一个侧面说明了用户对于类似的需求并不十分迫切。这一点从记者对于Adaptec公司的采访得到了证实。据其中国区市场经理王燕介绍,目前Adaptec公司已经停止了对于网络加速卡的支持,其GigE NAC 7711C和7711F也已经停产,从中国区的市场情况看,Adaptec公司一直没有对两款产品进行过更多的推广和宣传,而是将更多的精力集中在公司的主营业务??存储业务上。 
  
    从国内用户反馈情况来看,很多用户对于I/O加速技术缺乏认知,以新浪网为例,其解决负载瓶颈的方法还是采用系统升级的办法,没有尝试过TOE 技术,对于英特尔的I/O加速也没有进行过测试。据公司CTO李嵩波介绍,他们原来采用30台Dell服务器,在Linux平台上运行其LDAP服务器,后改用12台Sun Fire T1000服务器,在Solaris 10平台上运行Sun公司的Sun Java System Directory Server,作为原LDAP的替代方案。新的LDAP平台处理能力相对原有系统提高了5倍。 对于I/O加速技术是否可以解决目前的问题,还需要实践的检验。 
  
    就I/O加速技术而言,其核心是解决CPU的负载问题。从目前记者所掌握的数据情况来看,国内大多数服务器其CPU的利用率不到30%,因此减轻处理器的负载对于这些用户而言,其意义似乎不大。对此,英特尔的技术人员表示,对于大多数的中小企业用户而言,I/O加速技术的意义不大,但是处理器负荷的降低对于关键业务而言,具有非常重要的意义。系统对于负载的承载能力得到提高的同时,也可以有效降低系统的风险,使系统的稳定性得到提高。 
  
    另外需要注意的是,30%仅仅是指处理器的平均利用率,在实际的使用中,瞬间的峰值也是一个需要注意的问题,因此,减轻处理器的负载,将帮助系统有效应对各种潜在的风险。 
  
    I/O加速所带来的平台技术的提高,进一步拓展了应用的视野,从这个意义上来说,技术上的提高,将给用户应用更多的选择和保证。对于英特尔而言,如何让用户熟悉、了解I/O加速等技术,提高用户对于技术的关注,这才是解决问题的关键。