Facebook公司在近日美国佛罗里达奥兰多市举行的国际绿色计算大会公布了Memcached性能测试文件,文件中对分别搭载TilePro64处理器、Intel Xeon处理器和AMD Opteron处理器的标准服务器进行了性能测试。
Tilera、SeaMicro和Calxeda一直将Hadoop海量数据计算和Memcached Web缓存作为卖点来宣传自己的微服务器产品,可是当遇到分布式工作负载的情况时,性能强劲的大型处理器核心所承担的超大规模互联网工作负载并不总是像智能互联网和核心设计那样重要。
SeaMicro最近发布了基于Atom 双核64-bit处理器的微服务器,此款产品在一个10U的机箱中搭载了768个核心。SeaMicro还展示了此款微服务器组成的集群在处理Hadoop非结构化数据的分析能力。并和搭载Intel Xeon的服务器进行了性能对比。
用于测试的SeaMicro SM1000服务器运行在真实的Hadoop工作负载环境中,成本上要比用Intel Xeon组建的服务器集群低25%,机架的空间占用以及在能耗方面都仅为用Intel Xeon组建的服务器集群的四分之一。
Memcached是Danga Interactive在2003年创建,用作分布式网络高速缓存,同时用来存储主内存中的数据,并使用网络服务和应用程序。它曾被称为key-value store,现在只有Facebook、Twitter、Zynga、YouTube、Reddit、Flickr和一些超大规模的互联网企业使用它,并用来为数百万的用户提供数据而不需要等待硬盘来处理这些工作。
Memcached是一套分布式的高速缓存系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。
Tilera云计算应用总监Ihab Bishara表示,“Facebook在Memcached的应用上绝对具有发言权,就目前我们的数据统计显示,Facebook运行着全世界最数量最多的Memcached服务器。Facebook是我们在过去一年半时间以来在市场最看重的客户。”
Bishara没有谈论有关Facebook的服务器计划或者Facebook是否已在基础设施中部署Quanta Computer(博通公司旗下的Quanta是Tilera的战略投资商)制造的Tilera服务器。
Quanta是1988年由林百里先生创建的一家主要从事PC和服务器的制造商,最近Facebook与Quanta合作以帮助其建造自己的开源、开放的服务器。这些服务器已于今年四月部署在Facebook位于俄勒冈州的数据中心中,同时预计今年夏天Intel和AMD将升级自家的产品,届时两家公司将会分别推出Xeon E5和Opteron 6200。
测试环境
Facebook在Quanta的QS2机架服务器(又被称作QSSC-X5-2Q)上进行了Memcached测试,QS2是一个2U机架服务器,其配置了8处理器,核心数为512。
每个处理器作为一个单一的节点,所以Quanta服务器为8节点的微服务器。TilePro64为32位处理器,其中有四个核心被分配给Linux系统,另外的60核心用来承担Memcached的工作负载。其被广泛认为是MIPS架构衍生出来的,核心频率为866MHz,Tile处理器使用的是网孔配置,在这种配置下核心是以8X8栅格的形式排列的,这意味着核心之间的连接总线非常短并且可以以处理器的时钟频率进行转换。TilePro64服务器节点的主内存容量为32GB。
Facebook将基于Tilera处理器的Quanta服务器与使用主频为2.27GHz的Intel 四核Xeon L5520和主频为2GHz的8核Opteron 6128HE处理器组建的服务器进行了对比测试。以上两款x64处理器都是低电压、低能耗版本。Facebook公司在32GB主存的单路1U机架服务器和64GB主存的多路1U服务器进行了测试。
这三款测试机均运行基于Linux 2.6.33内核和Memcached 1.2.3h的CentOS系统.
Facebook在其公布的性能说明书中详细阐述了Memcached的性能信息。介绍了TCP和UDP协议对不同机器性能表现的如何造成影响。下图是不同机器测试图示。
Opteron、Xeon、Tilepro64 Memcache性能对比
从图中可以看出,当x64服务器在遇到Memcached扩展时,每秒的事物处理能力并不是很好。例如,在搭载Opteron的服务器上,超过四核心会影响性能,需添加第二个CPU来保证处理能力。
Intel Xeon处理器则表现稍好,但是同样需要增加第二个处理器。最好扩展到多个单路Opteron或者Xeon的节点,就像Quanta搭载的Tilera处理器那样。
显而易见的是,拥有30核心的TilePro64处理器要比低电压版的Opteron处理器和Xeon处理器性能更高,而专用于Memcached的60核TilePro64处理器性能则完全压倒x64处理器。
显然,Intel和AMD都有比测试中更快的处理器,但Tilera处理器刚刚发布了Tile-Gx 3000系列64-bit 36核心处理器,同时最高还可扩展到100个核心。
性能只是Facebook选择它的一个因素。同时Facebook也看重能耗的散热(两者同样重要)以及空间和成本。Facebook在性能说明书中还对电源的使用给出了解释。根据参测机型的预估性能,下图是各机型的能耗状况。
Tilera和x64服务器性能和功耗对比
根据测试结构Facebook可以推算出构建256GBMemcached集群大概需要多少个节点。并且从性能和能效两方面来看,Tilera处理器也比Intel和AMD更具优势。
搭载TilePro64处理器的Quanta服务器每秒的运算能力为268万TPS,能耗为462瓦,平均每每瓦性能为5801 TPS。四节点的Opteron服务器集群运行Memcached负载每秒的运算能力为66万TPS,能耗为484瓦,平均每瓦性能为1363 TPS。四节点Xeon服务器(主存储容量为256GB)比AMD Opteron的性能要好一些,每秒运算能力为75.2万TPS,能耗也比AMD Opteron更低,为400瓦。平均每瓦性能为1880 TPS。但是这还不到基于TilePro64处理器服务器每瓦性能的三分之一。
而这一切,TilePro64处理器只需占用2U的空间,x64服务器则需要4U。