一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种分布式协同流量仿真环境构建方法及系统与流程

2021-10-19 20:59:00 来源:中国专利 TAG:仿真 分布式 协同 构建 流量


1.本发明属于计算机网络流量仿真技术领域,尤其涉及一种分布式协同流量仿真环境构建方法及系统。


背景技术:

2.新一代信息技术与制造业深度融合,越来越多的物联网传感器被嵌入到工业生产线中,并用于采集制造过程中各个环节各类设备的工业信息数据。随着数字孪生技术发展和工业数据不断收集,工业大数据的发展应用成为必然趋势。其中,大部分的计算分析任务都需要用到集群资源,且这些任务中往往包含大量的数据交换。分布式集群的典型应用将复杂的计算任务分解成具有协同和依赖关系的不同计算阶段,并交由不同的计算设备来执行计算和数据分发。据统计,在典型分布式集群计算中,网络中的数据交换过程占据了50%~70%的任务耗时。因此在不考虑集群计算节点cpu等计算资源限制的情况下,对数据在网络中的交换传输进行优化,可以显著提高计算任务的效率。
3.分布式集群计算场景下的网络流量的特征是产生于不同的具有依赖或者协同关系的计算阶段,在一个计算阶段通常涉及到一系列数据流在通信设备上的传输,这些数据流来自于不同的计算设备并在通信设备上相互交织,将这些具有共同优化目标的数据流称作一个coflow。显然,传统的针对单条数据流的网络调度方式无法针对分布式集群场景的数据流特征完成网络调度。因此,针对coflow的调度研究应运而生,通常采用有监督和无监督两种类型的机器学习方法训练智能调度模型。但是典型的分布式集群计算框架的通信组件一是无法产生具有coflow标识的数据报文,二是分布式集群计算框架会根据集群资源状态动态确定任务执行过程,所以难以实现可控的重复场景用来训练、迭代调度模型。
4.现在coflow调度研究多采用分布式集群网络抓包重放的方式进行训练或模拟生成流量统计值以训练模型,缺乏分布式集群计算场景下网络通信阶段的协同流量构造仿真的成套技术和方法。


技术实现要素:

5.本发明的目的是针对现有技术不足,提出了一种分布式协同流量仿真环境构建方法及系统。本发明为了填补在coflow调度研究过程中分布式集群计算场景下协同流量构造仿真领域的技术空白,提高coflow调度技术研究的试验效率和准确性。
6.本发明是通过以下技术方案来实现的:本发明公开了一种分布式协同流量仿真环境构建系统,包括用户系统、管理节点模块、执行节点集群和基础网络环境

可编程数据平台。
7.所述用户系统由dag定义模块、网络拓扑结构定义模块、报文结构定义模块和状态监控模块组成;所述dag定义模块通过定义有向无环图dag的节点和边完成计算阶段和通信阶段的定义,输出有向无环图dag文件;所述网络拓扑结构定义模块定义仿真环境中的终端节点,输出网络拓扑结构文件;所述报文结构定义模块选择传输层协议并定义coflow报文
头输出自定义报文结构文件;所述状态监控模块实时获取管理节点模块输出的状态监控数据,并显示给用户;所述定义的有向无环图dag文件、网络拓扑结构文件以及报文结构文件构成协同流量构建配置文件。
8.所述管理节点模块由任务管理模块以及全局任务状态监控模块组成;所述任务管理模块检查用户定义的协同流量构建配置文件完整性和有效性,发出流量构建任务并启动该任务进程;所述全局任务状态监控模块通过管理节点收集多个执行节点的运行状态监控数据,并周期性将运行状态监控数据上报到用户系统的状态监控模块。
9.所述执行节点集群由任务执行模块和节点状态监控模块组成;所述任务执行模块接收并执行所述任务管理模块发送的流量构建任务;所述节点状态监控模块通过执行节点在报文发送终端和接收终端对流量收发情况进行统计,并周期性向管理节点汇报流量构建任务的执行情况。
10.所述基础网络环境

可编程数据平台由可编程交换设备组成,用于转发定制化改造后的协同流量报文。
11.本发明公开了一种分布式协同流量仿真环境构建方法,包括以下步骤;(1)定义协同流量构建仿真环境的有向无环图dag、网络拓扑结构和报文结构,输出有向无环图dag文件、网络拓扑结构文件和报文结构文件;所述定义的有向无环图dag文件、网络拓扑结构文件以及报文结构文件构成协同流量构建配置文件。
12.(2)管理节点读取协同流量构建配置文件,启动协同流量构建任务,获取执行节点运行状态监控数据,并将该运行状态监控数据周期性上报到用户系统的状态监控模块。
13.(3)执行节点执行协同流量构建任务,接收执行管理节点命令,进行协同流量报文定制化改造,输出定制化改造后的协同流量报文,监控运行状态,并将该状态发送到管理节点模块。
14.(4)基础网络环境

可编程数据平台接收并转发步骤(3)输出的定制化改造后的协同流量报文。
15.进一步地,所述步骤(1)包括以下子步骤:(1.1)用户通过用户系统中的dag定义模块定义向无环图dag结构,输出有向无环图dag文件;所述向无环图dag的定义包括计算节点和通信过程的定义,其中dag节点代表着计算阶段,dag有向边代表着通信阶段;(1.2)用户通过用户系统中的网络拓扑结构定义模块定义仿真环境中的终端节点,输出网络拓扑结构文件;所述终端节点包括协同流量的发送终端和接收终端;(1.3)用户通过用户系统中的报文结构定义模块确定协同流量报文的传输层协议和coflow自定义报文结构,输出报文结构文件;(1.4)用户完成上述步骤(1.1)~步骤(1.3)定义的无环图dag结构、网络拓扑结构以及报文结构后,向管理节点发送协同流量仿真任务的启动命令。完成任务启动后,进入任务状态监控模块,获取任务执行状态。
16.进一步地,所述步骤(2)包括以下子步骤:(2.1)通过管理节点的任务管理模块读取协同流量构建配置文件,并校验该协同流量构建配置文件中参数的完整性和有效性;(2.2)通过管理节点的全局任务状态监控模块探测各执行节点运行状态;
(2.3)任务管理模块启动协同流量构建任务,并通过与各执行节点的通信机制,在不同任务阶段发送对应流量构造任务参数到各执行节点;(2.4)全局任务状态监控模块接收执行节点返回的任务状态监控数据,将该任务状态监控数据汇总分析后,得到任务执行的全局状态,并周期性地上送到用户系统的状态监控模块。
17.进一步地,所述步骤(3)包括以下子步骤:(3.1)执行节点集群中的节点状态监控模块接收到管理节点的状态探测信号后,反馈自身运行状态到管理节点;(3.2)执行节点集群中的任务执行模块接收到管理节点发送的流量构建任务后,解析流量构建任务参数,按照参数规定的流量大小、速率构建报文,并通过数据平面开发套件接管网卡,根据用户定义的报文结构对协同流量报文进行定制化改造并发送到所述基础网络环境中;(3.3)执行节点集群中的任务执行模块通过数据平面开发套件接管网卡,对接收到的协同流量报文进行统计,统计完成之后对接收到的协同流量报文进行丢包操作;(3.4)执行节点集群中的节点状态监控模块周期性将执行节点的运行状态发送到管理节点的全局任务状态监控模块进行汇总。
18.本发明的有益效果是:(1)本发明为coflow调度研究提供丰富且可控的试验环境,研究者不必关心集群计算场景的计算阶段,本发明将分布式集群计算中的计算阶段和通信阶段解耦,仅定义有向无环图(directed

acyclic graph,dag)表示计算阶段和通信阶段的关系以及计算阶段流量特征、定义分布式集群终端节点的网络拓扑结构,以及单个coflow统计特征即可快速、稳定且可重复获得符合统计特征的协同流量。(2)采用本发明方法构建的仿真环境允许用户设计报文结构并监控coflow的发送接收任务状态,可以直观的对比不同调度策略在同一网络场景下的优化效果。(3)本发明该方法支持协同流量报文结构按coflow调度策略需要进行定义,配合可编程交换设备,为coflow调度研究提供更多的可能性。(4)本发明屏蔽了真实计算集群环境中计算任务通信阶段的随机性和复杂性,可按需实现通信环境仿真和流量重放场景,有效支撑了coflow调度研究的试验和测试工作。
附图说明
19.图1是本发明的分布式协同流量构造仿真环境的结构框图。
具体实施方式
20.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。
21.如图1所示,本发明公开了一种分布式协同流量仿真环境构建方法及系统,包括用户系统、管理节点模块、执行节点集群和基础网络环境

可编程数据平台。其中,用户系统由dag定义模块、网络拓扑结构定义模块、报文结构定义模块以及状态监控模块组成。
22.所述用户系统优选图形化界面设计;所述dag定义模块通过定义有向无环图dag(directed

acyclic graph,dag)的节点和边完成计算阶段和通信阶段的定义,输出有向无环图dag文件;用户完成dag定义后输出可识别的邻接表数据结构并存储。
23.所述网络拓扑结构定义模块对仿真环境中的终端节点情况进行定义,包括选择报文发送终端和选择报文接收终端,输出网络拓扑结构文件。所述报文发送终端和接收终端可复用,即复用类型终端同时进行报文收发工作。用户完成网络拓扑结构定义后输出管理节点可识别的字典数据结构并存储。
24.所述报文结构定义模块进行选择传输层协议并自定义附加的报文结构,需附加报文头的变量名称及其大小,输出报文结构文件。用户完成报文结构定义后输出管理节点可识别的字典数据结构并存储。
25.所述有向无环图dag文件、网络拓扑结构文件以及报文结构文件组成协同流量构建配置文件。
26.所述状态监控模块实时获取节点管理模块输出的状态监控数据,所述状态监控数据包括运行状态和报警信息,并将该运行状态和报警信息以可视化的方式显示给用户。
27.所述管理节点模块由任务管理模块以及全局任务状态监控模块组成;所述任务管理模块首先检查用户定义的协同流量构建配置文件的完整性和有效性。若协同流量构建配置文件检查结果异常,则将配置异常的报警信息发送到用户系统的状态监控模块,并终止任务;若配置文件检查结果正常,则发出流量构建任务,启动任务进程,并通过心跳机制探测执行节点集群集群中各执行节点状态。所述全局任务状态监控模块通过管理节点收集多个执行节点上报的任务执行状态,进行数据分析后,周期性将全局任务执行状态上报到用户系统的状态监控模块。若执行节点状态异常,则将执行节点异常的报警信息输出到用户系统的状态监控模块,并终止任务;若执行节点状态正常,则根据协同流量构建配置文件调用执行节点执行。
28.所述执行节点集群由任务执行模块和节点状态监控模块组成;所述任务执行模块持续监听通信端口的信息、响应管理节点的状态检测以及接收管理节点下发的流量构建任务。当接收到管理节点下发的流量构建任务后,执行节点向管理节点发送确认报文并启动流量构造任务。执行节点使用用户选择的传输层协议构造报文,将用户自定义的报文头作为传输层上的载荷发送到网卡。通过数据平面开发套件(包括但不限于dpdk,data plane development kit)接管网卡,并根据传输层上的载荷中的内容对报文进行改造,增加用户自定义的报文头后发送该定制化改造后的协同流量报文到基础网络环境

可编程数据平台中。所述节点状态监控模块通过执行节点在报文接收终端对流量接收情况进行统计,所述流量接受情况参数包括但不限于coflow大小、子流数量和完成时间,并周期性向管理节点汇报流量构建任务的执行情况。
29.所述基础网络环境

可编程数据平台由可编程交换设备组成,用于转发定制化改造后的协同流量报文。
30.本发明提供了一种分布式协同流量仿真环境构建方法及系统,具体包括以下步骤:(1)定义协同流量构建仿真环境的定义有向无环图dag、网络拓扑结构和报文结构,具体包括以下子步骤:(1.1)用户通过用户系统中的dag定义模块定义向无环图dag结构,输出有向无环图dag文件,所述有向无环图dag的定义包括计算节点和通信过程的定义。所述dag节点代表着计算阶段,用户在定义计算阶段时需完成coflow大小、子流数量以及子流长度分布的设
定,若该节点为叶子节点(无出度),则无需定义上述coflow特征。dag有向边代表着通信阶段,表征计算阶段之间的依赖关系。用户完成计算阶段定义后,通过dag有向边连接各个计算阶段,确定不同计算阶段之间的依赖关系。用户完成dag定义后输出可识别的邻接表数据结构并存储。
31.(1.2)用户通过用户系统中的网络拓扑结构定义模块设定协同流量的发送终端和接收终端,输出网络拓扑结构文件。在用户定义的网络拓扑结构中将可编程交换设备组成的基础网络抽象成一个无阻塞交换机,所以在此模块仅需考虑流量发送终端节点和流量接收终端节点的拓扑结构。
32.(1.3)用户通过用户系统中的报文结构定义模块确定协同流量报文的传输层协议和coflow自定义报文结构,输出报文结构文件。用户需要在coflow自定义报文结构定义中设置coflow报文头包括自定义字段的名称、大小、类型;所述协同流量报文结构默认在tcp或udp报文的基础上添加的coflow报文头,包括但不限于用于记录协同流量标识的coflow_id以及协同流量子流标识的flow_id及其发送时间戳,流量标识用于协同流量调度依据,时间戳用于计算通信阶段耗时。
33.(1.4)用户完成上述dag结构、网络拓扑结构以及报文结构定义后,可向管理节点发送协同流量仿真任务的启动命令。完成流量仿真任务启动后,进入流量仿真任务状态监控模块,获取任务执行状态。
34.(2)管理节点读取协同流量构建配置文件,启动协同流量构建任务,获取执行节点运行状态监控数据,并将该运行状态监控数据周期性上报到用户系统的状态监控模块;具体包括一下子步骤:(2.1)通过管理节点的任务管理模块读取协同流量构建配置文件,并校验该协同流量构建配置文件中参数的完整性和有效性,包括但不限于检查网络拓扑结构参数中发送节点与接收节点列表是否为空,若为空则为校验失败,若校验失败,则返回报警信息到用户系统,并终止本次任务;若校验结果正常,则发出流量构建任务,启动任务进程,并通过心跳机制探测执行节点集群集群中各执行节点状态。
35.(2.2)通过管理节点的全局任务状态监控模块探测各执行节点运行状态;若执行节点运行状态异常则返回报警信息到用户系统,并终止本次任务;所述探测方法具体为通过心跳机制确认执行节点是否处于正常工作状态,检测连线状态,若执行节点无确认报文返回,则采用设定最大重复次数阈值以及心跳报文间隔时间的策略继续探测,若依旧失败,则向用户系统发出报警信号并终止此任务。
36.(2.3)任务管理模块启动协同流量构建任务,并通过与各执行节点的通信机制,在不同任务阶段发送对应流量构造任务参数到各执行节点。
37.(2.4)全局任务状态监控模块接收执行节点返回的任务状态监控数据,将该任务状态监控数据汇总分析后,得到任务执行的全局状态,并周期性地上送到用户系统的状态监控模块。
38.(3)执行节点执行协同流量构建任务,接收执行管理节点命令,进行协同流量报文定制化改造,输出的定制化改造后的协同流量报文,监控运行状态,并将该状态发送到管理节点模块,具体包括以下步骤:(3.1)执行节点集群中的节点状态监控模块保持探测端口的持续监听:当接收到
管理节点的状态探测信号后,在规定的时间周期内反馈自身运行状态到管理节点。
39.(3.2)执行节点集群中的任务执行模块接收到管理节点发送的流量构建任务后,对任务命令中携带的任务参数进行解析,所述任务参数包括但不限于需构造协同流量报文的报文结构、流量大小、子流大小分布以及源目地址。根据传输层协议类型、自定义报文结构即载荷内容和coflow大小及其子流长度分布启动报文构造流程。执行节点将用户自定义报文结构作为tcp或者udp报文的载荷发送到网卡,并通过数据平面开发套件包括但不限于dpdk接管网卡进行报文结构调整后发送该报文至可编程数据平台。
40.(3.3)执行节点集群中的任务执行模块通过数据平面开发套件(包括但不限于dpdk)接管网卡,对接收到的协同流量报文进行多维度的统计工作,包括接收到的coflow及其子流的数量和完成时间,统计完成之后对接收到的协同流量报文进行丢包操作。
41.(3.4)执行节点集群中的节点状态监控模块周期性将执行节点的运行状态、任务执行进度以及统计数据进行组装后,发送到管理节点的全局任务状态监控模块进行汇总。为确保上报数据的完整性,执行节点在发送上述监控数据时,需同时发送完整性校验码以供管理节点确认数据是否完整有效。
42.单个执行节点无需获取协同流量构建任务的全部信息,由管理节点根据用户发布的任务参数,确定每个执行节点在不同任务阶段的任务,并在进入下一阶段后,由管理节点主动调用执行节点执行具体流量构建或流量接收任务。
43.(4)基础网络环境

可编程数据平台接收并转发步骤(3)输出的定制化改造后的协同流量报文。
44.综上所述,本发明为coflow调度研究提供丰富且可控的试验环境,研究者不必关心集群计算场景的计算阶段,本发明将分布式集群计算中的计算阶段和通信阶段解耦,仅定义有向无环图(directed

acyclic graph,dag)表示计算阶段和通信阶段的关系以及计算阶段流量特征、定义分布式集群终端节点的网络拓扑结构,以及单个coflow统计特征即可快速、稳定且可重复获得符合统计特征的协同流量。采用本发明方法构建的仿真环境允许用户设计报文结构并监控coflow的发送接收任务状态,可以直观的对比不同调度策略在同一网络场景下的优化效果。本发明该方法支持协同流量报文结构按coflow调度策略需要进行定义,配合可编程交换设备,为coflow调度研究提供更多的可能性。本发明屏蔽了真实计算集群环境中计算任务通信阶段的随机性和复杂性,可按需实现通信环境仿真和流量重放场景,有效支撑了coflow调度研究的试验和测试工作。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜