P4主席Changhoon Kim:要花费至少4年建立交换机?你可能需要参考P4的可编程性 原创

在2017全球SDNFV技术大会上,P4主席,Changhoon Kim以“P4:开创数据平面可编程时代”为题,发表了主题演讲。

至顶网网络频道 08月03日 北京报道:天地互连、下一代互联网国家工程中心主办的“2017全球SDNFV技术大会” (2017.chinasdn.org)于 2017年8月2-3日,在北京国宾酒店火热开幕。在3日上午的大会中,P4主席Changhoon Kim以“P4:开创数据平面可编程时代”为题,发表了主题演讲。

P4:

 P4主席Changhoon Kim

 以下为现场演讲实录:

Changhoon Kim:大家早上好。今天我代表我们P4的组织跟大家做主题分享。我今天介绍的是,在网络数据层面上,大家如何去管理、管控现有的网络数据。

先提一下简单的几个要点:首先,要构建自己的网络系统,大家有自己的交换机服务,我们还有自己的驱动器,在使用的层面也有不同的应用,不管是OS还是其他的模式,还有交换机驱动层,可以把交换机和硬件连接起来。大家想想如果想采用非常重要的方式,比如2010年的时用的VSLAN虚拟化的模式,以及其他的协议,这样的技术在网络方面进行数据的管理,特别是对于数据交互的运营商来说是非常重要的,我们怎样能够达到这样的效果和特征呢?首先我们需要花四年的时间,真的是四年,因为现在在驱动器方面改造是非常重要的,而且硬件本身需要不同处理包裹的方式、报文的方式,所以需要一些硬件的变动,确实花了四年的时间。而且非常有意思的是,它不是简单的特征或者监控模式,它是非常中央的、最重要的商务模式,这花了四年改变。为什么花了那么久的时间?如果你是网络使用者想把这个网络特征定义出来,想从供货商那儿购货,会觉得有一些软件功能的改变,说要把这个事情推到软件的队伍上,软件的团队又觉得需要几周时间开发,然后又到了ASIC团队,给我三年的时间去完成相应的构件。这就是要想做一些新的设备、新的硬件的话需要花费的时间,整体的架构就需要三年、四年的时间,因为定义相应的硬件和软件的都需要变更。而且为什么需要一些新的特征,这些软件没办法给你进行软件升级,而且新的特征需要几年才能开发出来。这个时候你已经找到了一些相应的方案,可能你已经找到一些新的架构了,可能也会出现新的问题,而且网络也变得越来越复杂,有时候变得更加脆弱,最终当整个升级可行的话,四年完成了之后突然发现你又找到了新的问题,你发现你需要的解决方案不是你需要的,跟四年前的不一样了。即便当时已经起作用了,你还需要进一步的革新和创新。这样的话给你带来的成本更大,而且需要另外两年、三年的时间,再进一步的需变革。所以为什么我觉得现在问题不断的发生,因为网络的体系今天发生的主要是整体向上的结构,现在有主要的就是软件交换机操作系统跟驱动模式,然后大家看一下是不是从另外一个方式去看一下,不管在自己的公司还是在室内,必须有几千、几万多个登记者进行数据的处理。一个公司可能就几千个人,然后你必须要去SCK用不同的方式进行数据交互和处理,在这个层面上是不是要找到另外一种解决方法,这是非常复杂的事情。怎么样去优化自己的系统呢?所以我们的目标就是改变这一状况。

大家是否能够去采用从上往下的一些架构?如果作为一个设备拥有者,你的设备怎么去处理这些包裹?不仅仅是有人自然语言的方式,而且有机器语言的方式。比如P4语言自己去编程,这样的话变成自己的交换机,使自己的编程方式去实现这些架构。所以现在的问题是为什么所有的网络不用从上到下的方式建呢,为什么以前的网络是从底往上的呢?因为传统的架构,就是可编程的交换器大概有10-100,比已经固定的交换器慢了10倍,而且它们需要更多的电能,这个几十年都是正确的。但是就最近发生的事情来说,这个理论已经不成立了。

我们现在已经找到了一些相应的证据:第一个证据,像Tofino6.5Tb/S是非常快速可编程的,它有一定的编程功能,而且它的解决方案是非常灵活的。这是一个非常好的例子。它完全可以编程的,而且耗电量也没那么大。在这个层面上Tofino已经提出这样一些架构,我们也看到它有不同的连接方式,确实是可以实现的。这个快速的简单问题,为什么以前没有发生可编程的交换器,给你15-20分钟都可以具体谈一下这些技术细节,我就不谈了,我想说的是整个行业已经尝试了很多次,大概40年前的以后计算机一开始作为编程的对象,没有人在硬件层面上写自己的应用,没有人写CPU应用层面上,所以我们最早最早的电脑在CPU方面进行编程,然后现在主要是在应用端进行交互,然后通过图像编程,在硬件方面也是这样的,在GPU出现之后,它是最快的芯片,还有没有人想到是否回到以前的编程方式,因为现在很少有人对图像直接编程。看到这个信号处理,因为它们不用CPU,现在有不同的架构设计想要去采用这种芯片进行编程,然后关于网络化的机器学习也有一种编译模式。对于网络方面,语言和编译架构又是怎样的?之前谈到图像处理和计算机编程架构的进化,在网络方面是否能采用P4编译器把程序变成相应的应有,来配置交换机,来实现成本和效益的更好的平衡呢?

另外,我觉得意味着它必须是基于交互式的可应用的层面上,我们称之为P4.Org,因为它完全是开源组织,而且得到的认证。大家知道P4观点灵感主要来自于Google、微软或者是普林司顿和斯坦福大学,包括系统方面和应用目标,包括在不同的层面上,包括从数据层,或是按PG所有的服务方、解决方、提供方的维度来分。除此之外还有其他的解决方案的提供商,当然还有学术研究的人也是其中的一部分。

总结来说,P4的独立性,它的架构,P4工程结合起来能够交互最快的交换机服务,将会为我们带来最好的表现。它的交换速度将是全世界最快的交换芯片。除此之外,我们为大家提供的抽象层是最容易进行操作跟具体编程的。在P4方面我们开始能够做到在二十四小时之内来实现我们的编程,所以这就能够让我们的抽象层变得更加易操作。

下来让我们讲一下什么是P4的可编程性,它是具体怎么实用的呢?我想这是一个非常吸引人的技术,具体我们做的什么呢?就是我想今天讲四点:第一,降低了复杂性。比方说当大家想建立自己的一个交换机的时候,我们可以使用参考的P4语言,然后就可以使用现有的一些特征。大家可以看到在大屏幕上显示,我不再具体细讲,可以以此作为参考。比方说可能大概是有7千行的数据代码来为大家作为参考来写你自己的程序,但是这些其实并不是所有的都用,大家可以从中抽象出一些你所需要的,比方说大家可以建立自己数据中心。我们所需要的就是IPV4、IPV6等等相关的内容,而它们其实都可以把它去掉,我们把这个去掉之后我们就能够以一种非常简练的方式来使用你所需要的这些特征,这样就极大的降低了复杂性。所以这就是定制化的一个优势。比方我们想定制的话,我们最终可以使用,传统来说我们就是使用3.2T的设备,但是我们的P4大家如果来进行对比就能够看到我们的简练性是有多大。

第二个特点,能够为大家带来更好的使用体验。同样的,我们的独享性的特征我们可以看到在30年以前协议的复杂性是很高的,而如今这些是可读的。大家可以看到这是一个展示图片,这么大量的芯片可以读取,这些都可以用来进行客户的定制化。我们目前实现的是什么呢?这个是基于我们目前的消费者,我们的客户的实际的用例,他们所需要的是希望有一些新的渠道,新的方法来对于不同的包裹进行加标签或者是进行特殊的处理等等。再一个,路由的方法。还有一个就是新的拥堵管控的方法,这些都是我们目前已经实现了的。再一个,处理包裹的新的方法。这样我们就能够使用不同的路径来降低延迟性等等。除此之外,我们还有一些新的了不起的应用,比如我们的第四极负载平衡器,这样的话就能够确保我们把负载全方位地整合到我们的平衡器当中。我想这是一个非常了不起的技术。与之前的技术相比能够建立出全新的内容,除此之外我们现在还有全世界最快的防火墙系统。

第三个,独立性。也就是之前我们所使用的所谓的机器学习的技术,现在我们把这些编译起来,最终我们就能够建立API,这样我们就能够让我们的交换机来实现更好的运营。比方说我们使用这样的一种技术来确保我们的API的应用能够实现全自动化的,它能够自动的产生。这个可以在IP4的项目中进行使用。当我们进入下一代的芯片的时代之后,只要大家使用的一样的IP4的项目,根本不需要做出任何的改变。所以这是全新的独立性,这就是为什么Google等公司也加入了这样的项目当中。

最后,就是所谓的网络的遥感侦测,就是自动测量系统。让让我来为大家讲一下运营,看到我们网络的运行过程,就可以回答有关于解决方案的四个问题。首先,任何的一个包裹,我们都需要找到它的路径,它采用哪种路径。比方说XYZ等等。第二个问题,为什么要选择这样的一个路径?这个主要是取决于它的路径,我确保我这个路径是可遵循的。第三个问题,就是有关延迟性。花费了多长时间从源头走到现在这个位置,有一些企业有延迟性的问题,比方说运营商,其实在一定程度上都可以通过这些方法解决。第四个问题,与第三个问题相关,如果说前三个交换机看上去好像没有什么问题,但是第四个交换机也许它的速度有了变化,我们就需要想为什么到最后一个交换机时间变长了,速度降下来了,为了这个问题我们需要进一步询问,其他的三个路径在哪儿?那是因为其他的包裹可能导致了我们现在的延迟性。所以这就是为展示了它的运动过程,不管是UDP的流动还是别的都是如此。这样都有可能会对我们的整体的效果产生消极的影响,比方说我们找到占据了绝大多数空间的包裹。这四个问题是非常核心的,如果大家有自己网络的话我们很自然的就会想到这四个问题,如果目前自己有设备的话我们很难去解答这些问题,因为它们的可编程性受到限制,但是现在有了P4我们不需要再有任何的犹豫,不需要再担心说明的能量的预算等等。

所以最后我想为大家介绍的是INT,这也是我们一个全新的发展。我们的网络在传递这些包裹的时候,是能够添加新的包裹进去的,比方说我们第一个添加了交换机的ID,还有到达的时间,再一个就是排队的延迟,以及相符的原则和运营方法,然后我们的包裹就够最终经过这些家到达目的地,到达堆栈。所以可能最开始的时候这个包裹是低能量的,到最后我们就能够把这些所谓的变化都取缔,如果我们想要的话,然后进行终端的最后的分析。

下面我做一个简单的展示,像我们有一个云网络,在中间我们有一个虚拟的交换机,然后下面我们有VM,再往上是物理层,这是我们的包裹的一个运行的轨迹,它经过了不同的部分,我们希望能够尽可能的降低它的延迟性,我们知道它在物理层、其他的交换机、在VM的位置上可能会有延迟,所以我们需要对此进行一个细节的分析。现在我们就能够做到这些了。我们现在已经进了两个VM的环境,这样的话我们能够找到每个包裹具体延迟的信息,大家可以看到在在图表上有所展示它到达的IP,还有它的协议情况,我们能够把时间细到毫秒,这样我们就能够把延迟的具体情况做一个详细的分析,大家可以清晰地看到,绝大多数的延迟性都是在VM附近发生的,那是因为VM那里有软件的应用。包括其他的交换机等等,都在这些地方。如果大家再进一步看的话我们就能够发现对于每一个包裹来说,我们都找出了这样的一个延迟性的,毫秒甚至微秒来计的分析,所以所有的细节都能够看到。这样我们就能够找到,是这个特定的流,是这个特定的位置增加的延迟性等等。所以这种分析是非常强大的。我想这能够为大家带来极大的便利性。这就是我今天的全部内容,谢谢大家。

来源:至顶网网络频道

0赞

好文章,需要你的鼓励

2017

08/03

12:05

分享

点赞

邮件订阅
白皮书