服务器架构:x86、RISC、ARM谁主江湖?
2016-07-31 09:00:27 ZOL在当今时代,说互联网支撑起了整个世界的半边天毫不过分。无论金融、工业,还是机关、社会,各行各业都被互联网串联起来。那么你对支撑起互联网的服务器有了解吗?服务器的构架又是怎样的呢?
服务器可不是你的电脑主机
要了解服务器构架,首先要先知道服务器是什么。在不少人眼中,服务器无非就是一个大机箱,和PC主机没什么区别。
事实上,这种观点只是说对了一半。服务器与pc主机在结构上确实有很多相似之处,都包括了中央处理器、内存、芯片组、I/O总线、I/O设备、电源、机箱和相关软件等。但从本质上来讲,服务器有固定的地址,可以为互联网用户提供服务节点,实现互联网资源共享,并具备承担和保障服务的能力。
而且,由于用户数量的不同,服务器与电脑主机还有很多的区别。PC主机一般只针对个人,提供给单个用户计算等服务。而服务器作为网络的节点,需要为多用户、多任务提供可靠的服务。服务器存储并且处理了互联网80%的数据和信息,是网络的中枢和信息化的核心所在。
而从要求方面来看,服务器需要为很多共享服务(如数据库、web应用、网络等)提供高性能服务,这就要求其必须具备高速计算能力、长时间运行的稳定性和强大的外部数据处理吞吐能力。与PC在处理能力、安全性、可扩展性、可管理性、稳定性等多方面性能有着本质差异。
也正是因为这些不同,服务器在安全和稳定方面的要求也变更高,应对突发事故能力更强。当遭遇停机、断网、断电、网络攻击时,PC机往往会产生数据丢失等后果,而这是服务器所不能允许的事件。服务器面对的是整个网络大量的用户,需要保障7×24小时的稳定不间断的工作。
为了保障服务器的安全,其采用了大量技术也是PC机所不具备的。这其中,冗余技术、系统备份、故障预警技术、内存纠错技术、在线诊断技术、远程诊断技术以及热插拔技术等,由于这些技术的存,大多数情况的系统故障可以在不关闭服务去的条件下得到解决修复,这也增加了服务器的可管理性和风险应对能力。
采用对称多处理器技术的服务器
那么如何才能保障服务器的稳定工作呢?我们都知道,服务器和pc机的核心组件叫做中央处理器,即CPU(Central Processing Unit)。而一般的PC机内部只有一个CPU,这足以运转单个用户正常的处理要求。而服务器则往往采用对称多处理技术(Symmetrical Multi-Processing,SMP技术)。
采用了SMP技术的服务器可以安装插入多个CPU,提高处理能力。但是相对的,这样的处理器可扩展性则会较差。一般国产的小型服务器以2路、4路、8路为主,即内部装有2/4/8个CPU。而16路和32路服务器近年来也开始变得常见,UNIX服务器,也就是我们所说的小型机,可支持多达64个CPU,而且近年来已经开发到了恐怖的128路服务器。
而且,服务器的CPU与普通PC机不同,其稳定性、缓存能力、接口、指令集、多路支持能力以及价位都有着明显的差异。而相应的,作为网络节点,服务器的内存在容量、性能、技术等更多方面有着根本的不同。
服务器架构该怎么分
现在的服务器多种多样,而关于服务器分类的办法也各有不同。
最贴近用户分类办法为按照服务器档次划分,这也是目前最普遍的一种分类方法。这种分类主要根据服务器在网络中的层次或者档次进行划分。而所谓的档次并非是指服务器CPU主频的高低,而是以服务器的综合性能为依据,尤其是服务器的专用技术不同而进行的划分。
以这种分类方法来看,服务可以被分为:入门级服务器、工作组服务器、部门级服务器、企业级服务器和视频服务器。
但是这种分类无法帮助大家认清服务器本质,而且分类太多,特点不够明确。而另一种分类方法是以服务器的CPU设计模式,即其指令集类型来对服务器分类。这样的话可以将服务器分为两类:
CISC和RISC的区别
一类是CISC(Complex Instruction Set Computer复杂指令集)架构服务器,也叫作IA(Intel Architecture,Intel架构)架构服务器,即通常所用的PC服务器。这类服务器基于PC机体结构,采用英特尔或者与之兼容的其他处理器芯片,这一架构以小巧稳为特点。
另一种则是RISC(Reduced Instruction Set Computing精简指令集)架构服务器。这类服务所采用的CPU与日常所用CPU完全不同,使用RISC芯片并且一般会采用UNIX操作系统。此类服务器价格昂贵,但性能和数据处理能力强大。
而还有种分类则比较极端了,这种分类是以市场情况来进行划分,将服务器分为x86服务器和非x86服务器。这种分类方法事实上是对上一种分类方法的补充和改进,CISC服务器目前以x86为其代表,但RISC服务器却并不是服务器市场剩余的全部,一些新兴的CPU设计模式正在崛起并抢占市场。但是由于x86服务器所在份额巨大,达到服务器市场的九成左右,因此采用这种分类也更为合适。
x86:帝国崛起
提到芯片巨头英特尔,每一个互联网用户应该都不会感到陌生,英特尔的CPU制造技术冠绝全球,但是你知道这家巨头企业是如何发家的么?
事情要从1978年6月8日说起,Intel发布了一款新型的微处理器“8086”。而这款处理器在新出现时并没有得到什么关注,可是他却创造了一个新的时代。8086意味着x86架构的诞生,而x86作为特定微处理器执行计算机语言的指令集,定义了芯片的基本使用规则。8086也直接带动了Intel成为全球首屈一指的芯片巨头。
而x86不仅仅使Intel平步青云,也成为了业界的一种标准。在过去的几十年里,无论是笔记本、服务器、超级计算机还是编写设备,都可以看到x86的身影。而且,x86架构还在通过不同的方法进行改进,无论AMD、VIA都可以通过X86指令集的弹性来对付Intel,迫使x86进行改变。
通过几十年的技术积累,x86服务器在服务器领域的地位几乎是独孤求败。小巧灵活的x86服务器在市场上应用十分广泛,互联网以及局域网内的文件、打印、通讯、web、电子邮件、数据库以及应用服务等多个领域都可以一展身手。
x86:江湖纷争
x86服务器最大的特色在于可以兼容Windows操作系统,全部都采用了Intel的CPU。而Intel的x86服务器也可以分为两代,最初采用的80x86系列在发布了产品80486后,Intel对该系列产品进行了重新命名并注册,这也就是现在Intel的Pentium系列,当然,这个系列在中国还有个更响亮的名字,即奔腾系列。
目前奔腾系列的CPU包括:Pentium、Pentium MMX、Pentium Pro、PII、PII Xeon(至强)、PIII、PIII Xeon、P4 Xeon、Celeron2(赛扬)等。
IBM ThinkServer情归联想
x86服务器的CPU由Intel一家独大,可服务器的竞争缺颇为激烈。2014年初,联想以23亿美元并购了IBM x86服务器业务,一举成为服务器领域全球顶级的企业。可是即便联想得到了IBM的x86业务,整个x86市场依然混乱非常,惠普、戴尔、Oracle以及壮士断腕的IBM依然实力强劲。回看国内,浪潮、曙光、华为等国内企业也把不同级别的服务器市场做的风生水起,服务器江湖一片混乱。
x86:廉颇未老
x86老么?从时间上来看,确实老了。x86从1978年至今已经将近40年。可经过各种风云变幻之后,x86依然是服务器行业绝对的领导者,说这样的一个服务器行业领袖已经老去,那无非便是在指摘支撑起整个互联网的服务器行业已老。
而且,经历了很多代的改进和变革,x86架构服务器依然是最快的架构之一。而且现在x86也是整个行业的标杆,从技术上来看x86从未落后过,只不过是和其他架构的服务器相比差距大小是否被拉近了。
从指令集架构来看,CISC确实是有些陈旧了。即便是Intel也已经承认,CISC架构确实限制了CPU的发展。在CISC微处理器程序的各条指令相互串联执行,指令操作也需要串行执行,按照这种方式来进行任务执行,其控制当然十分简单,但计算机的整体利用率却被拖了后腿,执行速度相对偏慢。这也是CISC架构为中低档服务器所采用的原因之一。
复杂指令集是一种伴随着计算机诞生便存在的一种指令集。其拥有较强的处理高级语言的能力,对于提高计算机性能有一定好处。而日趋复杂的指令系统不仅带来的效率的低下,还致使系统结构的复杂性增加,这种复杂性也将导致了CISC的通用性不佳。
RISC:高手对决
事实上,CISC的问题存在并非一两年了,在1979年,也将是x86诞生后的次年,美国的加州大学伯克利分校便发现了这一问题,而针对这些问题,一些人提出了精简指令的设想,也就是将指令系统中使用频率较高的少量指令提出,并提供一些必要的指令来支持系统操作和高级语言。而这个原则经过发展,于1980年IBM 801计划完成,精简指令集,也就是RISC正式面世。
RISC要比CISC精简太多
RISC与CISC出生的时间相差不多,但是技术上确实针对了CISC的弱点,可谓是高手过招,滴水不漏。而RISC的特点则是指令的格式全部一致,指令周期也一样,并采用了流水线技术。而与CISC小巧灵活的定位不同,RISC在中高端市场的优势会更大。
也许有的人会有疑问,既然RISC 在技术上要比CISC精简,那么为何现在称霸服务器市场的是CISC的代表x86而不是RISC呢?这是一个很矛盾的事情,事实上,采用精简的一系列指令来完成相同的任务要比采用单一的复杂指令会更慢。因为微处理器的设计者一般没有时间去调整每一条可能会用到的指令,因此他们只会优化那些常用的指令,而RISC的速度自然会慢一些。
而且在上世纪80年代,CISC会使得程序变得更加紧凑,虽然操作复杂但是速度确实会更快。而RISC在输入指令完成简单程序时,需要从存储器中度日指令的次数会更多,因此需要的时间也更长,在当时的工业和设计领域都对RISC的前景产生过担忧。
但随后人们也开始认识到一些问题,微处理器的运行速度开始变得要比内存更快了,这也就意味着增加处理器的利用率会使得整个过程变得更快。而这种趋势正在随着时间变得越来越强,很明显,更多的缓存支持更高频率的操作正在变得越发有必要,而降低CPU原本的复杂度才可能节省出一定的空间,来留给新增的缓存。
RISC:争久必合
降低CPU复杂程度促进了RISC地位的提升,可是Intel是不会允许自己一手打造的X86就此没落的。而事实也是如此,我们今天x86依然是行业绝对的主角,那么他是如何做到以弱克强的呢?
准确来讲,现在的x86架构已经不是标准的CISC了,他吸收了RISC和CISC双方的性能的有点,形成了独特的、自主的x86架构。这种X86架构依然是CISC 的骨和皮,却加入了很多RISC的特色技术,因此虽然在高端市场无法与RISC竞争,但是在占了市场主流的中低档x86架构仍然是最快的。
而且,RISC和CISC之争在上世纪就已经见了分晓,Pentium和P6时代二者几乎都走向了融合的方向。CISC指令集发展为现在的x86,而RISC 指令集提醒结果则发展为现在的ARM和MIPS为代表的高性能RISC 指令集。
IBM大型机便是采用RISC构架
RISC指令位数较短,内部有快速处理指令的电路,使得指令的译码和数据处理等能力更强,执行效率更高,但这一切的前提都是需要编译程序的处理,也就是上世纪所困扰RISC 的原因。而CISC指令译码较长,还需要机构微指令协助执行,但开发较为容易,可执行效率低,处理数据的速度慢,因此这项技术更多的被应用在中低档的服务器构架之中。
RISC:战火点燃
RISC和CISC握手言和,这并非服务器市场竞争结束,而是新一轮战火点燃的信号。双方短暂的和平还因为现在的处理器速度与指令集构架的关系越来越小,指令集构架的影响力早已被CPU微结构,甚至更为贴近底层的设计所超越。
而反观服务器市场,在中低档服务器全盘被x86所统治的情况下,高端服务器的竞争形势也很激烈。在高档服务器市场中,Compaq的Alpha、惠普的PA-RISC、MIPS公司的MIPS、SUN公司的Sparc,以及IBM的PowerPC。
在非x86服务器当中,蓝色巨人IBM在技术方面的领先使其无人能当。而这一领先优势也是让IBM可以大胆的放手将x86业务全盘卖给老合作伙伴联想的原因之一。无论是IBM的Z系列还是P系列,其稳定可靠性方便都得到了市场广泛的认可。
而RISC的前景已经不再像过去的年代一样模糊,各大公司也都意识到这一领域的重要性,开始竞相发力,IBM的优势也不再像过去一样稳如泰山。
ARM:异军突起
在PC领域,Intel的CPU一枝独秀。而在移动端呢?那就当属ARM了。ARM全称为Advanced RISC Machine,也就是进阶精简指令集机器。ARM是RISC微处理器的代表作之一,其广泛的在嵌入式系统设计中被使用。而且ARM处理器最大的特点在于节能,这也是其在移动通信领域无人能敌的原因之一。
谷歌高通联手打造ARM64位服务器
在过去,ARM专注于发展32位架构,在移动端称霸多年,让Intel眼馋不矣。而在PC和服务器领域,Intel的市场也让ARM十分眼红。ARM于2011年底发布的ARMv8为其首款64位处理器,而戴尔在2013年发布了其首款基于ARM64位构架的服务器,相应的服务器解决方案也被开发出来。
专家认为,尽管Intel的x86处理器在服务器领域依然无敌,但64位的ARM构架应该可以找到自己的一席之地,ARM在内存和网络接口同计算核心间的距离会被尽可能的拉近,并借此承载起密度极高的大量计算进程,这种特性与Web服务器及其应用十分契合。
在服务器领域,Intel的芯片也有很多水土不服的领域,比如内存容量、I/O和处理性能不成比例时,ARM处理器的表现会更加合格。ARM处理器的ISA复杂程度要低很多,开发成本也要低,相应的,ARM服务器厂商针对这些应用场景所开发的服务器也就拥有了打败Intel的前提条件。而从这些应用环境所切入服务器市场的ARM架构服务器其针对客户也正是x86的原有部分客户。
而Intel是不会轻易放手的,在服务器领域,其工艺对ARM保持领先,其处理器性能也远高于ARM处理器,可在功耗方面一直是Intel的一个心病。此外,Intel也想进军移动端,要打败ARM,在低功耗的服务器领域发力便是一个好的选择。采用了14nm工艺的Xeon-D,其包括的2个1.4G的Broadwell内核和GPU的功耗才仅仅为6W,在性能功耗比方便比ARM要高出不少。
在2008年,Intel推出了Atom处理器,这款处理器是Intel史上体积最小,功耗最低的处理器,其开创出去便是之中弥补自己在移动计算领域先天不足的问题,而这一领域被ARM霸占多年,在技术和经验中Intel都不占优势,想要打败ARM又谈何容易?
ARM:虎口夺食
既然双方都对对方的领域虎视眈眈,那么ARM和Intel的大战绝对是不可避免的。那么想要进入Intel的服务器领域,ARM就需要拿出来真本事了,以其64位元处理器作为基础的芯片设计,功耗低、成本低,具备构架弹性,以这些优势去硬碰Intel又能有几成胜算呢?
换个角度看,ARM芯片架构具备一定的灵活性,可以实现很多企业的特性需求,比如缓存一致性以及容错和高可用性等,其软件的生态环境成熟度却不及Intel,即便是有了更多的企业关注也未必就能有把握击败Intel,那么又是什么支持这ARM来客场挑战Intel呢?
决战,无可避免
虚拟机的兴起,让ARM看到了反击的机会。ARM64位元处理器的处理能力越来越强,而以云计算为代表,服务器的需求产生了新的变化,ARM构架服务器作为云计算的支撑构架有了新的形势和优势。而且随着移动网络和互联网融合互通日趋明显,ARM发展后台数据中心已经是大势所趋,所以与其说ARM虎口夺食倒更像是背水一战,无论是ARM还是Intel,双方都没有任何退路可言。
早在2013年,百度位于南京的云计算数据中心首度对外曝光,这也是全球首个ARM架构服务器端的规模应用。在此之后,ARM架构用于云支持的案例便越来越多,相比节省能耗的x86芯片,ARM处理器功耗还要更小,这对于动辄上千台服务器需求的云计算数据中心来讲,无论是成本还是能源消耗都有着不小幅度的节省。
而且ARM构架本身是开放的, ARM本身也不生产芯片,以授权的商业方式与各种半导体芯片厂商联手,这种商业模式也对于ARM服务器的进一步发展提供了更强的生命力。如果有一天,ARM服务器挑战Intel x86服务器成功,请千万不要惊讶。
MIPS:另一个搅局人
RISC的代表作ARM已经展现出足够的强大去对抗x86,而另外一个代表MIPS则展现了足够的潜力。
MIPS体系
MIPS(Microprocessor without interlocked piped stages )架构是有潜力和ARM相抗衡的另一个种采取精简指令集(RISC)的处理器架构。该架构基于一种固定长度的定期编码指令集,采用了导入/存储(load/store)数据模型,具有从32位到64位的可扩展性。
MIPS构架有科技公司MIPS公司在1981年开发出来,经过长时间的发展,其相应的软件开发工具和厂商支持较广的一种嵌入式架构。MIPS包含有大量的寄存器、指令数和字符、可视的管道延时时隙,而这些特色也让MIPS的能耗低到可以和ARM相抗衡。
MIPS的高性能缓存区及缓存管理方案具有很强的灵活性,增加了密集型数据处理、数据量、断言操作等功能,在嵌入式市场不断增长的计算需求里仍然可以保持领先。而且作为 MIPS最初是面向高性能科学计算支持,所以在指令集设计的时候更注重速度和性能,而非功耗和面积。
此外,相比ARM,MIPS的兼容性会更强。MIPS架构可完全向后兼容,也就是说MIPS32位架构可以在MIPS64位上无障碍运行。这一点也是MIPS可能打败ARM的杀手锏之一。
RISC-V:颠覆者
如果说MPIS威胁到了ARM的地位,那么RISC-V便是直接威胁到了RISC的存在。RISC-V从2010年开始设计,花费了大约四年的时间才完成了RISC-V的开发过程。
颠覆者RISC-V
值得注意的是,RISC-V是一款完全开源的架构。这也就意味着RISC-V是一个现代化、完全没有专利问题、没有历史问题的全新指令集,并且以BSD许可证发布。相比之下,ARM指令集架构的许可证可能高达千万美元。
RISC-V的开发者认为,开源是这个时代不可逆转的潮流,RISC-V不仅能让公司受益,也可以让大学和研究机构更好的研究全新的处理器技术和架构。这种新的商业模式不仅提高了企业的效率也降低了成本,从云计算、大数据到容器技术无一不是开源项目的受益者。
与ARM架构对比,RISC-V在功耗、性能、面积等各种层次都不输给ARM,甚至有些层面已经超越了ARM,并且相比之下,其可扩展性更强、指令更丰富,提供免费的开源编译和仿真环境,目前唯一需要期待的便是RISC-V的相应生态进一步的建立和成熟,当相关的产品产生后资本流入并且进一步发展,那么RISC-V取代RISC,指日可待。