第三届未来网络发展大会

网络全球 决胜未来

当前位置:嘉宾致词> > 分论坛一

数据面

编辑: 共浏览:488次

感谢我们的主办方,感谢我们的朋友,感谢你再次邀请我来。今天我跟大家谈一谈,给大家介绍一下我们实验室跟德国做的一些实验合作。

要建立这样的数据面我们有两个数据,一个叫(英文),还有一个是容器,现在人们更关注容器。这个谷歌有各种各样容器的服务,比如说还有亚马逊还有谷哥还有(英文)他们都有,比如说你到互联网上去购买这样一个容器。这个优势在什么地方?关于容器的优势我会花一些时间,它是非常快速可以进行这样的时裂化,你在几百毫秒就可以启动,这就像电脑启动更快。它的内存足迹也是非常小,它站到100兆比特的空间,是非常高的密度,你可以在同样一个主机上面可以由100-1000个这样一个副本,这样的容器副本。如果你把虚拟机和容器比较一下,虚拟机是比较重的,你可以看这个照片他比较肥大比较笨重,这是虚拟机的情况。

对容器来说这个问题是,好,它的内核的API是非常大,所以很难对这个内核确保它的安全性。这张图这是有一些系统的调用,你可以看到系统调用的数量也是随着时间增加也有增加。(英文)这样一个机器,比如说有400这样一个系统性调用,后来也慢慢增加,后来越来越增加。所以你可能会有很多这样BUG,这样一个问题,这样一个单个一个不安全容器,也可能让在主机上所有其他的容器感染。其实像这样的容器,它其实就是像一个机上运行大的处理器,如果对(英文)攻击,或者(英文)这样一个攻击或者是(英文),这样的攻击。后来人们觉得这样一个容器对攻击来说很容易受到攻击,所以人们更愿意使用这样的虚拟机,因为它更安全。到底怎么做呢?我们是完全虚拟化还是容器呢?在虚拟化当中比如说你有像高级的、超级监督器还有我们硬件等等,全面的操作系统等等。对容器来说你有比如说单个核,然后容器会有切片,其实是一个单核的切片,其实容器就是一个切片。像一个出问题这样一个容器,它其实会让整个系统都出问题。

虚拟化给到你这样一个隔离,但是非常重,但是容器是分得比较清,但是隔离没有虚拟机那么强,有的时候你要喝下毒药,我在这里问的问题虚拟机是不是一定要成为重量的虚拟机是不是可以进行轻量化?其实这个是可以的,我给大家介绍一下UNikerenl,你们知道吗?其实我也不知道,我等下给大家解释一下。你可以看到这里有很多调性,你得到你的库和第三方的应用,问题就是不管什么样的运用,你需要整个核当中一小部分。

这个UNikerenl想法也非常简单,其实有很多地方都是没用的这些代码,这些代码也许有一些BUG可能会带来一些安全问题。我们只是把我们需要运行应用的部分保留下来,UNikerenl其实就是把我们需要东西留下来,其他的不要,我们其实可以看到它只有在我们运行运营当中东西,所以UNikerenl只是最最需要的东西在里面,我们是一种非常优先的一个模式来运行这个壳。

我想要么你是单独优先模式,要么是非优先模式,就这两种模式就行,我们也使用了,我们看一下这样一个UNikerenl是不是能够兑现诺言,能够实现非常好的性能呢?这个是我们进行虚拟化的时间,这是我们机线的情况,就是我们创造这样一个包括这样一个应用流程当中所需要的时间,这就是一个流程的创建。其实几个毫秒可以创造这样一个过程,Docker在这样的容器,其实几百个这样的毫秒完成了这个过程,它其实也不是太坏。还有虚拟机我们完全一个虚拟机它需要多长时间,这是一个(英文)分布器,当然花的时间很多。在这个盒子外面我们有虚拟机它实际上是非常重的一个东西,我们建立的有一些UNikerenl我们目标是对他们实现优化,在其中我们可以看到也实现了UNikerenl的优化,通过这样的优化可以实现这个速度。实际上稍微有点缓慢,创建这个容器的时间有些放缓。

下面一个问题就是,这个速度是否能够提高?如果我们在开发UNikerenl的时候,可不可以把这个性能优化的同时,来降低它的时间提高速度?我们所要构建的就是我们称之为轻制的虚拟系统。为了帮助大家来理解,我快速跟大家介绍一下,就是我的(英文),这是一个虚拟系统实际上。我们有什么呢?我们有(英文)还有这样一个域,还有在UNikerenl上面有虚拟机还有驱动器、虚拟化系统,在那里还有(英文)工具集合,可以帮助我们管理和配置,虚拟机的一个装置。除此以外安装了(英文)以后,最初的时候可以棒正所有的配置是到位,以及系统一个稳定性。另外还帮助我们保住系统中不同通信的情况,除此以外我们还有帮助我们支持这个虚拟机的一些元素,也就是我们(英文)这个平台上的这些设施。我们我们还有(英文)驱动器,在用户运用上可以帮助我们更好运用虚拟机。我们是在驱动器的前端,在前端它起到的作用就是,把这个流量带到传输到后端以及具有优先级的优先的域,然后把这个流量再传输到真实的驱动器。只有(英文)和我们这个设备进行对话。这一点并不是那么重要,但是我们需要提及的就是,在我们虚拟机(英文)的时候,我们首先要在设备上、系统上创建(英文)、安装(英文)。我们在虚拟机上发生了什么情况呢?它需要跟我们(英文)进行对话,我们后端(英文)跟我们对话。我们前端虚拟机也需要跟这个(英文)对话,在当天结束的时候发生的情况就是,我们大概有30(英文)的交易,这是在单个虚拟机上发生的一个情况。当然这个是需要花费大量时间,所以我们需要对这个虚拟机进行优化。当然如果我们想要提高这个速度,我们需要做的就是,把这个(英文)给去除掉,寻找新的替代物,我们取得了一些进展,具体内容我不过多详细接受,但是我们开发了一些系统,可以取代我们(英文),这个是可以帮助我们实现更好的通信对话。

我们做了什么工作呢?我们重新对系统进行了评价,然后进行了改进和改造。我们开发了不同的五种UNikerenl尽量都是最简版。实际上仅有UNikerenl解决不了问题,所以我们要有基本配制,我们有(英文)服务配置,它可以帮助我们和时间进行一个响应。我们UNikerenl还有一个TLSUNikerenl,它的工作就是可以帮助我们实现代理。具体样本尺寸是怎么样的?大家可以看到在白天的时间,在这个磁盘上它大概不到500个KB,在这个(英文)上面,这个磁盘上的容量是三点几个MB。TLS稍微大概大一点,在这个磁盘上不到4个MB。我们做了大量的试验工作,我们做增加了VM运行时间、运行次数,我们把这个实验的结果和在DOcker进行对比。我们创建了成千上百的数据,大家可以看到这个(英文)内容不足,这里面大概有3000个容器左右。大家可以看到在另外一方面我们这个(英文)可以创建大概8000个,我们这个其实是可以继续做下去,但是我们觉得无聊没有往下做。

我们虚拟机在这个过程当中实现了完全的一个隔离,这个是毫无疑问没有可以妥协的地方。我们这个LightVm可以在十秒钟进行完成,我们可以对我们规模进行快速的发展。UNikerenl如果使用一个改进的(英文)它的速率实际上是更快,以及重量也是更轻的。

我总结一下UNikerenl一个潜在优势,我们这个实力化的速度更快,然后这个环节的时间也更快,实际上这个时间可以缩短,为几个毫秒,或者更小。另外我们对于内存的要求比较低,只需要几个GB,这个是在单个服务器上的要求。除此以外也非常好的一个方面就是我们这个可以实现高密度的一个服务。我们测量过,我们每秒可以实现4个GB在Lightvm上实现的,是单个用户CPU上,是再一个CPU、Lightvm,一千到一百个lightvm。我们降低了受攻击的面,因为我们有内置了专用的内核。我们这个计算机的可信度更高,另外我们(英文)可以实现更好的隔离。我们可以通过内核进行重新配置,帮我们构建一个体积更小的规模。

UNikerenl它是最完美的方式,大家都想用UNikerenl,当然还是有一些小问题的,当下我们经过我们需要通过一种手段方式安装这种进行优化的UNikerenl。大家如果有兴趣可以找我的博士学生,还有我们其他的一些研究人员,他们正在致力于安装这样的UNikerenl系统。不同的实验室然后不同的系统都是需要进行专门开发来适应我们的需求。具体需要采用怎样的系统,什么样系统的内核?实际上这个是很难确定的。整个编程过程当中需要了解解码、编码,或者是使用这个(英文)来创建每种场景、情况下的需求,对每个应用程序我们需要做的就是,需要对我们这个目标应用程序进行不断的进行反复尝试。这对于研究人员来说这是一个好消息,因为我们只要有问题在我们才有发展的潜力。

我们有一个项目叫UNIKROFT,实际上是开园项目的名称,我们来自欧盟的授权在我们Unikraft项目内,我们要构建这样一个体系,可以帮助我们非专家人士可以在很快的时间内,快速的高效的构建他们所需要的类似于这种虚拟机等等这种系统。无论你的目标体系是什么,你可以通过这个Unikramft这个项目来构建项目体系,我们这个项目的目标就是可以帮我们降低时间,可以帮助我们构建不同目标平台,即使对于容器来说也是可以这样做容器的,隔离并不是一个很大的问题。或者(英文)我们也可以使用UNikerenl,也可以在我们CPU上进行实现。另外我们还可以提供简单的定制化的服务,同时不需要触发我们应用程序的代码。

具体是怎么样做的呢?我们有一个微实验室,我们把这个(英文)参与进来,这并不是一个非常大组成部分,大家可以看到我们有文件系统,所有元件都放在这个体系当中。你可以看到所有这些你需要都在这里,当然这并不是我的目标。过去我们是单一的操作系统,但现在我们要把它和比如说,编程还有其他一个操作系统组队,我想这样会更为可行,这也是我们一个梦想。我想关键就是魔鬼总是藏在细节之中,并不一定是很容易实现的,我们觉得这还是我们未来梦想,当然我们还有我们的微库(音)的一个平台,还有架构我们的平台。我们可以产生两元的代码,在这些架构当中产生,我们想法就是我们这样的应用,可以定一个API可以设置能够生效。我们还有像我们可以进行配置你所需要的库,然后这个系统也是你所需要的,还有最后就是你要做的就是部署,你可以根据不管什么样的目标或者什么样的应用,都可以建立这样的unikraft来运行它。

要做到这样我们要做很多代码的分析,我们现在花了很大的努力,来有这样的应用,然后建立这些工具,是通过这样的一个运算,如果你是有这样的(英文)和经验的话也都差不多,你是需要经历这些过程。比如说你要选出这样的平台,然后目标,然后进行编译,进行这样的一个编辑最后完成。

UNikerenl的目标有很多系统,当然还有五分钟就结束了。我们一个例子就是Python还有(英文)是建立在KVN上面,这个系统并不重要,我们看一下这个,这个KVN是不到1兆比特是非常小的。我们也建立了(英文)Unikraft用在容器上,这个是(英文)的创意,是可兼容的目标,这当然是非常详细的内容到底怎么做。

这里我们所有的就是,这个容器其实要比虚拟机更小,仅仅只有500K这样的大小。我们Unikraft这是我们的现状,这是我们需要的,还有红颜色这是以后的,我们现在有两个团队还有三个团队现在全职在完成这个项目。如果你想加入开园也欢迎你们加入。我们还有很多工作要做,还有一个是非常关键的事情,就是C库(音)很多都以来这样的C库(音)。如果要集成的话还要有这样的语言支持的话,我们其实都需要大家支持。

其中有一个我们想要做的就是,我们希望有更现代的一个版本,这个(英文)这个也是现在还没有完全完成,不管怎么说我们现在也看到了可喜的进步,我们有信心在接下来两年我们会建成这样的系统,比如说像(英文)也会有,我们会建成这样一个非常好的一个可金融一个项目,供我们使用者使用,大家有问题可以提问。

主持人:我们的听众有什么问题吗?我有一个问题,对我来说如果我的理解是正确的话,(英文)定制化的,我们听说过定制化的芯片、定制化的内核,当然是数据在我们一个影象片当中运行,会达到我们芯片当中,像这样的Unikraft你会有这样的(英文),然后运行对吗?这个也取决于这样一个系统调用,你在整个进展中你会调用。如果你漏用,漏了一些调用可能(英文)不会运转下去,这个其实也取决于,这个API的覆盖范围。

Lourent Mathy:我们有一些博士生他们也在研究这个话题,你可以通过数据分析来研究这样一个覆盖情况,当然是针对这样系统调用,我们当然有的时候不一定完全百分之一百保证这样的涵盖,我需要我们的信心,我们覆盖情况还是很好。有的时候有些地方我们还不太确信,我们是不是有一些技术,我们可以有一些代码,这个其实这个代码是要调用系统的调用,但是没有在我们里面,当然是不是我们代码是不是可以自动更新一下,可以有一个请求让它做一下,我们目前不知道如何去做,我们实验室当中也在讨论这个话题,有些人在全职负责这一点。我们(英文)需要更进一步提升和优化,我们这个(英文)也有更进一步优化,比如说(英文)方面的工作。像(英文)也是有非常大的一个代码,比如说我们有的时候,在(英文)超级监督器上做一些工作也是可以,也不一定像我们担忧一样非常严重。我们有的时候不应该去追两只兔子而关注一个问题来解决,所以我觉得这个(英文),我们还不能自动完整一个建造,现在我们还仅仅是集中精力,关注到这一点上。