收藏 分销(赏)

面向多模态网络环境的网络模态增量式部署机制研究.pdf

上传人:自信****多点 文档编号:376332 上传时间:2023-09-11 格式:PDF 页数:11 大小:1.93MB
下载 相关 举报
面向多模态网络环境的网络模态增量式部署机制研究.pdf_第1页
第1页 / 共11页
面向多模态网络环境的网络模态增量式部署机制研究.pdf_第2页
第2页 / 共11页
面向多模态网络环境的网络模态增量式部署机制研究.pdf_第3页
第3页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 专题:多模态网络 面向多模态网络环境的网络模态 增量式部署机制研究 李炯1,2,胡宇翔1,2,崔鹏帅1,2,田乐1,2,董永吉1,2(1.中国人民解放军战略支援部队信息工程大学,河南 郑州 450002;2.国家数字交换系统工程技术研究中心,河南 郑州 450002)摘 要:多模态网络支持各种用网需求以网络模态的形式在统一物理与逻辑基础设施上共存、演进与变革发展,可最大限度释放新型应用驱动的网络技术体制创新活力。模态的演进与变革发展要求实现模态的增量式部署,从而满足多用户部署过程中的便捷性、隐私保护等需求。然而,当前网络功能的部署仍采用全部替换的部署方式,导致新模态部署复杂度高,不同用户间处

2、理逻辑相互暴露。针对以上问题,提出了面向多模态网络环境的网络模态增量式部署机制。首先,设计了网络模态增量式部署机制;然后,基于该机制将模态的增量式部署抽象为图合并问题,并设计了基于邻接表的合并解析图算法。仿真结果表明,所提机制可实现网络模态的快速正确合并,从而支撑模态增量式部署,极大降低新型网络体制的应用部署与服务提供门槛。关键词:多模态网络;模态增量式部署;邻接表合并 中图分类号:TP393 文献标志码:A doi:10.11959/j.issn.10000801.2023123 Research on incremental deployment mechanism of network

3、modality for polymorphic network environment LI Jiong1,2,HU Yuxiang1,2,CUI Pengshuai1,2,TIAN Le1,2,DONG Yongji1,2 1.Information Engineering University,Zhengzhou 450002,China 2.National Digital Switching System Engineering&Technological R&D Center,Zhengzhou 450002,China Abstract:Polymorphic networks

4、support diverse network requirements and can coexist,evolve,and change on a uni-fied physical or logical infrastructure in the form of network modality.They can maximize the innovation vitality of network technology driven by new applications.The evolution and development of modality require the inc

5、remental deployment of modality to meet the needs of convenience and privacy protection in the multi-user deployment process.However,the deployment of current network functions still uses the one-by-one deployment method,result-ing in high complexity of the deployment of new modality,and mutual expo

6、sure of processing logic between different users.To address these issues,an incremental deployment mechanism for polymorphic network environments was 收稿日期:20230429;修回日期:20230602 基金项目:国家重点研发计划项目(No.2022YFB2901501);河南省重大科技专项(No.221100210900-02)Foundation Items:The National Key Research and Development

7、 Program of China(No.2022YFB2901501),Major Science and Tech-nology Projects in Henan Province(No.221100210900-02)专题:多模态网络 34 proposed.Firstly,an incremental deployment mechanism for network modality was designed.Then,the incremental deployment of modality was abstracted as a graph merging problem ba

8、sed on this mechanism,and an adjacency list-based merge parsing graph algorithm was designed.The simulation results indicate that the proposed mechanism can achieve fast and correct merging of network modality,support incremental modality deployment,and greatly re-duce the application deployment and

9、 service provision threshold of new network systems.Key words:polymorphic network,modal incremental deployment,merge of adjacency lists 0 引言 网络技术的不断进步,特别是工业互联网、自动驾驶、物联网等新技术的出现,对网络的多元化提出了更高的要求,当前网络进入了一个新的发展阶段1。例如,车联网从最初的基本应用转变为智慧交通、自动驾驶等更为智能化的应用2,然而,当前的互联网在满足特有的服务需求时未能充分支持网络应用的扩展,构建的网络体系存在结构僵化、IP 单一承

10、载问题,无法通过有限的资源动态灵活地满足多样化的用网需求3。例如,为了实现多样化寻址的需求,研究人员先后提出了内容标识4、地理空间标识5、身份标识6等多种新寻址路由技术。然而,在当前IP 单一承载的网络中,要想同时支持这些技术,程序员只能不断对路由器中的代码迭代增量修补来实现。这种做法导致网络复杂度不断扩大,无法从根本上解决新型网络体制的部署问题。当前网络发展已经背离了设计初衷7。面对新技术、新产业的不断涌现,基于当前结构僵化的IP 体系结构,网络开发人员无力以无边界的累计代码量来满足各种行业对于网络的服务需求8。为了应对以上挑战,多模态网络应运而生。多模态网络如图 1 所示,它是在全维可定义

11、网络支撑环境上建立的,支持各种业务、服务等以模态的形式动态加载,实现多种网络模态在同一物理环境中共存,从而满足多样化的网络需求。多模态网元作为支持多模态网络运行的网络基础设施,支持多种模态在同一网元上部署、共生共存。网络模态部署的便捷性,直接影响多模态网络生态的构建。多模态网络编译环境是连接网络用户与多模态网元的桥梁,可将用户编写的网络模态程序,灵活地编译到多模态网元设备上,支撑网络模态程序的灵活便捷部署,满足各垂直行业的个性化用网需求。当前网络设备上的可编程流水线任意时刻只能 图 1 多模态网络 35 电信科学 2023 年第 6 期 加载一套功能程序,网络程序员只能通过one-by-one

12、的方式来完成网络功能的扩展。例如,对于一个已加载IPv4 模态的网络设备,要想增加IPv6 模态的处理逻辑,网络程序员只能通过对已有网络模态程序直接重编写、重编译来完成面向单设备的程序合并任务。就当前网络模态程序的增量式部署而言,对于实验性质的小型网络,在网络设备上的模态程序较为简单,所以即使新增多个网络模态程序,网络程序员依然可以以很小的代价完成相应的网络模态程序的增量式部署。但是对于实际生产环境的大型网络,网络模态程序需要完成的功能较多,网络模态程序结构复杂,特别是随着用户数量的不断增加,手动合并程序难度不断增长,网络程序员将无法实现网络模态程序的增量式部署。此外,网络程序员手动完成网络模

13、态程序的合并会给用户带来数据包处理逻辑泄露的风险。例如,用户A 想实现IPv4 隧道转发功能,用户B 想实现IPv6 隧道转发功能。网络程序员在进行手动合并时需要知道用户 A 和用户B 的数据包处理逻辑,然而用户A 和用户B 并不愿意共享数据包处理逻辑。综上所述,网络程序员采用当前的网络模态程序开发方式不仅耗费时间,增加功能故障的概率,而且容易泄露用户数据包的处理逻辑。因此,如何在网络设备上实现网络模态程序的增量式部署已成为亟待解决的问题。为了实现网络程序的增量式部署,国内外已经开展了许多相关的研究工作,主要分为以下两类解决思路。第一类是基于虚拟化技术的网络功能的扩展。文献9提出了一种可编程网

14、络硬件的快速虚拟化数据平面设计,使得多个虚拟路由器同时共享物理数据平面,从而实现数据平面功能的扩展。在文献9的基础上,文献10进一步设计了拥有灵活性和可扩展性的虚拟硬件数据平面,硬件数据平面可以被配置为支持多个虚拟数据平面的实例,并且在每个实例中,可以灵活地配置分组处理流程。HyperVDP11和 Hyper412都是数据平面管理程序,运营商可以在一个物理数据平面创建多个相互隔离的虚拟数据平面,并且可以动态地更新每一个虚拟数据平面中的网络功能。相对于Hyper4 消耗的资源较少,但是不可忽视的是HyperVDP以牺牲一定的性能为代价。FlexMesh13采用了更轻量级的虚拟化技术,FlexMe

15、sh 通过运行时链接网络功能来完成网络功能的增量式部署。与 HyperVDP 和 Hyper4 相比,该技术有较低性能开销。P4VBox14是一种用于数据平面虚拟化的可重新配置体系结构。P4VBox 中的数据平面模型与数据平面管理程序解耦,网络程序员可以通过数据平面管理程序更加灵活地部署多个虚拟数据平面。在实现网络功能的扩展过程中,虚拟化技术通过为当前正在执行的数据平面程序提供所需的资源,使得数据平面程序运行。但对于单个数据平面程序来说,独占资源只是表象,实质上资源还是被多个数据平面程序共享。为了在一个物理数据平面上模拟多个虚拟数据平面程序,虚拟化技术带来的巨大性能开销是无法避免的。第二类是从

16、编译器的角度解决问题。例如P415是一个轻量级的逻辑架构,该架构从底层硬件流水线的结构中抽象出来,程序员通过 P4 语言编写多个模块化程序,并通过独立于设备的前端P4 编译器将其转化为对应的中间表示程序 IR,最后通过面向设备的后端P4 编译器将其组合成一个数据平面程序,从而实现网络功能的扩展。然而,P4 无法重用已经绑定到目标架构上的 P4 程序,即将特定于目标的 P4 程序转化为 P4 模块,与其他P4 模块重新组合是不可行的。不支持基于其他模型的硬件设备。ClickP416将一个程序模块对应一个网络功能,在一条流水线上有多个程序模块,当网络上的报文通过该流水线时,流水线解析每一个报文,然

17、后根据需要选择相应的模块对其进行处理。如果想增加网络功能,程序员只需编写相应的功能模块并将其加载到流水线上即可,从而使同一物理设备支持多个网络功能模块。然而 ClickP4 以牺牲 专题:多模态网络 36 程序运行时的性能为代价以换取其管理 P4 程序的灵活性。P4Weaver17通过注释的方式来交织两个程序,编译器将两个程序合并为一个程序,从而在基于 P4 的交换机上实现增量式编程。但是网络程序员必须按照 P4Weaver 给定的规范来手动编写注释,这增加了开发难度;另一方面,对于网络程序员而言,最大的挑战是资源消耗,因为对原程序进行较小的改动可能改变表之间的依赖关系图,进而使合并之后的程序

18、与原程序相比,占用了更多的内存资源。P4Visor18采用程序合并的方法来实现网络功能的可扩展性,使用 P4 语言编写的网络程序具有高度的格式化形式,一个 P4 程序主体由解析器加控制流的方式组成。正因为 P4 程序的这一特性,在前端编译系统之前,P4Visor 通过合并两个 P4 程序的解析图和控制流图来完成网络功能的扩展。P4Visor 先将多个 P4 程序合并为一个 P4 程序,然后使用标准的 P4 编译器进行编译,最后将编译之后的程序加载到目标设备上,所以 P4Visor 并未提供完整的增量式部署机制。此外,虽然 P4Visor 实现了 P4 程序的合并,但是 P4Visor 采用邻接

19、矩阵来存储程序的有向无环图,对于稀疏图,内存资源的消耗很高。针对上述问题,本文提出基于邻接表的网络模态程序组合机制来实现网络模态的增量式部署。根据网络模态程序具备的模块化特性,本文采用合并多个模态程序对应的多个模块来完成这些模态程序的合并。整个机制的实现过程分为以下几个步骤。首先对不同的模块建立对应的表依赖图(采用邻接表对表依赖图进行存储),然后通过深度优先搜索算法遍历其中一个模块对应的表依赖图,同时使用哈希表将其以键值对的方式存储,最后通过深度优先搜索算法遍历另一个模块对应的表依赖图,同时与哈希表中的关键字进行比较,从而完成两个模块的合并。当所有模块合并完成时,多个网络模态程序的合并即完成了

20、。本文主要有以下创新和贡献:(1)建立了网络模态程序组合机制;(2)利用哈希表提升了算法的内存资源占用,以及对于有较多节点的图,提升了算法的执行效率。通过本文提出的网络模态程序组合机制,实现了网络模态程序的增量式开发。1 增量式编程部署机制 网络模态程序的增量式部署在整个多模态编译系统中起着重要作用。多模态网络编译系统完成网络模态程序加载的步骤如下:首先,网络程序员将多个用户的用网意图抽象为多个多模态网络程序,接着网络模态程序被前端编译系统编译为多个平台与无关的中间表示程序;然后对每一个模态中间表示程序进行分离,将其分隔为多个模块;接着交织器将多个中间表示程序的多个模块交织为一个模态中间表示;

21、最后模态中间表示程序被特定于平台的转化器转化为特定平台的功能流水线配置。增量式部署机制如图 2 所示,展示了网络模态程序的组合过程在整个多模态网络编译系统中的位置与作用。增量式部署机制包含前端编译系统、后端编译系统两部分。(1)前端编译系统 前端编译系统是平台无关的,首先分析模态程序的语法以确定程序的正确性。当程序的语法正确时,前端编译系统将模态程序转化为与平台无关的模态中间表示程序。模态中间表示程序对于后端编译系统完成模态程序的合并至关重要。(2)后端编译系统 后端编译系统包含分离器、交织器、转化器 3 个部分。其一方面将多个模态中间表示程序合并成具有多功能的单个多模态中间表示程序,另一方面

22、通过转化器将中间表示程序转化为特定于平台的功能流水线配置。分离器:由前端编译系统生成的模态中间表示程序 IR,并不具有模块化的特性。而后端编译系统里的交织器是对各个模块进行合并,所以在交付给交织器之前需要通37 电信科学 2023 年第 6 期 过分离器使每一个模态中间表示程序具备模块化的特性。例如对于中间表示程序IR1,可以将其分为模块 A1、模块 B1、模块 C1,对于中间表示程序 IR2,可以将其分为模块 A2、模块 B2、模块 C2。通过隔离器将每一个模态的中间表示程序分隔为各个独立的模块,然后使用交织器对各个模块进行合并。交织器:交织器是一种构件,采用基于邻接表的图合并算法完成多个模

23、态程序对应模块的组合。交织器通过以下步骤完成两个模块的合并,交织器首先采用邻接表存储两个模块对应的模态控制流图,然后通过深度优先搜索算法遍历其中一个模块对应的模态控制流图,同时使用哈希表将其以键值对的方式存储,最后通过深度优先搜索算法遍历另一个模块对应的模态控制流图,同时与哈希表中的关键字进行比较,从而完成两个模块的合并。当所有模块合并完成即可完成多个网络模态程序的合并。转化器:经过交织器处理之后,多个中间表示程序转化为一个中间表示程序。为了实现多模态网络的跨平台能力,转化器针对不同的设备,将从交织器得到的网络模态中间表示程序转化为对应的硬件功能流水线配置。本文针对多模态网络编译环境的交织器开

24、展研究,提出了一种基于邻接表的方法来实现网络模态程序的增量式部署。多模态程序是通过分布式开发得到的,一个多模态程序由多个模块组成,有着典型的模块化特征。根据这一特点,多个程序可以被分隔为多个模块,然后本文通过合并多个模块的方式来完成多模态网络程序的合并。具体来说,对于单一模块,其特点是该模块对应的有向无环图是稀疏的。对于一个稀疏的图,采用邻接表合并的方式相对于邻接矩阵合并的方式,在合并过程的内存资源占用上有着明显的优势。增量式编程的过程如图 3 所示,展示了网络模态程序的组合过程,后端编译系统将每一个模块抽象为对应的有向无环图(directed acyclic graph,DAG),然后交织器

25、将多个有向无环图组合为一个有向无环图。最后通过面向特定平台的转化器将其转化为特定的流水线配置。本质上,模态的增量式编程是将具有多个模态的中间表示转化为具有多个模态功能的一个模态中间表示。网络模态程序的组合过程是多个模态程序的中间表示程序的组合过程,即对模态程序的控制流图以及解析图的组合过程。整个组合过程是通过交织器完成的。图 2 增量式部署机制 专题:多模态网络 38 图 3 增量式编程的过程 2 基于邻接表合并的模态组合算法 2.1 模型设计 为了解决多模态网络编译环境面临的网络模态程序无法增量式加载的问题,本文提出一种网络模态程序组合机制。该机制存在于多模态网络编译环境的后端编译部分,通过

26、交织器来完成。交织器完成两个任务,一个是合并 P4 程序的解析图,另一个是合并 P4 程序的控制流图,即合并其表依赖图。本文以两个网络模态程序为例,通过合并两个图的解析图和控制流图完成模态程序的组合。例如,对于两个程序的两个解析图进行合并,首先使用邻接表对两个图进行存储,然后先遍历其中一个图,且在遍历的过程中使用哈希表以该图中的边为关键字进行存储,最后遍历另一个图,遍历的同时将图中的边与哈希表中存储的边进行比对,如果哈希表里存在该边,这说明该边是两个图中共同的一条边,否则为不同的边,接着将相同边和不同边做好记录即可得到合并之后的图。合并控制流图采用同样的方法。2.1.1 合并解析图 交织器读取

27、程序中的数据包解析流程,然后得到相应的解析图,每个解析图都是一个有限状态机(finite-state machine,FSM),每个状态表示每个标头类型的位偏移。以下文实验所用的程序为例,建立相应的解析图并合并两个解析图。解析图合并过程如图 4 所示。图 4(a)表示管道程序对应的数据包解析流程,图 4(b)表示具有计数功能程序对应的解析流程,图 4(c)表示共享的状态,图 4(d)表示合并之后的数据包解析流程。其中,图 4(a)和图 4(b)中的以太网和 IPv4 状态是相同的,因此可以进行合并。而 MyTunnel 状态是隧道程序所独有的,所以无法进行合并。图 4 解析图合并过程 2.1.

28、2 建立表依赖图 首先对模态程序的控制流进行建模,然后得到相应的表依赖关系图(table dependency graph,TDG)19(,)GT E。其 中,顶 点1,2,Ttt 3,ttn和边(,)|,Eti tjti tjT分别对应表和表依赖关系。每个表有以下 3 个属性:(1)程序 id,it.pid 反映表所在的模态程序;(2)表 id,it.tid 反映了表的 id,用于区分不39 电信科学 2023 年第 6 期 同表;(3)表大小,ti.size 反映了表占用内存大小。2.1.3 建立邻接表 本文采用的基于邻接表的结构来存储有向无环图,邻接矩阵的优点是可以快速判断两个顶点之间是

29、否存在边,可以快速添加边或者删除边。而其缺点是如果顶点之间的边比较少,邻接矩阵依然要使用V V的矩阵存储图,所以浪费内存资源。此外,当邻接矩阵存储的图很大时,对图的遍历需要的时间复杂度为()O V V,会带来很大的时间开销。而邻接表只需要存储图中的边数和V个节点,所以节约内存资源。且对图遍历需要的时间复杂度仅为()O VE。其中,V表示图中的节点数,E表示图中的边数。给定G,本文采用邻接表存储图G。具体如下:(1)图G中所有节点用一个一维数组存储;(2)对于图中每个顶点t及其邻接点构成一个单链表。图的邻接表可以表示为:以每个ti为顶点,遍历整个图,如果存在从ti到tj的边,则将tj追加到以ti

30、为顶点的单链表中。由于所有链表的头节点存储到数组中(也可以用链表存储),因此各链表在存储邻接点数据时,仅需存储该邻接顶点位于数组中的位置下标即可。例如,建立邻接表如图 5 所示,假设一个模态程序对应的解析图为图 5(a),则该解析图对应的邻接表为图 5(b)。2.1.4 建立哈希表 在算法的执行过程中采用哈希表对图中的边进行存储以便合并图。由于哈希表是一种通过关键字进行查找的数据结构,对于哈希表中的某一个关键字,用户仅需常数级的时间即可查到相应的内容,所以使用哈希表查找具有一定优势。通过哈希函数计算存储地址,将图 5 中所有边作为关键字存储到哈希表中,值表示哈希表中存在该边,以便后续合并。建立

31、哈希表如图 6 所示。图 5 建立邻接表 图 6 建立哈希表 2.2 解决哈希冲突 哈希冲突是指对于哈希表里的不同关键字通过哈希函数的映射有可能得到相同的存储地址,进而导致存储错误。哈希冲突是一种无法完全避免的冲突,由于本文针对的网络模态程序对应图中的节点数较多,节点之间的依赖关系复杂,所以有很大概率造成哈希冲突。为了解决哈希冲突,本文采用线性探测法来完成。对于未产生哈希冲突的关键字,直接进行存储,对于产生哈希冲突的关键字,线性探测法将当前产生冲突的位置不断往后移位直到找到一个空的地址,然后存储该关键字。具体如下,假设哈希表中的关键字集合为 45,6,30,11,16,90,22,8,18,哈

32、希表长为11m。根据哈希函数(key)key%fp,11p,一般来说,对于除数p的选取为pm,其中m为哈希表的长度,且p为质数。建立哈希表如图7所示。图 7 建立哈希表 在建立哈希表的过程中,对于关键字45、6、30、11、16、90、18均没有产生冲突,对于关键 专题:多模态网络 40 字22和8,虽然产生冲突,但是通过线性探测法使关键字地址往后移,进而避免了哈希冲突。2.3 复杂度 假设一个模态程序对应的控制流图中有V个节点,E条边。下面将基于邻接表的算法与基于邻接矩阵的算法进行比较。2.3.1 时间复杂度 本文采用深度优先搜索(depth-first search,DFS)遍历图,以下是

33、采用DFS进行图的遍历的伪代码。算法 1 深度优先搜索 功能 通过DFS遍历图来确定存储在哈希表中的边与当前遍历的图之间的关系 bool visitedMAX_VERTEX_NUM;void DFSTraverse(Graph G)for(v=0;v G.vexnum;+v)visitedv=FALSE;for(v=0;v=0;w=NextNeighbor(G,v,w)if(!visitedw)DFS(G,w);将以V为顶点的邻接表加入哈希表 采用邻接表存储图,在整个算法的执行过程中,遍历V个节点需要()O V的时间,查找各个节点的邻接点共需要()O E的时间,所以总的时间复杂度为()O VE

34、。采用邻接矩阵合并需要遍历整个矩阵,所以其时间复杂度为()O V V。2.3.2 空间复杂度 有向图的邻接表一般使用指针动态分配内存实现,邻接矩阵一般用二维数组表示。邻接表的每个节点包含一个数据域和一个指针域,每条边也包含一个数据域和一个指针域。假设一个数据需要一个存储单元,一个指针需要N个存储单元,则采用邻接表来存储有向图的存储代价为:(1)(1)()()()VNENVENNEO VE(1)如果采用邻接矩阵来存储相同的有向图则需要()O V V。节点数203VN、时,存储效率对比见表1,其给出了邻接表与邻接矩阵的存储空间对比情况。表 1 节点数VN、203时,存储效率对比 边数 E 邻接表(

35、N=3)邻接矩阵 19 156 400 40 240 400 60 320 400 100 480 400 200 880 400 400 1680 400 从表1可以看出,当边数较小时,邻接表的存储效率更高一些,但是随着边数的增加,特别是边数达到100时,邻接表相对于邻接矩阵就没有优势了,但是当图中的边比较稀疏时,采用邻接表结构存储图的效果更好,相对于邻接矩阵节约内存空间。本文所解决的问题是针对在一个图中边数较少,节点数多的情况。因为通过分析模态程序以及当前的多模态网络环境,越来越复杂的程序功能导致了表项的增多,反映在图中就是节点数的增多,所以采用本文基于邻接表的算法可以达到很好的效果。3

36、实验与结果 3.1 实验结果 为了评估交织器的准确性,使用以下实验环境。41 电信科学 2023 年第 6 期 (1)Ubuntu 16.04 LTS,内核版本4.10.0-33-generic。(2)P4编译器P4c,软件交换机Bmv2。(3)两个P4程序,分别为程序A和程序B。程序A具有隧道功能,程序B具有计数功能。其中,在程序A中定义了一个数据包处理管道,每个管道中的表项由控制平面插入。当表项与数据包匹配时,数据包将使用控制平面提供的动作执行操作。本实验已经添加了必要的静态控制平面条目。程序B的功能是针对某一个端口统计转发数据包的数量。(4)使用Mininet搭建网络拓扑 实验采用3个路

37、由器和3个主机来验证算法。主机h1处于第一个网段,与路由器s1相连。主机h2处于第二个网段,与路由器s2直接相连。主机h3处于第三个网段,与路由器s3直接相连。实验过程的网络拓扑如图8所示,其中程序A和程序B,通过交织器完成了两个程序的合并,最终形成了程序C,最后通过使用P4编译器P4c对程序C进行编译,将其配置到路由器s1、s2和s3上。图 8 网络拓扑 实验中的隧道建立在主机h1和h2之间,2 个计数器分别用来读取进入隧道和离开隧道的数据包的个数。从主机h1发送数据包到达h2,在这个过程中计算进出隧道数据包的个数,最后比较隧道的进出数据包数目来验证算法的准确性。数据包数量与算法的正确率如图

38、9所示,将交织器与P4Visor里的算法进行比较,无论是本文的机制还是P4Visor里的算法,对多个程序的合并正确率都达到100%。图 9 数据包数量与算法的正确率 为了评估交织器执行过程的内存资源占用情况,我们将交织器与P4Visor里的合并算法进行比较,虽然两者采用的合并原理是一样,但是在算法机制上有很大的区别。本文基于邻接表的算法,对于内存资源的占用是()O VE,而采用邻接矩阵的方式是()O V V。所以可以得出邻接表存储图和邻接矩阵存储图的空间复杂度相差(O V V )VE,随着控制流图节点数增加,两者呈现平方关系。由计算式()O V VVE可知,当节点数很大时,空间复杂度将由节点数

39、决定。假设空间复杂度近似为()O V V,节点数与相对内存资源占用关系如图10所示,其展示了交织器与P4Visor的相对内存占用情况。为了评估交织器的效率,实验随机生成两个图,以两个图的复杂程度为标准,对两个图合并为一个图所需的时间进行分析。需要说明的是,实验选取10组数据,每组数据中两个图的节点数都相同,图的复杂度随着节点数的增加不断提高,图11展示了节点数与合并时间之间的关系,当节点数小于300个时,P4Visor的合并时间较低,但随着节点数的不断增多,交织器与P4Visor有着明显的差距。通过分析得出,对于复杂度高的图,采用交织器有着较好的效果。专题:多模态网络 42 图 10 节点数与

40、相对内存资源占用关系 图 11 节点数与完成算法所用时间之间的关系 3.2 效果分析 本文采用基于邻接表实现图合并的方法有一定优势。首先从原理上对交织器的内存资源占用情况进行分析,然后通过实验对算法的准确性和算法的执行效率进行了评估。总体来说,对于算法准确性的两种机制的正确率都达到100%。在算法内存资源占用上,交织器占据优势。对于合并过程的时间方面,随着图的节点数的不断增加,交织器有着较好的效率。无论是本文解决的问题还是P4Visor解决的问题都是面向有向无环图的,在多模态网络编译的环境中,多个独立的模块组合成一个模态程序,有典型的模块化特征。针对一个多模态程序中的一个模块,对应的有向无环图

41、符合邻接表存储的特点,虽然也能采用邻接矩阵存储,但是这样的空间复杂度很高。这样看来,采用本文提出的基于哈希的算法具有较好的效果。4 结束语 本文提出了一种基于邻接表的图合并机制,通过将多模态程序拆分为子模块,然后将各个子模块组合来实现网络模态程序的增量式部署。通过实验,可以得出结论:本文提出的机制能够完成网络模态程序的组合,且在组合过程中的内存占用和合并时间上,相对于邻接矩阵实现的程序合并有较好的表现。本文方法为实现多模态网络编译环境提供了帮助。未来有许多可以研究的方向。对于网络模态功能的扩展,本文采用基于邻接表的图合并方式来实现,然而将扩展的程序集成到原程序中得到新的程序,编译器对新程序编译

42、的结果可能会违反硬件已有的资源范围(流水线级数)。因此,在硬件资源的一定的条件下,判断新程序是否可以满足资源限制是必须解决的问题。此外,采用基于邻接表合并的方式将扩展程序集成到原程序中,存在的隐患是并未考虑程序的版权问题。作为未来工作的一部分,笔者计划采用表资源优化方法及做标记的方式来解决相关问题。参考文献:1 邬江兴,兰巨龙,程东年.新型网络体系结构M.北京:人民邮电出版社,2014.WU J X,LAN J L,CHENG D N.Novel network architectureM.Beijing:Posts&Telecom Press,2014.2 陈山枝,葛雨明,时岩.蜂窝车联网(

43、C-V2X)技术发展、应用及展望J.电信科学,2022,38(1):1-12.CHEN S Z,GE Y M,SHI Y.Technology development,applica-tion and prospect of cellular vehicle-to-everything(C-V2X)J.Telecommunications Science,2022,38(1):1-12.3 胡宇翔,伊鹏,孙鹏浩,等.全维可定义的多模态智慧网络体系研究J.通信学报,2019,40(8):1-12.HU Y X,YI P,SUN P H,et al.Research on the full-dim

44、ensional defined polymorphic smart networkJ.Journal on Communica-tions,2019,40(8):1-12.4 AHLGREN B,DANNEWITZ C,IMBRENDA C,et al.A sur-vey of information-centric networkingJ.IEEE Communica-tions Magazine,2012,50(7):26-36.5 DONG F,CHENG C Q,GUO S D.Design and research on GeoIPC/Proceedings of 2010 14t

45、h International Conference on Computer Supported Cooperative Work in Design.Piscata-way:IEEE Press,2010:13-17.43 电信科学 2023 年第 6 期 6 ZHANG H K,QUAN W,CHAO H C,et al.Smart identifier network:a collaborative architecture for the future InternetJ.IEEE Network,2016,30(3):46-51.7 黄韬,刘江,霍如,等.未来网络体系架构研究综述J.

46、通信学报,2014,35(8):184-197.HUANG T,LIU J,HUO R,et al.Survey of research on future network architecturesJ.Journal on Communications,2014,35(8):184-197.8 邬江兴,胡宇翔.网络技术体系与支撑环境分离的发展范式J.信息通信技术与政策,2021(8):1-11.WU J X,HU Y X.The development paradigm of separation between network technical system and supporting

47、 environ-mentJ.Information and Communications Technology and Policy,2021(8):1-11.9 ANWER M B,FEAMSTER N.Building a fast,virtualized data plane with programmable hardwareC/Proceedings of the 1st ACM Workshop on Virtualized Infrastructure Systems and Ar-chitectures.New York:ACM Press,2009:1-8.10 LIU J

48、,XIE Y,XIE G,et al.Building a flexible and scalable virtual hardware data planeC/Proceedings of Networking 2012:11th International IFIP TC 6 Networking Conference,2012,Part I 11.Heidelberg:Springer,2012:205-216.11 ZHANG C,BI J,ZHOU Y,et al.HyperVDP:high-performance virtualization of the programmable

49、 data planeJ.IEEE Journal on Selected Areas in Communications,2019,37(3):556-569.12 HANCOCK D,VAN DER MERWE J.Hyper4:using P4 to vir-tualize the programmable data planeC/Proceedings of the 12th International on Conference on emerging Networking EXperi-ments and Technologies.New York:ACM Press,2016:3

50、5-49.13 ZHOU Y,BI J,ZHANG C,et al.FlexMesh:flexibly chaining network functions on programmable data planes at run-timeC/Proceedings of 2020 IFIP Networking Conference(Networking).Piscataway:IEEE Press,2020:73-81.14 SAQUETTI M,BUENO G,CORDEIRO W,et al.P4VBox:enabling P4-based switch virtualizationJ.I

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      联系我们       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服