技术
首页  >  大数据  >  大数据专题

ODCC天蝎3.0项目经理、腾讯服务器架构师王伟:解读天蝎3.0愿景

2015-11-06  来源:中国信息产业网  作者:

CNII网讯 11月5日,2015开放数据中心峰会在北京国家会议中心举行。本届峰会由开放数据中心委员会(ODCC)主办,阿里巴巴、百度、腾讯、中国电信、中国移动、中国信息通信研究院、英特尔等单位承办,是国内在数据中心领域的一大行业盛会。会议由上午的主论坛和下午的五个分论坛构成,分论坛的主题分别为天蝎整机柜、新型服务器、模块数据中心、数据中心网络、行业数据中心技术发展与运维。ODCC天蝎3.0项目经理、腾讯服务器架构师王伟出席会议并发表题为“解读天蝎3.0愿景”的演讲以下是演讲内容实录。

ODCC天蝎3.0项目经理、腾讯服务器架构师王伟

王伟:很高兴在这里跟大家一起分享一下我们未来对天蝎3.0的一些畅享,还是愿景阶段,很多还是在规划和概念阶段。

今天上午家军说了一句话,天蝎未来的节奏是标准、资源池化,再标准、资源池化,未来天蝎每做一次架构演进,之后我们都会做更深层次的标准化和定义,使硬件能够更加开放和标准。天蝎的历史就不再重复讲这个故事了,我只是在技术上跟大家重申一下天蝎从早期给传统服务器做的技术改进。天蝎1.0的时候我们可以理解为在架构上对电源和风扇进行了资源池化,形成了共享的电源供电和共享的风扇墙。一来可以有效提升电源的转换效率,二来是可以减少风扇的数量和风扇本身造成的功耗,所以上午我们也看到家军给大家提到,天蝎1.0在TCU上给大家带来10%到20%的受益。2.0对天蝎的整个服务器节点和更细致的内部的软件和硬件的定义做了更加标准化的详细的描述。到了3.0,我们希望进一步对传统服务器内部的部件进行资源池化,我们1.0已经把电源风扇拿出来了,服务器内部还有很多部件可以拿出来,CPU、内存、硬盘、网卡,甚至你插的GPU卡,从技术上来讲都是可以把它解耦开的。但是并不是任何一个技术都具备成熟性,到了去年和今年这个时代,我们发现现有的技术已经可以比较好的支撑我们把外围的这些设备包括硬盘、SSD、网卡、GPU等等这些卡都能解耦开。从今年我们启动了天蝎3.0项目,希望能够把我们服务器内部的外围设备都能够解耦开。是不是能够把内存解耦开,这个行业上还有很多技术难点,这里更新了一下整个目标,对于高速缓存和解耦的计划可能会放在天蝎更长远的目标版本中去规划设计。为什么要研究天蝎3.0,是不是因为一群技术宅希望打个伙研究一些技术,满足一下自己的私欲呢,并不是这样的。互联网跟电信运营商,尤其是互联网一直以来并不是走在技术上最前沿的地方。过去二十年到三十年,推进整个行业硬件工程化向前走的是电信行业,我们都熟知的贝尔实验室,那里为整个世界工程技术的发展带来非常多的创造和创新,都已经先行在电信领域落地了,我们只是把这些成熟的领悟拿来在互联网上使用,来解决我们互联网公司所面临的一些问题。为什么做天蝎3.0,其中一个原因就是因为一直以来互联网的这些企业他都有很多种业务和工作负载,传统用一种机型满足各种业务,就造成资源浪费。现在一种简单的做法和长期使用的做法是定制化,会根据不同的业务负载来配置服务器机型。随着业务负载的增加和变化,机型数量会越来越多,这给整个大规模数据中心的运营、备件的准备、故障的分析和定位以及单位服务器采购的成本都带来一些压力。在服务器基础侧可能要考虑做适当的归一化,来减少不必要机型的形态。但是归一化和资源利用率之间总是存在一些矛盾,一般就会权衡一种模式,采用尽量少的机型来满足尽量多的业务,但是一定会存在某些业务某些部件资源利用率不高的现象。我们看到公有云现在对CPU利用率非常高,但是它的硬盘利用率非常低,低到连一半都没有用到,我们大量给客户分配的这些硬盘资源,他其实根本用不到,但是你必须要在初始配置上给用户留着,这样实际上造成了大量的成本浪费,而且还浪费了功耗,因为这个硬盘无论你用1%还是100%,它都要占7到12w功耗。这就是现在我们看到的传统机型的定制化在资源利用率上的一些问题,另外随着公有云的快速发展,发现公有云在机型的多样化上,它的痛点会更明显,它不像传统我们满足内部业务需要的时候,一个业务需要一种机型,你可以从早期的定制到业务的测试验证,再到供应商的交付,这个周期可以容忍你有2到3个月的时间。但是像腾讯云、阿里云、亚马逊等等这些公有云的客户他们不可能等你两三个月,云用户要求更加弹性的更加多样化的配置,以我们现在固定配置的服务器机型或者少量的机型配置,势必会造成资源浪费或者是无法快速满足云客户的要求。所以我们这才会启动天蝎3.0的研究,3.0研究也是面向互联网等一些我们用户所面临的问题而发起的。

下面我们用一张图简单来看存储池化能给我们带来什么价值,下面这张图,左边是传统的方式,三种业务,可能是因为存储的容量不同,它可能需要不同的硬盘数量,因此需要准备三种机型。我的运营团队就需要熟悉这三种机型的差异,备件的时候需要供应商提供做这三种机型的备件。整体来讲运营复杂度和成本都会增加。如果我们能够实现存储池化,我们把这三种服务器的通性的部分抽出来,他们的CPU和内存都一样的,我们只需要两种服务器,就是一种简单的计算节点,有CPU内存和网卡,他们的硬盘全部形成一个共享的存储池,在业务需要时,根据业务需要的存储容量,再生成一个逻辑形态的服务器,这样不仅可以很好的满足业务对存储的容量和性能的要求,也可以大大减少我们服务器运营的复杂度和成本。这张图实际上是展示出来我们对天蝎3.0或者未来天蝎4.0或5.0的期望,我们希望未来整个服务器内部所有的部件全部都能够资源池化掉,除了风扇、电源、存储、I/O、异构计算,甚至内存,全部形成独立的资源池。在实际的运营和部署交付的时候,根据业务负载的特点,来创建出不同的服务器机型。如果我们的架构做不到让应用软件无感知,这种资源池化的架构实际上是很难进行推广的,所以说在3.0里面我们有一个很强的诉求,无论你硬件怎么变化,一定要确保上面好的硬件软件是没有感知的,你一定要做一层软件来屏蔽差异。

总体来看,天蝎3.0通过资源池化给我们带来的价值是什么,三个词,一是能大大提高服务器配置的灵活性,可以满足不同的业务实时交付的需求,另外一种是可以大幅提高服务器内部资源利用率,随之而来的就是能耗的大幅降低,能耗概念,节能减排一直是我们天蝎项目ODCC项目的宗旨,我们看到天蝎最早的图表,现在还在延用的都是图表,我们看到什么,中间不是那根草,是两片绿叶,就是说我们未来的数据中心要绿色节能环保。降低能耗一直都是我们ODCC和天蝎的宗旨,我们一直围绕这个方向和目标来进行我们架构的优化。

要实现天蝎3.0的架构,其实有很多技术挑战,我们经过半年多的讨论总结下来,目前来看最重要的两个技术挑战就是互连和软件,互联因为你把所有的部件从服务器内部拉远之后,它会增加对这些共享资源访问的需求,带宽也会有更大的要求,时延也会有更低的要求,所以说互联的Fabric是天蝎3.0里非常重要的课题。另外一个是管理软件,应用软件尤其是操作系统,需要看传统的服务器,必须在运行过程中,在部署的时候来临时的创建逻辑服务器,对这些资源实时的监控就需要一套软件来实现。天蝎3.0后续会重点在互连和管理软件上做更多的研究。当然,资源池化之后服务器节点的设计也会发生变化,有些计算节点、存储节点的设计跟以前传统节点的设计有比较大的变化。因为增加密度和降低功耗一定会增加对供电的需求,所以微量整机柜的供电部分也可能会有一些细微的变化。总体来讲,天蝎3.0还是要遵循一条,对现有2.0的架构做尽可能的兼容,尽可能的重用复用。

下面简单从互连和管理两个挑战上跟大家介绍一下天蝎3.0后续需要做的一些主要工作。我们总结下来,天蝎3.0的互连上,大概是三个概念,第一个概念,管理面和数据面分离。其实现在的天蝎1.0、2.0上有一个非常简单的平面,对传统的服务器节点和电源风扇进行实时监控和管理。但是随着资源池化概念的提出,我们需要对更多的共享资源做实时的监控和分配回收等操作,我们在3.0会要求增加一个独立的管理的平面,而且需要使用更高速的互连接口,我们可能会采用百兆或者千兆的低成本的高带宽的互联,来实现管理平面。另外一个是数据平面,你把资源从服务器本地拉走了,服务器CPU跟I/O或者内存之间会有大流量数据的交互,你就需要一套具有更高带宽更低时延的Fabric,我们提出有一套要低时延和高带宽的数据平面。我们又提出两外一个想法,数据平面,因为资源池共享并不是一个机柜内,有可能跨机柜,我们需要遵从分层分级的互连技术要求。一级Fabric可能在机柜内,二级跨了多个机柜之间,一级要求更高带宽更低时延,二级因为跨柜的交换,所以希望有更好的扩展能力。目前看到二级Fabric候选,以太网是比较合适的选择,但是一级的Fabric在高带宽低时延的选择上现在还有不少的选择,列出了一个比较成熟和通用的Fabric协议,一种是最常用的以太网的互连方式,以太网有很多优点,一是它的技术协议非常完善,它的生态也非常健全,因此它很容易来搭建低成本和可扩展的这些Fabric方案。另外一个方案是SAS,SAS也是非常成熟的互连协议,它可以为我们提供成熟且低成本的面向存储的一种互连方式。还有一种是Fabric是PCIE,特点是具有比较大的带宽,而且扩展能力比较强,时延相对比较低,可以原生支持现在所有外围的I/O设备,包括网卡、硬盘、GPU等等。天蝎3.0会在这些Fabric上做更多的研究,我们可能会更倾向于在架构的设计上能够兼容多种Fabric协议。当然其实行业上还有很多非常优秀的Fabric,电信领域定义的这些成熟的标准其实可以给我们天蝎3.0提供很好的借鉴意义。下面画出了一些未来在互连上在物理层上是采用光还是电,以及采用光或者电以后需不需要更高的接口密度等等,这些行业都有非常成熟的技术,我们要做的怎么把这些成熟的技术落地到天蝎3.0的架构设计上,落地到产品中去,中间会有成本、可应用的灵活性等等,这些都不是技术本身的问题,更多取决于我们在运营过程中是不是能够给我们带来更加方便的运营能力。这些课题都会在后续天蝎3.0的项目中进行探讨和方案确定。

天蝎3.0另外个一个需要重点投入的是管理软件,之前大家一直在提,软件定义存储也好,软件定义数据中心也好,未来更多的是软件的变化,你把服务器的这些部件和资源拉远形成池化以后,如何能够实时监控这些资源的利用率,如何对这些资源的释永和回收高效和快速的管理,以及能不能对现有的管理的软件以及跟现有的互联网厂商使用的配置管理、服务器管理等一些软件和流程对接,都是会在3.0的资源管理软件里面完成。这个技术细节我就不展开详细描述了,大概来讲,我们初步想法,资源管理软件分为三个层次,第一个是关于物理节点的管理,第二层是关于资源层次的管理,关于这些资源进行分配、组装服务器、回收资源、资源的利用率情况监控等等,都会放在资源管理层。最底层是策略管理层,会根据业务的需要来创建逻辑服务器,关于这些配置策略等等,是在这一层完成。配置管理层也会提供标准的API给实际上运营的团队使用,来实现对天蝎整机柜自动化管理和部署的需要。

基本上天蝎3.0现在我们能够带给大家的信息主要是这些,后续还有很多的工作会需要去做研究,我们也非常欢迎和希望大家能够参与到天蝎3.0的技术设计和方案讨论中来,谢谢大家。

关键词:开放数据中心