服务器 频道

【论坛话题】Opteron服务器详解(图)

    【网友问】有谁用过64位服务器,性能到底如何啊?经验分享一下嘛!

    有哪位网管使用过64位服务器,或者AMDoperlon x64位的服务器?性能到底如何?我开发了一个程序,需要x64位服务器支持.可是个人投资,也不敢冒然购买啊,所以先来问问大伙!

    【网友解答】虽然笔者没有实际使用过采用AMD 64位Opteron处理器的服务器,但是我们可以从一些基本的性能比较和一些厂商和测试结果得到一些启示,或许也可以找到你所需的答案。下面我先来回答你的第一个问题——64位服务器的性能到底如何?

    一、64位的优势

    近两年,对于IT界的大多数人,可能都已经预见到了64位将成为一个市场不能回避的话题。为了64位,Intel早在三年前就推出了安腾产品,而去年AMD对自己的64位处理器更是既赚吆喝又得实惠。因此,今年,出现了历史性的怪异,Intel于今年2月份不得已改变自己一直坚持的IA-64策略,声称即将推出一款支持64运算的32位服务器处理器,首次向其竞争对手AMD低头,共同投入x86-64的怀抱。再加上AMD在服务器、PC机和笔记本领域全面出击,纷纷与国内外大厂签下协议,推行了各种各样的64位运动,可以说64位的市场竞争如火如荼。那么64位处理器的优势(其实也是64位服务器的优势)到底有哪些呢?
其实64位与当前主流的32位处理器最为关键的优势就在于位宽和内存寻址能力上。

    位宽对处理器性能的影响绝不亚于主频。位宽是指微处理器一次执行指令的数据带宽。32位处理器一次只能处理32位,也就是4个字节的数据;而64位处理器一次就能处理64位即8个字节的数据。如果我们将总长128位的指令分别按照16位、32位、64位为单位进行编辑的话:旧的16位处理器(如Intel 80286 CPU)需要8个指令,32位处理器需要4个指令,而64位处理器则只要两个指令。显然,在工作频率相同的情况下,64位处理器的处理速度是16位的4倍,是现行32位的2倍。这就是说64位处理器的运算速度在不考虑其它因素前提下,是目前32位处理器的2倍。相信这一点不能理解,就相对当于我们常议论的网络设备带宽一样,更像我们平常所见的水管一样,带宽越宽、水管越大,在同等压力下,传输速度当然越快了,特别是对于那些高流量的应用中,如网络游戏、视频点播等。

    处理器的数据运算具有一定的特殊性,有许多运算并不是简单的一次计算,而是有许多中间运算结果,在指令执行完毕前,这些中间数据需要暂存起来的,以备后面计算所需。前面的指令计算速度快了,则单位时间需要存放的数据也就多了起来,这样相应要求存放这些中间数据的空间——寄存器容量也就要求更大。所以通常在64位处理器中的寄存器位数也是32位处理器中的两倍。32位处理器与64位处理器指令性执行模式对比如(图1)所示。

#$[*189007.jpg*#图1(点击看大图)*#0*#0*#center*]$#

    在上图中,黑色块表示代码流,白色块表示数据流,红色代表改变了位宽的数据流,而灰色块表示结果。图中的64位处理器中,代码流的数量相对32位处理器来说没有改变,其宽度随着指令代码的宽度而变化;而数据流的宽度则增加了一倍,这是为了容纳更多的数据,同样的,寄存器和内部数据通道也必须加倍。

    除了运算能力外,与32位处理器相比,64位处理器的优势还体现在系统对内存的控制上,这就是处理器的内存寻址能力。现行的32位处理器的寻址空间最大为4GB,使得很多需要大容量内存的大规模的数据处理程序在这时都会显得捉襟见肘,形成了运行效率的瓶颈。由于地址使用的是特殊的整数,而64位处理器的一个ALU(算术逻辑运算器)和寄存器可以处理更大的整数,也就是更大的地址。64位的处理器在理论上则可以达到1800万个TB(1TB=1024GB,将能够彻底解决32位计算系统所遇到的瓶颈现象。这样就为高性能超级服务器的组建打下了坚实的理论基础。

    当然64位寻址空间也有一定的缺点:内存地址值随着位数的增加而变为原来的两倍,这样内存地址将在缓存中占用更多的空间,其他有用的数据就无法载入缓存,从而引起了整体性能的下降。

    注意:实际上目前32位系统已有的内存寻址空间已经打破了4GB的限制,如Intel可以使用32位系统来管理512GB内存,不过这一般是采用超常规的寻址技术(软模拟方式)来实现的,在一定程度上会大大降低系统性能。

    64位应用程序还将更多得益于64位芯片的强大浮点运算能力。浮点运算能力对于3D渲染、动画制作、科学计算都是相当关键的,用来衡量浮点运算性能的FLOPS指标(每秒可进行的浮点运算次数)也成为测试超级计算性能的标准。64位芯片的浮点运算速度和精度都要远远超过其32位的前任,从而更加有利于仿真和视觉效果的实现。

    通过以上的分析,我们可以看出,64位处理器在一些精确计算(如天气预报、科学计算等)和大流量网络应用(如网络流视频点播等)中,是非常急需的,它可以成倍地提高服务器的运算速度,可以组建内存容量非常大的超级服务器。如今年2月份,我国的曙光公司就与AMD合作成功推出了国内第一、世界第三的,每秒能计算10亿次的超级计算机。所以总的来说,64位处理器,特别是64位服务器,对于目前许多领域都是非常必要的,而随着网络应用的复杂化,相信在不久的将来,64位运算需求将走向平民化,如将来的多媒体网络应用、3D图形/动画制作、电子商务、VPN通信等。

    当然,现在64位服务器其实早已不是什么新鲜事,早在1995年,Sun的Ultra SPARCⅢ处理器便首先实现了64位运算,紧跟着Compaq、IBM、HP等IT巨头都推出了自己的64位RISC芯片。

    二、AMD64处理器的优势

    因为这位网友特意问了AMD的Opteron处理器服务器性能方面的问题,所以我也就在本文中重点介绍一下它与其它64位服务器相比所具有的优势,实际是就是AMD的Opteron处理器与其它64位处理器之间比较。同时还针对这位网友属个人行为的实际推荐几款非常适用的经济入门级Opteron服务器,几千元的价格相信你一定可以承受,就当买台PC机一样。我们主要介绍它相对Intel的IA-64的架构处理器的不同。

    1. 处理器架构不同

    在64位处理器上,AMD采用与Intel截然不同的策略:AMD采用一种基于x86指令体系的64位架构,也就是x86-64架构。采用类似于从80286升级到80386的平滑升级方式:一方面可以增加寻址位宽,另一方面又具备向下兼容,这样可以让64位处理器运行在32位应用环境下。当然它与IBM、HP和SUN这几家的RISC架构的64位处理器则更是具有明显的区别,因为它们的指令执行方式都不一样。

    由于x86-64是从传统x86架构变革而来的,这意味着x86-64架构如果要同时兼顾64位、32位运算任务,就必须对原x86寄存器体系进行变革。传统的x86指令集本身属于一种复杂指令集(CISC),使用x86指令集的处理器架构一直沿用寄存器结构,由于程序可用的寄存器数量较少(注:传统的x86架构只拥有8个通用寄存器、8个浮点寄存器和8个SIMD寄存器,而Intel的IA-64架构的寄存器要多得多)。因此造成传输延迟,性能以及流水线工作效率相对落后,从而给x86架构处理器的性能造成了影响,程序和编译器的优化难度也较大。针对这个问题,在x86-64架构中,AMD在x86架构基础上将通用寄存器和SIMD寄存器的数量增加了1倍:其中新增了8个通用寄存器(GPR)以及8个SIMD寄存器(SSE&SSE2)作为原有x86处理器寄存器的扩充,同时还地原来的通用寄存器位宽进行了扩展,从原来的32位扩展到现在的64位。如(图2)所示。

#$[*189013.jpg*#图2(点击看大图)*#0*#0*#center*]$#

    从图中我们可以看到:AMD将x87浮点堆栈独立了出来,这是因为AMD和Intel都希望程序员用SSE/SSE2指令集来取代x87浮点指令,另外我们还可以看到程序计算器也为了对应64位计算而进行了扩展。另外,这些通用寄存器都工作在64位模式下,经过64位编码的程序就可以使用到它们,在32位环境下并不完全使用到这些64位寄存器。同时AMD也将原有的EAX等寄存器扩展至64位的RAX,这样可以增强通用寄存器对字节的操作能力。

    从扩充方式上看,EAX等寄存器可以看作是RAX的一个子集,系统仍然可以完整地执行以往的32位编码程序。增加通用寄存器除了可高效存储数据外,还可作为寻址时的地址指针,从而缩短指令长度和指令执行时间,加快CPU的运算处理速度,同时也给编程带来方便。

    而且在纯64位模式中,x86-64体系还支持数据地址关联模式,并且直接对应64位的RIP(指令指针)。原始的x86体系仅仅在控制传输指令中支持RIP关联地址,而64位模式的RIP关联地址改进了该项特性,扩大了它的应用范围。

    2. 向下兼容性不同

    AMD的x86-64架构的最大优势就是完全兼容现存的x86代码,不管是32位还是更老的16位。x86-64是通过模式之间的嵌套实现这种特性的。在x86-64处理器中最外层的是“Legacy”模式,在该模式下处理器就像标准的x86处理器一样工作,可以运行32位操作系统和32位代码,不具备x86-64指令增加的各项新功能。如(图3)所示。

#$[*189018.jpg*#图3(点击看大图)*#0*#0*#center*]$#

    AMD另外提供了针对64位计算的“long”模式,在这种情况下运行程序就需要64位操作系统的支持。“Long”模式提供两个模式:64位模式和兼容模式,兼容模式下还可以运行普通的x86应用程序。如(图4)所示。

#$[*189022.jpg*#图4(点击看大图)*#0*#0*#center*]$#

    因此老的x86代码(32位和16位的)都可以在64位操作系统的兼容模式下运行,而x86-64代码则只有在64位操作系统的64位模式才能运行。在兼容模式下运行的代码不能使用新的扩展寄存器,也不能使用增加的8个寄存器,内存寻址同样被限制在4GB的范围内。实际处理中,每个代码片断的模式是由代码片断描述符(code segment descriptor)来决定,处理器就根据这个2个位的描述符决定采用何种模式。

    相对AMD的x86-64处理器架构,Intel的IA-64架构所采用显式并行指令(EPIC)架构,具有分支预测执行、寄存器轮动、更多的计算单元和流水线等技术,使IA-64 处理器的性能和效率有了极大的提高。内存寻址能力也更强,相对原来的IA-32架构提高了几个数量级,64位寻址空间能够容纳近180亿GB的物理内存,远大于AMD的x86-64架构。

    显式并行指令计算技术(EPIC)除了支持巨量内存存储外,IA-64的另外一重要技术特性就是其基于显式并行指令计算技术(EPIC)的设计体系。借助于EPIC技术,编译器在保证并行处理指令时可以更加有效。EPIC编译器首先分析源代码,以确定哪些指令可以做并行处理,优化这些代码,然后,产生合适的机器码。实际上,编译器会告诉微处理器哪些指令来做并行处理,以此不会在程序处理时消耗微处理器的时间。

    如采用IA-64架构的Itanium处理器,就具有128个整数寄存器、128个浮点寄存器、64个预测寄存器以及大量用于特殊目的的寄存器,从而提供了32位架构所不能提供的许多强大功能。同时Itanium也变成了三级缓存结构,其中L0和L1缓存集成在处理器核心,L2缓存(4MB)通过一个指定的128位总线与处理器相连,使它的整体性能大为提高,除此之外,Itanium还集成了如“机器检测架构(Machine-Check Architecture)”等其他一些的特殊功能,以应付复杂的高端服务器和工作站的需要。这一切都是AMD的x86-64架构所不能比拟的。

    三、经济型Opteron架构服务器推介

    目前基于AMD Operton处理器的服务器已非常普遍,原来只有在一些二线,甚至三线品牌才看到的Opteron服务器,现在连全球最大的IBM、HP和SUN这三家服务器厂商都纷纷推出了自己的Opteron服务器,并且多数还远不止一款。试想一下,历来都是Intel死党,并且曾与Intel一起开发64位Itanium处理器的HP也全然不顾Intel的反对,在短短的几个月内推出了2个系列、5款基于Opteron处理器的服务器,这能说明什么?只能说明,AMD的64位Opteron处理器的确有它非常不俗的表现。当然也只是在与Intel的32位处理器相比。

    相对这些国际大厂说,国内外的一些二线品牌就要谨慎许多了,如DELL就根本不敢面对这个现实,死抱住了Intel不放,国内的联想也是这样。不过,还好,还是有许多自由身份的著名服务器厂商勇敢地站出来支持AMD,国内当然要数曙光了。它也是国内一流的服务器大厂,虽然也曾使用了Intel的服务器处理器,但它并没有受到Intel的太多限制,所以它与AMD的合作就非常自然了。下面介绍两款符合这位网友的经济型Opteron处理器架构的服务器。

    1. 曙光I200-A

    说到Opteron架构服务器,当然首先想到的就是国内三甲服务器厂商曙光信息产业(北京)有限公司了,因为它是全球与AMD合作最为紧密的服务呖呖厂商之一。特别是它分别与去年8月和今年2月与AMD合作推出的“64位普及运动”和“64位燎原计划”,更令人家喻户晓。在这其中有一款Opteron架构服务器竟然售价只相当于现在主流32位PC机的价格,那就是曙光6999元的I200-A服务器,如(图5)所示。

#$[*189033.jpg*#图5(点击看大图)*#0*#0*#center*]$#

    它采用单AMD Opteron 140处理器,完全兼容32位,集成内存控制器技术、增强病毒控制技术、超传输总线技术,性能超出Xeon 57%。I200A服务器的主板采用非常先进的AMD-8000芯片组,集成了双通道IDE控制器,并集成丰富的多媒体技术ATI RAGE XL 8M图形控制器,大大提高了系统性能和可靠性;主板集成双千兆网卡,支持冗余网卡,当系统正常时多网卡自动分摊网络流量,使系统网络通讯带宽提高,而在有网卡损坏或出现线路故障时,其工作自动切换到其他网卡,不会由于网卡故障影响正常服务。

    2. ProLiant DL145

    在Opteron处理器架构服务器中,出现最怪的一个现象就是HP,这个曾经一直以来是Intel的死党,并且曾与Intel有过非常亲密合作的历史(Intel的安腾处理器就是它与HP一起开发的杰作),目前来说在整个全球三大服务器厂商中,推出基于Opteron处理器服务器最多的一家,目前共有2个系列,5款产品。其中1U的尺寸的ProLiant DL145服务器系列如(图6)所示是适用于中小型企业的HPC(高性能计算机)市场的最优选择,其价格从1599~2999,也就是说最便宜的也只有1.3万多元。这个系列的产品采用AMD 2.2GHzR Opteron 200系列处理器,提供高达16GB双路交叉PC2700内存,一个嵌入式双通道千兆网卡和一个133MHz PCI-X I/O扩展插槽。

#$[*189048.jpg*#图6(点击看大图)*#0*#0*#center*]$#

    另外,HP还在ProLiant DL145系列中发布了一款DL845 4U服务器,它将采用4颗Opteron 800系列处理器,在今年2季度开始发售。

    从以上分析可以看出,AMD的x86-64架构由于架构自身的原因,在技术和性能上根本不是Intel的IA-64架构的对手,这也是当初Intel放弃现有x86架构的根本原因。只不过由于AMD的x86-64处理器架构能很好地向下兼容目前主流的32位应用程序,这就是AMD最大的胜算。当然,AMD的这个Opteron系列处理器在价格上也具有较大优势,使得基于它的服务器在成本上可以非常低,接近目前主流的32位服务器水平,当然这主要得益于AMD想争取时间,尽量让它的64位计算深入人心、普及万千用户。从长远的发展来看,Intel的IA-64架构具有更大的生命力。相对64位RISC处理器来说,AMD的Opteron处理器所具有的优势也主要体现在向下兼容性和价格方面,在性能方面则具有明显的弱势。但我想AMD的价格优势将不是其它厂商的障碍,相信它们也完全可以做到AMD这个价位,甚至更低。由此可见,AMD将来的路一定不会象今天那么好走。AMD要想继续保持这份优势,保住目前的这份光环,只有寻求更新的解决方案,还可能在此基础上继续与其它64位处理器厂商抗衡,否则此次千载难逢的机会将只能算是一个匆匆过客,很快将不复存在。

0
相关文章