包云岗老师,CCF理事,2016 CNCC大会的特邀嘉宾,于2003年获南京大学理学学士,2008年获中科院计算所博士学位,2010-2012年普林斯顿大学计算机系博士后,现为中科院计算所研究员,博士生导师,先进计算机系统研究中心副主任。研究方向主要是计算机系统结构。包老师在国际一流计算机系统会议期刊发表了10余篇论文,曾两次获计算所优秀论文一等奖,获2013年CCF-Intel青年学者奖。同时担任CCF普及工作委员会主任,《中国计算机学会通讯》编委。
当前云计算面临着一个世界级难题:资源利用率与用户体验之间的矛盾。那么问题来了,鱼与熊掌是否可以兼得,答案好像并不是那么简单,就连Google、百度、阿里这样的科技巨头也都为之头疼。我们有幸采访到CCF理事、中科院计算所研究员包云岗老师,包老师在2016 CNCC大会上的报告:云计算与标签化冯诺依曼体系结构,中提出的标签化冯诺依曼体系结构(LvNA)将有希望解决这个难题,成为计算机科学领域的一个新突破。
包老师:其实,云计算背后的英雄是数据中心(data center)。国内常将数据中心理解为存放数据的地方,这是对数据中心的错误认知。在国际上,数据中心是指一种超级计算机,例如Google称数据中心为“Datacenter as a computer”,最终目的是使用户或开发者像利用一台计算机那样便利地使用数据中心。要做到这一点,背后需要非常多的技术,Google在这一块儿已经用了10年的朝这个方向努力,究其目的是希望使数据中心的运用变得更为便利,运行成本更低。所以,我们不能简单地将数据中心看做存放大数据的地方。
在英特尔看来,未来将进入数据中心时代,更具体地讲,未来会呈现两种模式,计算一部分放在手机移动终端或物联网的物端,另外一部分将放在后方的数据中心里。在数据中心上面将运行各种各样的应用,如可以在数据中心运行云计算,大数据分析,高性能计算如HPC,各种网络功能如NFV。在未来,数据中心将变成一种最基础的基础设施,很多后端的应用都可以在数据中心上实现。
现在,大家对数据中心的理解有些片面,所以数据中心所遇到的挑战就被大家忽视了。事实上,互联网用户体验与数据中心的技术与性能是密切相关的。 例如,我们在手机上按一个按钮,微信上点一个帖子,大概有一半的时间都耗费在数据中心里面。然而,我们现在的数据中心尚存在这样一个难题:没有办法同时保证用户体验与资源利用率(具体来讲为CPU利用率)。如果提高资源利用率,用户的体验(响应时间)就会下降。就像马路的交通一样,如果使很多车辆同时在路上行驶,马路的利用率被提高了,但是人们的出行体验就会降低了。
包老师:我认为,认识到这样一个难题有一个传递的过程,这个问题最早是在Google遇到的,当云计算或数据中心的发展达到一定规模时,这个问题才会体现出来,很多企业现在其实还没有达到这个阶段。这是一个需求传递的过程,Google 很早就发现这样的问题,已在着手处理这个问题,并呼吁需要体系结构创新与硬件支持。国内百度、阿里,华为这些领先型企业已经开始投入大量的技术试图解决这个难题,再过几年,会有更多的企业关注这个难题。目前,这个问题还是比较前沿的。
(注:在采访过程中,包老师将这个问题调整为:标签化冯诺依曼体系结构(LvNA)是如何提高数据中心服务器的CPU利用率的?)
包老师:其实这个问题不太恰当,因为普通用户很多时候不会去关注手中的手机,笔记本电脑CPU的利用率有多高。但是,像微软,Google这些大公司会非常关注CPU的利用率。CPU利用率低这个问题更多是从数据中心的角度出发的。
当前面临这样一个矛盾:一方面,建立一个数据中心的成本非常高。如阿里在张北建立的数据中心耗资180亿,微软现在在全球数据中心上的投入有300亿美元,Google仅在2014年一年内在构建数据中心基础设施方面的投入高达110亿美。另一方面,数据中心CPU的利用率极低,例如亚马逊拥有几百万台服务器,投资达几百亿美元,但是,几年前一份报告揭示其在数据中心上运行的云计算业务CPU利用率只占百分之十几,相当于百分之八九十的利用率都被浪费了,但这样能保障较好的用户体验。
过去几年,这些大公司已投入了大量精力来应对该问题。Google为了解决这个资源利用率与用户体验之间的难题,对数据中心整个软件栈进行优化,从底层虚拟化、操作系统,到上层分布式架构。但2015年美国工程院院士、google的数据中心专家Dick Sites在多个报告中承认,在一个共享的服务器上实现程序间的性能隔离真的很难,Google在软件优化上已经尽力了,亟需硬件支持。
我们提出标签化冯诺依曼体系结构(LvNA),希望能够从硬件层面为解决上述问题提供关键技术。用交通做类比,LvNA就是希望能够在马路上已经很拥堵的情况下,还可以保证很关键的车辆(好比一些要求非常高的应用)能够顺利通过。通过运用标签化机制,增强这种控制机制,即使在提高CPU利用率的情况下,依然能够保证用户要求体验效果高的一些应用高速运行。
其实,我们的生活中也存在标签化机制。在马路上,我们会看到救护车、消防车,警车、私家车等涂装是不一样的,这就是一种标签化机制。然后,我们有相关的交通规则,能够保证这些车,比如救护车、消防车、警车在鸣笛时,其他车辆让行,如果大家都遵守这种规则的话,便能够在紧急情况下保证这些车辆顺畅通行。
我们就是想要把交通规则应用到计算机体系结构中,为一些关键的应用加上标签,并制定相关通行规则,保证用户体验要求非常高的一些应用先通过。这种情况下,能够保证提高CPU利用率的前提下,一些关键应用不会受到影响,从而实现共享硬件资源的按需分配与性能隔离。
包老师:实际上,每一种硬件提出之后都需要相应的软件来适配,需要软件将这些硬件的功能发挥出来。通观计算机系统的发展史,几乎都是硬件提供新的功能,软件随后发生相应的改变。当计算机体系结构带了标签后,能够通过标签实现性能隔离,增强控制,这样之后,软件也需要进行相应的调整,即要求软件能够与所设定的标签关联起来,如该打什么样的标签,如何根据不同的标签制定不同的规则,这就是我们通常讲的软件定义。
包老师:这种新架构的核心优势在于能够增强计算机软件对体系架构的控制能力。原来一些应用在计算机内部的资源利用方面呈现一种无序共享状态,就像马路上的车辆不遵守交通规则一窝蜂地通行一样,这样会降低资源利用率。传统的体系架构没有太关注这个问题,而事实上,这是数据中心里存在的一个非常核心的问题,倘若这个问题得不到解决,整个数据中心的资源利用效率将大大降低,成本将变得很高,用户的体验也无法得到提升。我们提出这样一个新体系架构是从问题出发的,针对数据中心当前面临的这样一个严峻的问题,经过分析、调研之后,发现问题的症结所在——无序共享,然后慢慢解决这个问题,最后,经过总结才提出这个新架构——标签化冯诺依曼体系结构。
学术界与产业界都非常关注这种新架构,包老师有信心未来标签化冯诺依曼体系结构将为计算机服务器研究与应用带来革新。
本文由雷锋网独家编写,未经许可拒绝转载!