基于ARM的数据中心路在何方?

我们已经了解到百度采用ARM处理器研发数据存储节点。另外,还有一些Startup公司在研发基于ARM的服务器。今年,AMD又宣布开始研发基于ARM的处理器,不再局限于X86处理器架构。这一切都在说明什么?ARM正往数据中心前进。

ARM处理器采用RISC的架构,其具有很好的性能/功耗比。对于数据中心而言,低功耗是一个永恒的话题。虽然,在服务器领域,以Intel为首的X86架构一度将MIPS、SPARC击溃,占据了服务器市场的重要份额。所以,如今放眼望去无论是存储设备还是应用服务器,基本都是采用了Intel的X86处理器。个人认为X86能够在服务器领域取得如此骄傲的成绩,一方面由于其出色的性能表现,CISC通过优化之后毫不逊色于RISC;另一方面,可能是更加重要的方面是Intel的具有很好的市场推动力,对于开发者而言具有很好的开发支持,即Intel具有较好的产业生态圈。所以,相对于MIPS和SPARC而言,Intel在市场和开发方面占尽了优势。

ARM和MIPS、SPARC之类的处理器不同,其拥有非常良好的生态圈。ARM公司推动处理器核心IP的发展,其他公司在ARM IP的基础上研发相应的SOC,因此,在整条产业利益链上涉及到非常多的公司,包括硬件和相应的软件、操作系统。广泛支持的产业生态圈可以将ARM处理器推动到浪潮之巅,与Intel X86处理器一决高下。

在服务器领域,笼统来讲,ARM处理器一直没有一席之地主要还是考虑到ARM处理器的性能不能满足服务器应用的需求。但是,仔细考虑,服务器应用的需求到底有哪些?简单归纳,其主要有以下两大类:

1)计算密集型应用。对于计算密集型应用,ARM处理器的性能和X86的性能还存在一定的差距,因此,X86处理器还会占据该类应用的市场。

2)事务密集型应用。对于事务密集型应用,其主要考量的是处理器的事务处理能力:包括处理事务的速度如何?能够连接多少客户提供服务?对于事务型的应用,集群处理具有很强的优势,通过集群可以增加客户的带载能力,可以并发事务的处理,提高事务的处理速度。因此,事务密集型应用不仅考量单芯片的处理能力,更重要的是考量系统芯片的内核(Hard Thread)数量。对于ARM处理器而言,这是一个非常好的切入点,一方面可以很好的满足应用需求,另一方面可以充分发挥自身低功耗的优势。

因此,个人认为对于事务型应用的场合,ARM处理器可以采用集群的方式来替代X86处理器,从而达到降低功耗的目的。在百度的存储服务器中就采用了ARM处理器,由于存储应用对CPU的计算性能要求很低,其主要瓶颈点在于IO,因此,该类应用可以归类为事务密集型应用,可以采用ARM处理器替代X86,从而降低功耗。

从美国Calxeda公司研制的ARM服务器可以一窥ARM服务器的实际处理能力。该服务器架构和传统的X86服务器差别很大。其主板上没有任何的处理器,整个主板遍布了PCI-E的插槽,桥路控制器以及一些对外接口的控制器和接口。

每对插槽上可以插入一个处理器扩展板,整个主板可以最多插入12块处理器扩展板。一个处理器扩展板可以示意如下:

每个扩展板拥有4个ARM处理器,每个处理器拥有一个内存条及4个SATA接口。扩展板上的每个处理器相当于一个服务器节点,那么整个系统等价于一个48节点的ARM集群系统。那么这样的一个系统,性能表现究竟如何呢?

通过第三方的测试了解到,此类ARM服务器在计算性能方面无法和X86架构的Xeon相比,但是,在以web服务为主的事务型应用中,ARM服务器性能居然超过了Xeon,并且大大降低了整个系统的功耗水平。下图是该ARM服务器和Xeon服务器在Web请求处理中的性能对比结果:

从上图可以看出,当并发访问客户相对较少时,Xeon的性能高于ARM处理器。随着并发访问的客户数量不断增加时,ARM服务器性能开始超越Xeon服务器。因此,可以看出,ARM处理器在面向事务的处理中可以替代X86处理器。在Web服务器、流媒体服务器、存储服务器中,ARM处理器可以拥有一片蓝天。

如今国产ARM处理器也在发力,Allwinner(全志)推出的面向多媒体处理的ARM处理器可以构建单板计算系统,结构非常的简单:

在该处理器中集成了Cotex-A8 ARM处理器以及Mali-400 GPU。更有意思的是,在Allwinner的单板系统上部署Hadoop集群:

虽然,这应该只是一个演示系统。但是,在数据中心中ARM处理器有其天然的优势,通过ARM处理器可以达到事务处理应用的需求,更为重要的是降低了数据中心功耗,实现绿色数据中心的目标。还有一点需要注意的是,未来数据中心的存储将会在Flash存储的推动下引来变革。而Flash存储和ARM将会是天生一对,ARM的纵核技术可以满足Flash存储的应用需求。因此,个人估计在不久的将来ARM技术将会占据数据中心的半壁江山,特别在事务型应用服务器中。

基于ARM的数据中心路在何方?

时间: 2024-10-29 19:12:18

基于ARM的数据中心路在何方?的相关文章

基于ARM核AT75C220在指纹识别系统中应用

纹识别技术近年来逐渐成熟,在门禁.安防和金融等方面得到了越来越广泛的应用.典型的指纹识别系统是以指纹传感器和DSP处理器为核心构成.指纹传感器采集指纹图像,DSP处理器实时实现指纹识别算法.同时,通常的指纹识别系统还具有较强的通信能力,除了具有RS485通信外,高档的指纹识别系统还要求具有以太网接口和Internet连接能力.Atmel公司新推出的智能互联网芯片AT75C220集成了ARM内核.DSP协处理器以及以太网MAC接口,用AT75C220和指纹传感器结合可构成高性能的指纹识别系统. 1

在Spring中基于JDBC进行数据访问时如何控制超时

超时分类 超时根据作用域可做如下层级划分: Transaction Timeout > Statement Timeout > JDBC Driver Socket Timeout Transaction Timeout指一组SQL操作执行时应在设定的时间内完成(提交或回滚),否则将引发超时.它的值应大于 N(语句数) * Statement Timeout Statement Timeout指完成单条SQL语句执行的最大允许时间.它的值应小于JDBC Driver Socket Timeou

基于ARM处理器的反汇编器软件简单设计及实现

写在前面 2012年写的,仅供参考 反汇编的目的 缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码.设计思想及理念, 以便复制, 改造.移植和发展: 从源码上对软件的可靠性和安全性进行验证,对那些直接与CPU 相关的目标代码进行安全性分析: 涉及的主要内容 分析ARM处理器指令的特点,以及编译以后可执行的二进制文件代码的特征: 将二进制机器代码经过指令和数据分开模块的加工处理: 分解标识出指令代码和数据代码: 然后将指令代码反汇编并加工成易于阅读的汇编指令形式的文件: 下面给出个示例

基于ARM的指纹识别门禁系统设计方案

现代社会高速发展,很多场合需要身份确认,传统的身份识别技术已经不能满足社会要求.人的身体特征具有不可复制性,因此人们开始研究生物识别技术,而指纹具有唯一性.终生不变性.难于伪造等特点,安全性高,因而得到了广泛应用.在一些机要部门,如银行.宾馆.机房等一般都安装有门禁系统,门禁系统是为保障人们生活.工作及财产安全, 对重要通道的出入口进行管理与控制的系统,基于指纹识别技术的门禁系统是一项高科技安全设施,提高了系统的安全性.ARM作为一种嵌入式系统处理器,具有高性能.低功耗.低成本等特点,因而在工业

基于ARM的SoC设计入门[转]

原文:基于ARM的SoC设计入门 我们跳过所有对ARM介绍性的描述,直接进入工程师们最关心的问题.要设计一个基于ARM的SoC,我们首先要了解一个基于ARM的SoC的结构.图1是一个典型的SoC的结构: 图1从图1我们可以了解这个的SoC的基本构成: ARM core:ARM966E AMBA 总线:AHB+APB 外设IP(Peripheral IPs):VIC(Vector Interrupt Controller), DMA, UART, RTC, SSP, WDT…… Memory bl

社会友谊和人群移动:基于位置的社交网络中的用户移动(一)

原文标题:Friendship and Mobility: User Movement In Location-Based Social Networks 作者单位:斯坦福大学    发表日期:2011年 会议:第十七届 ACM SIGKDD 国际会议--知识发现和数据挖掘 引用:Cho E, Myers S A, Leskovec J. Friendship and mobility: user movement in location-based social networks[C]// P

基于PHP采集数据入库程序(二)

在上篇基于PHP采集数据入库程序(二) 中提到采集新闻信息页的列表数据,接下来讲讲关于采集新闻具体内容 这是上篇博客的最终数据表截图: 接下来要做的操作就是从数据库中读取所需要采集的URL,进行页面抓取就行 新建一个content表 不过需要注意的一点是,不能再采用采集URL这种id递增的方法去采集,因为数据表中可能出现id断续,比如id=9,id=11,当采集到id=10的时候,URL是空白的,这样可能会导致采集到了空字段. 这里用到的一个技巧是数据库的查询语句,在我们采集完第一条数据的时候,

DreamHouse项目(基于ARM与ZIGBEE技术的智能家居)之项目展示

这是本人做的一次有关智能家居的项目,仅是用来参加比赛的!或者是我用来练手的吧!大概花费了我近2个月的时间来完成他,平台是建立在博创S3C2410的嵌入式的箱子上的,我觉得我唯一没有足够自信说是自己写的代码的话就是驱动部分了,毕竟当时的状态也是刚刚把单片机的知识全部学会罢了,因为这是基础中的基础,对于C语言,在校的学生普遍是没有完全掌握的,对于开发真的知识储备确实不够!好吧废话我不多说了,先讲讲我自己做的项目吧!学生的练手项目,大家应该不会来喷我吧! 上图先! 通用模块 我本人真的是没有做出来,但

流式数据中的数学统计量计算

在科技飞速发展的今天,每天都会产生大量新数据,例如银行交易记录,卫星飞行记录,网页点击信息,用户日志等.为了充分利用这些数据,我们需要对数据进行分析.在数据分析领域,很重要的一块内容是流式数据分析.流式数据,也即数据是实时到达的,无法一次性获得所有数据.通常情况下我们需要对其进行分批处理或者以滑动窗口的形式进行处理.分批处理也即每次处理的数据之间没有交集,此时需要考虑的问题是吞吐量和批处理的大小.滑动窗口计算表示处理的数据每次向前移N个单位,N小于要处理数据的长度.例如,在语音识别中,每个包处理