包云岗 。《数据中心与黑客帝国》(下)

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




 

包云岗:中科院计算所副研究员,主要从事高效数据中心(ResourceDfficient Datacenter)体系结构与系统性能评测分析方面的工作。个人主页: http://asg.ict.ac.cn/baoyg/ ,新浪微博: @包云岗。

大概在2012年夏天,那时我还在普林斯顿大学,思考过如何从计算机底层的体系结构入手支持资源管理,消除计算机硬件层次上的“无管理的共享”。当时普林斯顿计算机系有好几位教授正在开展软件定义网络SDN方面的研究,也邀请很多大牛来做报告,比如SDN主要发起人之一、UC Berkeley的Scott Shenker教授等。平时和朋友也经常会聊起一些SDN的技术问题。网络早就面临着多业务共享与服务质量的问题,因此QoS技术(如区分服务)也相对比较成熟。而SDN则可以通过标识网络包、增加控制平面、增加可编程机制使网络管理变得更灵活方便。

当时就有一个想法——“其实计算机内部也是一个小型网络,那是不是可以将SDN技术借用到计算机内部呢?”于是写了一个5页的备忘录,题目叫《Software Defined Architecture:The Case for Hardware-EnabledVirtualization》,就搁起来了。2012年10月份回到计算所后组建了一个小团队。所里很开放,让我自己选择研究方向和内容,于是我把在普林斯顿的想法拾了起来。但那只是一个很粗略的想法,我们经过大半年的调研与摸索,不断调整目标与技术路线,在2013年中有了比较清晰的思路。我们将这个思路凝练为一种新的计算机体系结构,叫“资源按需管理可编程体系结构PARD(Programmable Architecture for Resourcing on-Demand)”。

仍然用城市交通作为例子,PARD体系结构的核心设计理念其实很直观且易于理解:(1)将车辆根据不同的用途进行涂装并安装鸣笛,救护车是白色加红十字涂装,消防车涂装等(对计算机内部流动的数据包贴上标签);(2)在一些关键路口设置红绿灯,在加油站、维修站等服务点设置管理装置(在计算机内部关键位置增加控制平面);(3)制定交通规则,红绿灯对救护车、消防车等关键车辆可以随时放行,而其他车辆则需要等待绿灯放行,而那些服务点也是优先服务那些关键车辆(根据不同标签来区分处理数据包);(4)交通规则可由管理部门根据需要进行调整,比如道路上新出现一批武警巡逻车,就为它们设立一些管理规则(管理员可以调整处理规则)。

事实上,我们日常的交通管理正是采用了这些理念。只要执行严格到位,这样的交通管理系统能在保障救护车等关键车辆顺利通行的前提下提高道路利用率。而PARD体系结构也正是希望通过相同的设计理念实现计算机内部高效灵活的资源共享与性能隔离,从而在多种应用混合的数据中心环境下,能在保障关键应用的服务质量前提下提高资源利用率。

假设PARD技术被验证是可行的(也很可能是不可行的,因为还有太多不确定的未知因素,所以还需要更深入的研究),那么将会有很多新的应用场景。比如对于云计算,可以做到做到更有效的分级服务管理,类似于航空公司的VIP服务,有的愿意多交钱,享受更稳定的服务质量,甚至是一下特殊服务,比如硬件提供的加密或压缩服务。

目前PARD第一阶段软件模拟器验证已经初步完成,还在进行第二阶段FPGA原型系统验证,有了进一步进展后希望能跟大家汇报交流。

最后,简单聊几句另一个Matrix,即《黑客帝国》。我想《黑客帝国》设想了一种场景从技术框架上是可行的,今天的云计算模式其实正是朝着这个方向发展。数据中心就像是“母体”。在《黑客帝国》中,所有人都会接入到母体中,在虚拟世界中工作生活。而如今,我们也是通过各种移动设备接入到数据中心,越来越多的时间是在数据中心上度过的。就如我们刚过去的一个多小时,就是在腾讯的数据中心上度过的。等到哪一天,我们的脑机接口有突破,人们不再需要手机这种“原始”的设备,而是可以直接通过大脑来接入数据中心,那么《黑客帝国》中的场景可能真的会成为现实。谢谢大家!

(1个打分, 平均:5.00 / 5)

雁过留声

“包云岗 。《数据中心与黑客帝国》(下)”有5个回复

  1. guo 于 2014-09-28 7:29 上午

    saisei networks called “network performance enforcement” with viewer/host/command to program the QoS of network,
    one of internet father is consulting for this company, with some ex-cisco IOS director.

  2. Matri 于 2014-09-29 11:53 下午

    感觉和交通比起来不太恰当,救护车消防车在车辆总数中比例非常低,而核心应用产生的数据请求的数量的比例远大于非核心应用,就相当于马路上有大量的救护车和消防车在走,其他车得等待,核心应用长期霸占资源,其他应用根本跑不起来,这个只是一个个人想法,可能你们已经考虑到了~只是不解

  3. Passer 于 2014-10-07 8:20 下午

    感觉方向有问题。。。专用系统利用率高,通用系统利用率低,这是常识。搞一套管理系统,实际上就是通用系统特化了,即使能提高利用率也没有什么意义,因为通用性降低了。

  4. 冬瓜头 于 2014-10-20 3:12 上午

    包老师的文章要精读。斗胆请教一下,QPI、HT、PCIe,或者一些内部总线中,似乎已经存在virtual channel,traffic class的QoS机制,只不过多数实现只使用2个或者只1个vc。不知道PARD与这些实现的目的、机制有何不同?优势?

  5. 冬瓜头 于 2014-10-20 3:17 上午

    我想包老师是要做成一个端到端的QoS,从OS里为各种应用的对象,包括内存空间、存储空间,生成标签,然后在CPU内部和外部总线,一直到存储,实现数据访问的端到端QoS。