Facebook打造高密数据中心 启用Tilera

脸谱网站可能从不认为自己是一家社交网络公司,但是对于业界新贵-服务器处理器制造商Tilera来说,社交媒体巨头脸谱公司内部用来执行Memcached工作负载的至强和皓龙处理器相对Tilera来说确实是种暴利。

  脸谱网站可能从不认为自己是一家社交网络公司,但是对于业界新贵-服务器处理器制造商Tilera来说,社交媒体巨头脸谱公司内部用来执行Memcached工作负载的至强和皓龙处理器相对Tilera来说确实是种暴利。

脸谱公司在美国佛罗里达州奥兰多市召开的国际绿色计算大会上带来的Memcached性能说明书详细介绍了脸谱公司是如何对目前搭载TilePro64多核处理器与配置英特尔至强处理器和AMD皓龙处理器的标准服务器进行对比测试的。

Tilera, SeaMicro和Calxeda等公司一直以Hadoop大规模数据计算和Memcached Web高速缓存来宣传微服务器,但在提及运行这些分布式工作负载时,由功能强大的大型处理器核心所承担的超大规模互联网工作负载并不总是像智能互联网和核心设计那样重要。

研发了高密度集群(基于双核64位凌动服务器,一个10U机箱中容纳了768个核心)的SeaMicro公司最近展示了这个服务器集群某些Hadoop离散数据计算的能力,并与搭载至强处理器的服务器性能进行了对比。他们用于测试的SM1000服务器运行的是真实世界的Hadoop工作负载,成本比至强服务器集群的费用降低了大概25%,机架占用空间仅为至强服务器集群的四分之一,能耗也仅为至强服务器集群的四分之一。

Memcached由Danga Interactive在2003年作为分布式网络高速缓存而创建,可以用来存储主存中的数据并使用网络服务器和应用软件。Memcached曾经被称作是key-value store,目前只有由脸谱,推特,Zynga, YouTube, Reddit, Flickr和一系列超大规模互联网公司用来为数百万用户提供数据,无需等待硬盘来完成这项工作。

Tilera公司的云计算应用软件总监Ihab Bishara在接受采访时表示”众所周知脸谱公司是Memcached的霸主,就我们目前掌握的数据来看,他们运行着世界上数量最庞大的Memcached服务器。他们是我们在过去一年半时间来主攻的一级用户”。

Bishara没有谈及有关脸谱公司的服务器计划或者脸谱公司是否已经安装了由Tilera旗下的Quanta Computer制造的Tilera服务器。当然Quanta是一家台湾的个人计算机和服务器制造商,他们刚刚和脸谱公司结成联盟,帮助脸谱公司制造他们自己的开源开放式计算服务器,这些服务器已经在于今年四月在脸谱公司位于俄勒冈州Prineville的数据中心投入使用,预计今年夏天英特尔和AMD推出最新的至强E5和皓龙6200处理器之时进行升级。

脸谱公司在Quanta QS2机架服务器上进行了Memcached测试,也就是大家所熟知的QSSC-X5-2Q,在一个2U机架式机箱中配置了8个处理器,核心总数达到了512个。

每个处理器作为一个单个的节点使用,因此Quanta服务器确实是一款8节点的微处理器。32位TilePro64处理器中的四个核心被分配给LINUX操作系统使用,剩余的其他60个核心用来运行Memcached工作负载。由MIPS体系架构派生出来的核心频率为866MHz,有互相连接的网络来连接核心内部的内存和输入/输出。TilePro64服务器节点的主存容量为32GB。

脸谱公司选择搭载Tilera处理器的Quanta服务器与配置主频为2.27GHz的英特尔四核至强L5520处理器和主频为2GHz的8核皓龙6128HE处理器的不同服务器进行对比。这两种X64处理器都是低电压,低功率。脸谱公司在32GB主存的单路1U机架式服务器和64GB主存的双路1U机架式服务器上分别进行了测试。

所有这三款机型运行的都是2.6.33 kernel和Memcached 1.2.3h的CentOS Linux操作系统。

脸谱公司的性能说明书中包含了非常详细的Memcached性能信息,描述了TCP和UDP协议对这些不同机型的性能是如何造成影响的,但是下面的图示是这些机型最直观的写照:

  图示:皓龙,至强和Tilepro64服务器上的Memcached性能

  正如你所看到的,X64服务器在执行Memcached扩展时,每秒钟传输的能力并不是非常出色。举例来说,在皓龙采取上,超出四个核心却是会影响到性能,要增加一个二级中央处理器来保证精确。

至强处理器的表现要好一些,但是也需要增加一个二级处理器来加以辅助。最好是扩展到多个单路皓龙或者至强节点-就像Quanta用Tilera处理器所做的那样。

但是很显然的一点是,至少与低电压低核的皓龙处理器和至强处理器相比,拥有30个核心的TilePro64处理器可以满足或者胜过这些X64处理器的性能。专用于Memcached的60核TilePro64处理器则完胜X64处理器。

显然英特尔和AMD处理器比这些处理器要更加现代。但Tilera处理器刚刚推出Tile-Gx 3000系列的64位36核处理器,最终最高可以扩展到100核心。

性能只是公司吸引脸谱的一个方面,耗电和散热(两者同样重要)物理体积和成本也是脸谱要应对的问题。脸谱公司在他们的性能说明书中对电源使用也做了说明。根据所测试机型所预估的性能,以下图示是各个机型的耗电情况:

  图示:Tilera 和 x64服务器的性能和能耗

  根据这些测算结果,脸谱公司推断出构建256GB的Memcached集群需要多少节点,然后从性能和能效上来看,Tilera处理器也超过了英特尔和AMD的处理器。

搭载TilePro64处理器的8节点Quanta服务器每秒可以处理268万TPS,耗能462瓦,每瓦性能为5801TPS。四节点皓龙服务器集群执行Memcached工作负载时每秒可以处理66万TPS,耗能484瓦,每瓦性能为1364TPS。四节点至强服务器集群(主存总容量为256GB)比皓龙处理器的表现的出色一些,每秒可以处理75.2万TPS,耗能也要低一些,为400瓦。但是这种四节点至强处理器每秒的性能只有1880TPS。还不到TilePro64处理器服务器每瓦性能的三分之一。

综上所述,与4U的X64服务器相比,TilePro64处理器最高只需占用2U的使用空间。

单点故障的可能

上次说到使用Memcached来存储session,这样就可以不用Tomcat的session同步机制(因为Y这么多年居然一点没变化过),直接做http的负载均衡,前端不管用硬件还是软件实现,系统结构都会显得更为简单,但是一直觉得,依然存在单点故障的可能,想想还是画个图比较清晰,画了几遍,如果除去Cache Cluster,那么木有单点故障的最小结构至少需要服务器十台,当然,我画的是理想化状态,Memcached的logo真TM恐怖……这样的结构,应该不会再有单点故障的可能,而且扩展起来也是很方便的,堆服务器就是了。