CN110635943A - 基于Spark计算框架的网络传输过程的网络流量仿真系统 - Google Patents

基于Spark计算框架的网络传输过程的网络流量仿真系统 Download PDF

Info

Publication number
CN110635943A
CN110635943A CN201910822129.3A CN201910822129A CN110635943A CN 110635943 A CN110635943 A CN 110635943A CN 201910822129 A CN201910822129 A CN 201910822129A CN 110635943 A CN110635943 A CN 110635943A
Authority
CN
China
Prior art keywords
node
network
simulation
network flow
flow group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910822129.3A
Other languages
English (en)
Other versions
CN110635943B (zh
Inventor
李巍
陈天霸
胡胜杰
王迪
李云春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beijing University of Aeronautics and Astronautics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Aeronautics and Astronautics filed Critical Beijing University of Aeronautics and Astronautics
Priority to CN201910822129.3A priority Critical patent/CN110635943B/zh
Publication of CN110635943A publication Critical patent/CN110635943A/zh
Application granted granted Critical
Publication of CN110635943B publication Critical patent/CN110635943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于Spark计算框架网络传输过程的网络仿真系统,该网络仿真系统包括有负载生成模块(1)、网络拓扑配置模块(2)、可视化模块(3)、调度模块(4)和数据跟踪模块(5)。调度模块(4)和数据跟踪模块(5)分别会在工作仿真节点和驱动仿真节点上。本发明基于Spark计算框架并结合容器虚拟化技术和消息驱动机制,仿真Spark计算框架网络传输过程。采用容器虚拟化技术建立Spark计算集群仿真节点,仿真过程传输真实网络数据包,因此能够更好地体现实验方案在真实环境下的效果。

Description

基于Spark计算框架的网络传输过程的网络流量仿真系统
技术领域
本发明涉及对Spark计算框架的网络流量仿真,更具体地,涉及一种面向Spark计算框架的网络传输过程的网络流量仿真。
背景技术
网络仿真技术是一种通过建立网络设备和网络链路的统计模型,模拟网络传输流量,从而获取网络设计或优化所需要的网络性能数据的仿真技术。它具有全新的模拟实验机理及在高度复杂的网络环境下得到高可信度结果的能力。通过网络仿真,可为优化和扩容现有网络提供定量的分析数据。
Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UCBerkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark拥有Hadoop MapReduce所具有的优点。Spark计算框架拥有内存计算的特点,因此非常适合数据挖掘、机器学习等需要迭代的计算任务。对于Spark计算框架的部署参考2017年1月第1版,《Spark内核机制解析及性能调优》,王家林,段智华,第72-73页。Spark计算框架的部署包括有驱动程序、集群管理器和工作节点,如图1所示。在使用Spark计算框架的过程中,研究者们发现,在一些特定的情况下,计算集群的网络性能会对数据处理效率产生较大的影响:在处理数据密集型任务(Intensive task)时,由于数据存储在数据中心的各个节点(node)上,因此会产生大量的网络流量(network traffic),导致网络性能成为整体数据处理性能的瓶颈;当计算任务(task)数据分散度不够时,可能会产生数据倾斜,大部分的数据传输到少数几个节点(node)上,导致作业(job)处理速度变慢。为了解决或缓解这样的问题,需要对大数据计算框架进行网络性能(network performance)的分析,从而针对出现的问题找到改进方法或优化方案。
对于找到的改进方法或优化方案,需要进行实验来测试。在真实环境下进行实验能够得到最真实的结果,但是真实环境下的网络灵活性较差,网络参数或网络拓扑结构的修改过程比较复杂,并且进行大规模实验的成本高昂。因此,越来越多的研究采用网络仿真的方法来进行测试。与此同时,近些年的许多研究基于网络流组(coflow)的网络流(flow)抽象,提出了对于大数据计算集群网络调度的优化方法,显著地改善了大数据计算集群中作业的平均完成时间。由于该研究主要针对于大规模、多任务的计算集群,符合条件的真实实验环境较难获取,因此大多数研究采用了网络仿真的方法来进行实验验证。
在面向Spark计算框架的网络传输过程的网络仿真技术领域,现有的仿真技术往往是根据输入负载(load)进行简单地重放,而没有考虑网络流量(network traffic)中数据传输流(data transfer flow)和控制消息流(control message flow)之间的相互驱动关系,因此仿真效果无法体现Spark计算框架数据传输过程的应用层(application layer)特征。
发明内容
为了实现Spark计算框架的网络传输过程的系统仿真,并且体现传输过程的应用层(application layer)特征,本发明提出了一种基于容器虚拟化技术和消息驱动机制的面向Spark计算框架网络传输过程的仿真方法及网络流量仿真系统。本发明基于容器虚拟化(docker virtualization)技术建立Spark计算集群(cluster)仿真节点(emulationnode),以消息(message)驱动的方式实现对Spark计算集群(cluster)数据传输过程的仿真,并且支持可替换的网络流组(coflow)调度功能。本发明方法能够支持对大规模Spark集群中数据传输过程的仿真,可以用于优化Spark计算集群(cluster)数据传输过程,从而加速Spark计算任务(task),提高集群(cluster)工作效率。
本发明的一种面向Spark计算框架的网络传输过程的网络流量仿真系统,该网络仿真系统包括有负载生成模块1、网络拓扑配置模块2、可视化模块3、调度模块4和数据跟踪模块5。图中,调度模块4和数据跟踪模块5分别会在工作仿真节点和驱动仿真节点上。工作仿真节点对应图1中的Worker节点;驱动仿真节点对应图1中的驱动程序。
所述调度模块4由工作节点仿真同步协调器41、网络流组调度代理模块42、仿真同步协调器43和网络流组调度器44构成。
所述数据跟踪模块5由数据发送模块51、数据接收模块52和数据发送跟踪器53构成。
负载生成模块1由真实Spark网络传输日志输入单元11、网络流组抽象提取单元12、建立网络流组生成模型13和网络负载数据生成单元14构成。
真实Spark网络传输日志输入单元(11)用于接收从Spark日志服务器输出的日志,并将日志存储为txt格式文件;
网络流组提取单元(12)第一方面从真实Spark网络传输日志输入单元(11)中提出出日志(Log);第二方面从日志(Log)中过滤出应用(application)网络传输相关的条目(Item),从所述条目(Item)中读取、解析和存储描述Spark应用(application)执行过程中的网络流flow,所述网络流flow是以计算时间ExeTime和网络传输量RealFlow来计量的;Spark应用(application)执行过程中存在有多个执行阶段ST={st1,st2,…,ste,…,stE},任意一执行阶段ste存在有多条网络流flow;
st1为Spark应用(application)执行过程中第一个执行阶段;
st2为Spark应用(application)执行过程中第二个执行阶段;
ste为Spark应用(application)执行过程中第e个执行阶段;e为执行阶段的标识号;
stE为Spark应用(application)执行过程中最后一个执行阶段;E为执行阶段的总数;
基于st1的网络流信息表中包括有执行阶段、网络流、计算时间和网络传输量内容;
基于st2的网络流信息表中包括有执行阶段、网络流、计算时间和网络传输量内容;
基于ste的网络流信息表包括有执行阶段、网络流、计算时间和网络传输量内容;
基于stE的网络流信息表包括有执行阶段、网络流、计算时间和网络传输量内容;
第三方面,将每个阶段的ExeTime和RealFlow输出给建立网络负载模型(13);
建立网络流组生成模型(13)的建模过程如下:
步骤131,设置工作仿真节目的工作时间长度;
对于任意一个工作仿真节点都维持有一个工作时间长度JobTime,在最初始化时,工作时间长度JobTime赋值0;
第一个工作仿真节点M1的工作时间长度,记为
Figure BDA0002187857440000031
第二个工作仿真节点M2的工作时间长度,记为
Figure BDA0002187857440000032
任意一个工作仿真节点Mb的工作时间长度,记为
Figure BDA0002187857440000033
最后一个工作仿真节点MB的工作时间长度,记为
Figure BDA0002187857440000034
步骤132,选取工作时间长度最小的工作仿真节点作为接收节点;
对步骤131中的工作时间长度进行从小至大的排序,得到最小的工作时间长度,记为JobTime;然后将JobTime对应的工作仿真节点作为当前网络传输的接收节点;其余工作时间长度对应的工作仿真节点作为当前网络传输的发送节点;
步骤133,获取执行阶段st1的RelativeStartTime和FLOWS,并组成基于执行阶段st1的网络流组C1
依据st1的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段st1的网络流组C1;所述
Figure BDA0002187857440000035
其中将赋值给
Figure BDA0002187857440000037
Figure BDA0002187857440000038
赋值给
Figure BDA0002187857440000039
Figure BDA00021878574400000310
表示属于网络流组C1的相对起始时间;
Figure BDA00021878574400000311
的单位为秒;
Figure BDA00021878574400000312
表示属于网络流组C1的流传输量;
Figure BDA00021878574400000313
的单位为字节数;
基于st1的网络流组获取的内容包括有执行阶段、网络流、RelativeStartTime和FLOWS;
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure BDA0002187857440000042
中的任意一元素是在st1执行阶段中发送节点Mb向接收节点MB传输的流量大小;
Figure BDA0002187857440000043
Figure BDA0002187857440000044
是以工作仿真节点个数B为维度的流量大小矩阵;所述中的任意一元素是在st1执行阶段中发送节点Mb向接收节点MB传输的流量大小;
Figure BDA0002187857440000046
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure BDA0002187857440000048
中的任意一元素是在st1执行阶段中发送节点Mb向接收节点MB传输的流量大小;
Figure BDA0002187857440000049
Figure BDA00021878574400000410
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure BDA00021878574400000411
中的任意一元素,记为所述
Figure BDA00021878574400000413
表示st1执行阶段中发送节点Mb向接收节点MB传输的流量大小;
步骤134,获取执行阶段st2的RelativeStartTime和FLOWS,并组成基于执行阶段st2的网络流组C2
依据st2的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段st2的网络流组C2;所述
Figure BDA0002187857440000052
其中将
Figure BDA0002187857440000053
赋值给
Figure BDA0002187857440000054
Figure BDA0002187857440000055
赋值给
Figure BDA0002187857440000056
Figure BDA0002187857440000057
表示属于网络流组C2的相对起始时间;
Figure BDA0002187857440000058
的单位为秒;
Figure BDA0002187857440000059
表示属于网络流组C2的流传输量;
Figure BDA00021878574400000510
的单位为字节数;
基于st2的网络流组获取的内容包括有执行阶段、网络流、RelativeStartTime和FLOWS;
Figure BDA00021878574400000511
表示st2执行阶段中
Figure BDA00021878574400000512
的相对起始时间,即
Figure BDA00021878574400000513
Figure BDA00021878574400000514
表示st2执行阶段中
Figure BDA00021878574400000515
的相对起始时间,即将赋值给
Figure BDA00021878574400000517
Figure BDA00021878574400000518
表示st2执行阶段中位于
Figure BDA00021878574400000519
之前的网络流的相对起始时间;
Figure BDA00021878574400000521
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure BDA00021878574400000522
中的任意一元素,记为
Figure BDA00021878574400000523
所述
Figure BDA00021878574400000524
表示st2执行阶段中发送节点Mb向接收节点MB传输的流量大小;
步骤135,获取执行阶段ste的RelativeStartTime和FLOWS,并组成基于执行阶段ste的网络流组Ca
依据ste的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段ste的网络流组Ca;所述
Figure BDA00021878574400000525
其中将
Figure BDA00021878574400000526
赋值给
Figure BDA00021878574400000527
Figure BDA00021878574400000528
赋值给
Figure BDA00021878574400000529
Figure BDA0002187857440000061
表示属于网络流组Ca的相对起始时间;
Figure BDA0002187857440000062
的单位为秒;
表示属于网络流组Ca的流传输量;
Figure BDA0002187857440000064
的单位为字节数;
基于ste的网络流组获取的内容包括有执行阶段、网络流、RelativeStartTime和FLOWS;
Figure BDA0002187857440000065
表示ste执行阶段中
Figure BDA0002187857440000066
的相对起始时间,即
Figure BDA0002187857440000068
表示ste执行阶段中的相对起始时间,即将
Figure BDA00021878574400000610
赋值给
Figure BDA00021878574400000611
Figure BDA00021878574400000612
表示ste执行阶段中位于
Figure BDA00021878574400000613
之前的网络流
Figure BDA00021878574400000614
的相对起始时间;
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure BDA00021878574400000616
中的任意一元素,记为
Figure BDA00021878574400000617
所述
Figure BDA00021878574400000618
表示ste执行阶段中发送节点Mb向接收节点MB传输的流量大小;
步骤136,获取执行阶段stE的RelativeStartTime和FLOWS,并组成基于执行阶段stE的网络流组CA
依据stE的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段stE的网络流组CA;所述
Figure BDA00021878574400000619
其中将
Figure BDA00021878574400000620
赋值给
Figure BDA00021878574400000621
Figure BDA00021878574400000622
赋值给
Figure BDA00021878574400000623
Figure BDA00021878574400000624
表示属于网络流组CA的相对起始时间;
Figure BDA00021878574400000625
的单位为秒;
Figure BDA00021878574400000626
表示属于网络流组CA的流传输量;
Figure BDA00021878574400000627
的单位为字节数;
基于stE的网络流组获取的内容包括有执行阶段、网络流、RelativeStartTime和FLOWS;
Figure BDA00021878574400000628
表示stE执行阶段中
Figure BDA00021878574400000629
的相对起始时间,即
Figure BDA00021878574400000631
表示stE执行阶段中
Figure BDA00021878574400000632
的相对起始时间,即将赋值给
Figure BDA00021878574400000634
Figure BDA00021878574400000635
表示stE执行阶段中位于
Figure BDA00021878574400000636
之前的网络流
Figure BDA00021878574400000637
的相对起始时间;
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure BDA00021878574400000639
中的任意一元素,记为所述表示stE执行阶段中发送节点Mb向接收节点MB传输的流量大小;
当应用执行的所有阶段完成后,所有的网络流组信息也都全部生成,网络流组信息集为COFLOWS={C1,C2,…,Ca,…,CA},网络流组信息集就是本模块的输出;
网络负载数据生成子模块(14)将网络流组信息COFLOWS={C1,C2,…,Ca,…,CA}和工作仿真节点信息EM={M1,M2,…,Mb,…,MB}打包为网络负载数据,记为Load,且Load={B,A,COFLOWS},作为负载生成模块的输出。
本发明基于容器虚拟化技术和消息驱动机制的面向Spark计算框架网络传输过程的仿真方法的优点在于:
①本发明仿真系统对Spark应用程序日志分析,获取网络流信息抽象;并以每一执行阶段得到的一条网络流组作用到工作仿真节点上,以此进行网络仿真传输。
②本发明仿真系统以图3所示的时序进行驱动仿真节点协调工作仿真节点的网络流组传输,有利于仿真出物理环境下的Spark网络传输情况,并可视化网络的仿真结果。
③本发明仿真系统采用容器虚拟化技术建立Spark计算集群仿真节点,仿真过程传输真实网络数据包,因此能够更好地体现实验方案在真实环境下的效果。
④本发明仿真系统采用消息驱动的方式进行仿真网络流量传输,与Spark计算框架采用相同的消息控制机制,因此仿真网络传输过程更符合真实Spark应用场景。
附图说明
图1是Spark计算框架的部署框图。
图1A是Spark计算框架中的运行日志。
图2是本发明的面向Spark计算框架的网络传输过程的网络流量仿真系统模块关系图。
图3是网络传输过程仿真的时序图。
图4是集群网络传输结果图。
图5是仿真网络传输结果图。
具体实施方式
下面将结合附图和实施例对本发明做进一步的详细说明。
在本发明中,在Spark计算框架的网络传输过程的网络流量仿真中存在有多个工作仿真节点,简称为工作仿真节点集EM,且EM={M1,M2,M3,…,Mb,…,MB}。
M1表示第一个工作仿真节点。
M2表示第二个工作仿真节点。
M3表示第三个工作仿真节点。
Mb表示第b个工作仿真节点,为了普识性说明,Mb也称为任意一个工作仿真节点,b表示工作仿真节点的标识号,b∈B。
MB表示最后一个工作仿真节点,B表示工作仿真节点的总数。
在本发明中,Spark计算框架中仅有一个驱动仿真节点,记为EmuDriver。
在本发明中,在Spark计算框架的网络传输过程的网络流量仿真中存在有多个网络流组,简称为网络流组信息集COFLOWS,且COFLOWS={C1,C2,…,Ca,…,CA}。
C1表示第一条网络流组信息。
C2表示第二条网络流组信息。
Ca表示第a条网络流组信息,为了普识性说明,Ca也称为任意一条网络流组信息,a表示网络流组的标识号,a∈A。
CA表示最后一条网络流组信息,A表示网络流组信息的总条数。
如图2所示,本发明的一种面向Spark计算框架的网络传输过程的网络流量仿真系统,该网络仿真系统包括有负载生成模块1、网络拓扑配置模块2、可视化模块3、调度模块4和数据跟踪模块5。图中,调度模块4和数据跟踪模块5分别会在工作仿真节点和驱动仿真节点上。工作仿真节点对应图1中的Worker节点;驱动仿真节点对应图1中的驱动程序。
所述调度模块4由工作节点仿真同步协调器41、网络流组调度代理模块42、仿真同步协调器43和网络流组调度器44构成。
所述数据跟踪模块5由数据发送模块51、数据接收模块52和数据发送跟踪器53构成。
负载生成模块1由真实Spark网络传输日志输入单元11、网络流组抽象提取单元12、建立网络流组生成模型13和网络负载数据生成单元14构成。
负载生成模块1
参见图2、图3所示,负载生成模块1第一方面读取Spark计算框架中的运行日志(如图1A所示);第二方面基于网络流组(coflow)对所述运行日志进行网络流(flow)抽象的提取,得到网络负载数据。所述网络负载数据是指包括有工作仿真节点集EM和需要仿真的网络流组信息集COFLOWS。为了方便说明,网络负载数据记为Load,且Load={B,A,COFLOWS}。
参见图2、图3所示,负载生成模块1根据输入的实际Spark计算框架的运行日志,通过网络流的抽象提取,建立网络通信回放仿真模型,生成网络传输过程的网络负载数据Load;根据负载生成的过程,负载生成模块分为真实Spark网络传输日志输入单元11、网络流组抽象提取单元12、建立网络流组生成模型13和网络负载数据生成单元14四个子模块。
真实Spark网络传输日志输入单元11
真实Spark网络传输日志输入单元11用于接收从Spark日志服务器输出的日志(Log),并将日志(Log)存储为txt格式文件。
在本发明中,日志(Log)中包括有任务的执行时间、传输流量、执行阶段编号等信息。
网络流组提取单元12
参见图2所示,网络流组提取单元12第一方面从真实Spark网络传输日志输入单元11中提出出日志(Log);第二方面从日志(Log)中过滤出应用(application)网络传输相关的条目(Item),从所述条目(Item)中读取、解析和存储描述Spark应用(application)执行过程中的网络流flow,所述网络流flow是以计算时间ExeTime和网络传输量RealFlow来计量的。Spark应用(application)执行过程中存在有多个执行阶段ST={st1,st2,…,ste,…,stE},任意一执行阶段ste存在有多条网络流flow。
st1为Spark应用(application)执行过程中第一个执行阶段。
st2为Spark应用(application)执行过程中第二个执行阶段。
ste为Spark应用(application)执行过程中第e个执行阶段。e为执行阶段的标识号,为了普识性说明,ste也称为任意一个执行阶段。
stE为Spark应用(application)执行过程中最后一个执行阶段。E为执行阶段的总数。
表1基于st1的网络流信息表
Figure BDA0002187857440000091
表2基于st2的网络流信息表
Figure BDA0002187857440000101
表3基于ste的网络流信息表
Figure BDA0002187857440000102
表4基于stE的网络流信息表
Figure BDA0002187857440000103
在本发明中,网络流信息表是一个四列多行的表格形式,是用来存放Spark网络传输日志携带信息的。计算时间ExeTime的单位为毫秒,网络传输量RealFlow的单位为字节数。
Figure BDA0002187857440000104
表示属于执行阶段ste的第一条网络流。所述
Figure BDA0002187857440000105
对应的计算时间ExeTime值,记为
Figure BDA0002187857440000106
所述
Figure BDA0002187857440000107
对应的网络传输量RealFlow值,记为
Figure BDA0002187857440000109
表示属于执行阶段ste的第二条网络流。所述
Figure BDA00021878574400001010
对应的计算时间ExeTime值,记为
Figure BDA00021878574400001011
所述
Figure BDA00021878574400001012
对应的网络传输量RealFlow值,记为
Figure BDA00021878574400001013
Figure BDA0002187857440000111
表示属于执行阶段ste的第d条网络流。d为属于执行阶段ste的网络流的标识号,为了普识性说明,也称为属于执行阶段ste的任意一条网络流。所述
Figure BDA0002187857440000113
对应的计算时间ExeTime值,记为
Figure BDA0002187857440000114
所述
Figure BDA0002187857440000115
对应的网络传输量RealFlow值,记为
表示属于执行阶段ste的最后一条网络流。D为属于执行阶段ste的网络流的总条数。所述对应的计算时间ExeTime值,记为
Figure BDA0002187857440000119
所述
Figure BDA00021878574400001110
对应的网络传输量RealFlow值,记为
Figure BDA00021878574400001111
第三方面,将每个阶段的ExeTime和RealFlow输出给建立网络负载模型13。
在本发明中,在相同执行阶段一组具有相同应用层次意义的网络流组成网络流组(coflow)。例如Hadoop MapReduce中数据混洗阶段的所有网络流,Spark数据混洗过程中拉取数据时的所有网络流,在这些场景下,只有所有网络流完成后,应用(application)的运行过程才会向前推进。对一个Spark应用,执行过程分为多个阶段,每个阶段会有许多个任务(task),对一个阶段内的所有网络传输为一个网络流组(coflow),只有一个阶段的网络传输完成后,才能进行下一个阶段的网络数据传输。
建立网络流组生成模型13
在本发明中,建立网络流组生成模型13的建模过程如下:
步骤131,设置工作仿真节目的工作时间长度;
在本发明中,对于任意一个工作仿真节点都维持有一个工作时间长度JobTime,在最初始化时,工作时间长度JobTime赋值0。
第一个工作仿真节点M1的工作时间长度,记为JobTimeM1
第二个工作仿真节点M2的工作时间长度,记为JobTimeM2
任意一个工作仿真节点Mb的工作时间长度,记为JobTimeMb
最后一个工作仿真节点MB的工作时间长度,记为JobTimeMB
步骤132,选取工作时间长度最小的工作仿真节点作为接收节点;
对步骤131中的工作时间长度进行从小至大的排序,得到最小的工作时间长度,记为JobTime;然后将JobTime对应的工作仿真节点作为当前网络传输的接收节点。其余工作时间长度对应的工作仿真节点作为当前网络传输的发送节点。
例如,工作时间长度的从小至大的排序为
Figure BDA0002187857440000121
为JobTime。所述
Figure BDA0002187857440000123
对应的工作仿真节点是Mb,所述工作仿真节点Mb将作为当前网络传输的接收节点。而
Figure BDA0002187857440000124
对应的工作仿真节点M1、M2、MB作为当前网络传输的发送节点。
步骤133,获取执行阶段st1的RelativeStartTime和FLOWS,并组成基于执行阶段st1的网络流组C1
在本发明中,依据st1的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段st1的网络流组C1。所述
Figure BDA0002187857440000125
其中将
Figure BDA0002187857440000126
赋值给
Figure BDA0002187857440000127
Figure BDA0002187857440000128
赋值给
Figure BDA0002187857440000129
Figure BDA00021878574400001210
表示属于网络流组C1的相对起始时间。
Figure BDA00021878574400001211
的单位为秒。
Figure BDA00021878574400001212
表示属于网络流组C1的流传输量。
Figure BDA00021878574400001213
的单位为字节数。
表5基于st1的网络流组获取
Figure BDA00021878574400001214
Figure BDA00021878574400001215
表示st1执行阶段中
Figure BDA00021878574400001216
的相对起始时间,即将赋值给
Figure BDA00021878574400001218
Figure BDA00021878574400001219
表示st1执行阶段中
Figure BDA00021878574400001220
的相对起始时间,即将
Figure BDA00021878574400001221
赋值给
Figure BDA00021878574400001222
Figure BDA00021878574400001223
表示st1执行阶段中
Figure BDA00021878574400001224
的相对起始时间,即将
Figure BDA00021878574400001225
赋值给
Figure BDA00021878574400001227
表示st1执行阶段中位于
Figure BDA00021878574400001228
之前的网络流
Figure BDA00021878574400001229
的相对起始时间。
Figure BDA00021878574400001230
表示st1执行阶段中
Figure BDA00021878574400001231
的相对起始时间,即将
Figure BDA00021878574400001232
赋值给
Figure BDA00021878574400001233
Figure BDA00021878574400001234
表示st1执行阶段中位于之前的网络流
Figure BDA0002187857440000131
的相对起始时间。
Figure BDA0002187857440000132
是以工作仿真节点个数B为维度的流量大小矩阵。所述
Figure BDA0002187857440000133
中的任意一元素是在st1执行阶段中发送节点Mb向接收节点MB传输的流量大小。
Figure BDA0002187857440000134
Figure BDA0002187857440000135
是以工作仿真节点个数B为维度的流量大小矩阵。所述
Figure BDA0002187857440000136
中的任意一元素是在st1执行阶段中发送节点Mb向接收节点MB传输的流量大小。
Figure BDA0002187857440000137
Figure BDA0002187857440000138
是以工作仿真节点个数B为维度的流量大小矩阵。所述
Figure BDA0002187857440000139
中的任意一元素是在st1执行阶段中发送节点Mb向接收节点MB传输的流量大小。
Figure BDA00021878574400001310
是以工作仿真节点个数B为维度的流量大小矩阵。所述
Figure BDA00021878574400001312
中的任意一元素,记为
Figure BDA00021878574400001313
所述
Figure BDA00021878574400001314
表示st1执行阶段中发送节点Mb向接收节点MB传输的流量大小。
Figure BDA0002187857440000141
步骤134,获取执行阶段st2的RelativeStartTime和FLOWS,并组成基于执行阶段st2的网络流组C2
在本发明中,依据st2的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段st2的网络流组C2。所述
Figure BDA0002187857440000142
其中将赋值给
Figure BDA0002187857440000144
Figure BDA0002187857440000145
赋值给
Figure BDA0002187857440000146
Figure BDA0002187857440000147
表示属于网络流组C2的相对起始时间。
Figure BDA0002187857440000148
的单位为秒。
Figure BDA0002187857440000149
表示属于网络流组C2的流传输量。
Figure BDA00021878574400001410
的单位为字节数。
表6基于st2的网络流组获取
Figure BDA00021878574400001411
Figure BDA00021878574400001412
表示st2执行阶段中
Figure BDA00021878574400001413
的相对起始时间,即
Figure BDA00021878574400001414
Figure BDA00021878574400001415
表示st2执行阶段中
Figure BDA00021878574400001416
的相对起始时间,即将赋值给
Figure BDA00021878574400001418
Figure BDA00021878574400001419
表示st2执行阶段中位于
Figure BDA00021878574400001420
之前的网络流
Figure BDA00021878574400001421
的相对起始时间。
Figure BDA00021878574400001422
是以工作仿真节点个数B为维度的流量大小矩阵。所述中的任意一元素,记为所述
Figure BDA00021878574400001425
表示st2执行阶段中发送节点Mb向接收节点MB传输的流量大小。
步骤135,获取执行阶段ste的RelativeStartTime和FLOWS,并组成基于执行阶段ste的网络流组Ca
在本发明中,依据ste的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段ste的网络流组Ca。所述
Figure BDA0002187857440000151
其中将
Figure BDA0002187857440000152
赋值给
Figure BDA0002187857440000153
Figure BDA0002187857440000154
赋值给
Figure BDA0002187857440000155
表示属于网络流组Ca的相对起始时间。
Figure BDA0002187857440000157
的单位为秒。
Figure BDA0002187857440000158
表示属于网络流组Ca的流传输量。
Figure BDA0002187857440000159
的单位为字节数。
表7基于ste的网络流组获取
Figure BDA00021878574400001511
表示ste执行阶段中
Figure BDA00021878574400001512
的相对起始时间,即
Figure BDA00021878574400001513
Figure BDA00021878574400001514
表示ste执行阶段中
Figure BDA00021878574400001515
的相对起始时间,即将
Figure BDA00021878574400001516
赋值给
Figure BDA00021878574400001517
Figure BDA00021878574400001518
表示ste执行阶段中位于
Figure BDA00021878574400001519
之前的网络流
Figure BDA00021878574400001520
的相对起始时间。
是以工作仿真节点个数B为维度的流量大小矩阵。所述
Figure BDA00021878574400001522
中的任意一元素,记为所述
Figure BDA00021878574400001524
表示ste执行阶段中发送节点Mb向接收节点MB传输的流量大小。
步骤136,获取执行阶段stE的RelativeStartTime和FLOWS,并组成基于执行阶段stE的网络流组CA
在本发明中,依据stE的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段stE的网络流组CA。所述
Figure BDA00021878574400001525
其中将
Figure BDA00021878574400001526
赋值给
Figure BDA00021878574400001527
Figure BDA00021878574400001528
赋值给
Figure BDA00021878574400001529
Figure BDA0002187857440000161
表示属于网络流组CA的相对起始时间。的单位为秒。
Figure BDA0002187857440000163
表示属于网络流组CA的流传输量。
Figure BDA0002187857440000164
的单位为字节数。
表8基于stE的网络流组获取
Figure BDA0002187857440000165
表示stE执行阶段中
Figure BDA0002187857440000167
的相对起始时间,即
Figure BDA0002187857440000168
Figure BDA0002187857440000169
表示stE执行阶段中
Figure BDA00021878574400001610
的相对起始时间,即将
Figure BDA00021878574400001611
赋值给
Figure BDA00021878574400001612
Figure BDA00021878574400001613
表示stE执行阶段中位于之前的网络流
Figure BDA00021878574400001615
的相对起始时间。
Figure BDA00021878574400001616
是以工作仿真节点个数B为维度的流量大小矩阵。所述中的任意一元素,记为
Figure BDA00021878574400001618
所述
Figure BDA00021878574400001619
表示stE执行阶段中发送节点Mb向接收节点MB传输的流量大小。
在本发明中,当应用执行的所有阶段完成后,所有的网络流组信息也都全部生成,网络流组信息集为COFLOWS={C1,C2,…,Ca,…,CA},网络流组信息集就是本模块的输出。
网络负载数据生成单元14
参见图2所示,网络负载数据生成子模块14将网络流组信息COFLOWS={C1,C2,…,Ca,…,CA}和工作仿真节点信息EM={M1,M2,…,Mb,…,MB}打包为网络负载数据,记为Load,且Load={B,A,COFLOWS},作为负载生成模块的输出。
网络拓扑配置模块2
参见图2所示,网络拓扑配置模块2依据仿真网络节点和链路信息生成仿真网络的网络拓扑描述数据Topo。仿真网络节点包括有工作仿真节点、驱动仿真节点和交换机。
在本发明中,网络拓扑描述数据采用集合形式表示为Topo={EmuDriver,EM,SWITCHS,LINKS};
EmuDriver表示驱动仿真节点。
EM表示工作仿真节点集合,且EM={M1,M2,…,Mb,…,MB}。
SWITCHS表示交换机节点的集合,且SWITCHS={Switch1,Switch2,…,Switchs},Switch1表示第一个交换机节点;Switch2表示第二个交换机节点;Switchs表示最后一个交换机节点,为了普识性说明,以Switchs表示任意一个交换机节点,下角标s表示交换机的标识号。
LINKS表示仿真网络的网络拓扑结构中的网络链路的集合。
在本发明中,生成的仿真网络的网络拓扑结构中包含有工作仿真节点、驱动仿真节点和交换机,任意一个网络流组信息Ca从发送节点至接收节点的传输路径存在有多条网络链路。
可视化模块3
参见图2所示,在本发明中,可视化模块3第一方面能够在数据仿真传输过程中对仿真网络中的实时网络状态,通过sFlow工具进行网络数据采样并可视化展示;第二方面能够在数据仿真传输过程中对仿真网络中的各网络流组COFLOWS={C1,C2,…,Ca,…,CA}的实时传输状态,通过Web页面进行可视化展示;第三方面能够在数据仿真传输完成后,对各网络流组COFLOWS={C1,C2,…,Ca,…,CA}的完成时间进行可视化展示。
可视化模块3用以直观地提供给用户(user)视屏信息的展示,同时也能为用户(user)提供评估网络优化方案的效果展示。
sFlow软件是由InMon、HP和FoundryNetworks于2001年联合开发的一种网络监测工具,它采用数据流随机采样技术,可提供完整的第二层到第四层,甚至全网络范围内的网络流量(network traffic)信息,可以适应超大网络流量(如大于10Gbit/s)环境下的流量分析,让用户详细、实时地分析网络传输流的性能、趋势和存在的问题。
调度模块4
参见图2、图3所示,在本发明中,调度模块4由工作节点仿真同步协调器41、网络流组调度代理模块42、仿真同步协调器43和网络流组调度器44构成。
为了方便说明,对于EM={M1,M2,…,Mb,…,MB}中选取一个工作仿真节点Mb作为接收节点,记为M,其余工作仿真节点作为发送节点,记为
Figure BDA0002187857440000181
在本发明中,各个子模块之间通过Akka-Actor消息通信,Akka-Actor消息通信参考2018年4月第1版《Akka实战快速构建高可用分布式应用》,杜云飞著,第3、4、16-18页的内容。
工作节点仿真同步协调器41
参见图2、图3所示,在本发明中,工作节点仿真同步协调器41通过Akka-Actor消息通信和驱动仿真节点的仿真同步协调器43和数据发送跟踪器53进行通信,完成发送工作仿真节点和接收工作仿真节点进行网络数据传输前的信息同步。
工作节点仿真同步协调器41主要过程包括三个部分,其中前两个部分中工作节点仿真同步协调器41和驱动仿真节点的仿真同步协调器43进行交互,最后一个部分中工作节点仿真同步协调器41和驱动仿真节点的数据发送跟踪器53进行交互,具体为:
第一部分,对于EM={M1,M2,…,Mb,…,MB}中的所有工作仿真节点通过Akka-Actor消息通信向驱动仿真节点的仿真同步协调器43发送工作节点注册消息
Figure BDA0002187857440000182
进行注册,其中工作节点注册消息MSEM包含所述工作仿真节点的标识号b;如果接收到驱动仿真节点仿真同步协调器43的完成工作节点注册消息
Figure BDA0002187857440000183
则注册完成,否则,表示所述工作仿真节点注册失败。
例如,工作仿真节点M1的发送工作节点注册消息完成工作节点注册消息
Figure BDA0002187857440000185
例如,工作仿真节点M2的发送工作节点注册消息
Figure BDA0002187857440000186
完成工作节点注册消息
例如,工作仿真节点Mb的发送工作节点注册消息完成工作节点注册消息
Figure BDA0002187857440000189
例如,工作仿真节点MB的发送工作节点注册消息
Figure BDA00021878574400001810
完成工作节点注册消息
Figure BDA00021878574400001811
第二部分,从驱动仿真节点的仿真同步协调器43接收仿真开始时间Time注册_EM+5秒并记录下来,对于COFLOWS={C1,C2,…,Ca,…,CA}中任意一条网络流组,即Ca,根据网络流组Ca中的网络流组相对起始时间
Figure BDA0002187857440000191
计算Ca的仿真实际开始时间为
Figure BDA0002187857440000192
Figure BDA0002187857440000193
Figure BDA0002187857440000194
的本地时钟Timelocal到达
Figure BDA0002187857440000195
时,通过Akka-Actor消息通信向驱动仿真节点EmuDriver发送状态更新消息
Figure BDA0002187857440000196
其中状态更新消息
Figure BDA0002187857440000197
包含需要传输的网络流组标识号a和接收节点M
第三部分,当工作节点仿真同步协调器41从驱动仿真节点的数据发送跟踪器53接收到任务启动消息
Figure BDA0002187857440000198
从任务启动消息
Figure BDA0002187857440000199
中提取到网络流组的标识号a,然后工作节点仿真同步协调器41根据本地存储的网络流组信息Ca,计算出网络流组Ca的发送工作仿真节点信息
Figure BDA00021878574400001910
通过Akka-Actor消息通信向驱动仿真节点EmuDriver发送获取输出数据状态消息
Figure BDA00021878574400001911
获取输出数据状态消息
Figure BDA00021878574400001912
中包含有发送工作仿真节点信息
Figure BDA00021878574400001913
和网络流组的标号a。
网络流组调度代理模块42
参见图2所示,在本发明中,工作节点网络流组调度代理模块42通过Akka-Actor消息通信和驱动仿真节点的网络流组调度器44进行交互,工作节点网络流组调度代理模块42从网络流组调度器44获取网络流组的数据传输速率,从而为各网络流组分配工作仿真节点的网络传输带宽,具体过程为:
对于接收节点M当从驱动仿真节点的网络流组调度器44接收到网络速率更新消息
Figure BDA00021878574400001914
后,其中Ca为网络流组信息,工作节点网络流组调度代理模块42会解析网络速率更新消息
Figure BDA00021878574400001915
从中提取网络传输速率frb,a,工作节点网络流组调度代理模块42根据网络传输速率frb,a,设置M向发送节点
Figure BDA00021878574400001916
发送数据请求频率和数据请求大小。
仿真同步协调器43
参见图2、图3所示,本发明中,仿真同步协议器43通过Akka-Actor消息通信与工作仿真节点EM={M1,M2,…,Mb,…,MB}的通信,完成工作仿真节点信息的同步,同时也向各个工作仿真节点EM={M1,M2,…,Mb,…,MB}发送仿真开始时间Time注册_EM+5秒。
仿真同步协调器43的主要任务包括:
第一方面,从Load={B,A,COFLOWS}中分别提取出网络流组信息集COFLOWS={C1,C2,…,Ca,…,CA}和工作仿真节点集EM={M1,M2,M3,…,Mb,…,MB};
第二方面,每一个工作仿真节点EM={M1,M2,M3,…,Mb,…,MB}通过Akka-Actor消息通信向驱动仿真节点EmuDriver发送工作节点注册消息
第三方面,驱动仿真节点EmuDriver中的仿真同步协调器43记录下每一个工作节点注册消息所对应的工作仿真节点;并通过Akka-Actor消息通信向所述工作仿真节点返回完成工作节点注册消息
第四方面,当所有EM={M1,M2,M3,…,Mb,…,MB}完成向驱动仿真节点EmuDriver的注册后,记录下最后一个注册的工作仿真节点的注册完成时间,记为Time注册_EM;然后仿真同步协调器43向各个工作仿真节点发送仿真开始时间Time注册_EM+5秒。
在本发明中,若驱动仿真节点EmuDriver没有收到中的任意一个,则仿真同步协调器43中不会记录该工作仿真节点,也不会向所述工作仿真节点发送仿真开始时间Time注册_EM+5秒。
网络流组调度器44
参见图2所示,在本发明中,数据仿真传输过程中,用户可在驱动仿真节点的网络流组调度器实现需要测试的网络流组调度算法,根据各网络流组信息、各工作仿真节点网络接口带宽来制定网络流调度策略,并通过各工作仿真节点的网络流组调度代理实施调度策略;根据用户输入的调度算法,网络流组调度器生成在仿真网络中实施的调度策略,记为FLOWRATES,所述FLOWRATES的矩阵形式为:
Figure BDA0002187857440000204
下角标B为工作仿真节点的总数,下角标A为网络流组信息的总条数。
frb,a表示工作仿真节点Mb调度网络流组Ca的网络传输速率。
frB,A表示工作仿真节点MB调度网络流组CA的网络传输速率。
在本发明中,和网络流组调度器44交互的模块包括驱动仿真节点的数据发送跟踪器53和工作仿真节点的网络流组调度代理模块42,具体实现为:对于COFLOWS={C1,C2,…,Ca,…,CA}中任意一条网络流组,即Ca,当数据发送跟踪器53发送输出数据状态消息时,触发驱动仿真节点的网络流组调度器44会向自身发送请求调度消息
Figure BDA0002187857440000212
当驱动仿真节点的网络流组调度器44接收到请求调度消息
Figure BDA0002187857440000213
后,根据网络流组调度器44本地存储的网络传输速率frb,a,通过Akka-Actor消息通信以网络速率更新消息
Figure BDA0002187857440000214
发送给Ca的M的网络流组调度代理模块42。
数据跟踪模块5
参见图2、图3所示,在本发明中数据跟踪模块5由数据发送模块51、数据接收模块52和数据发送跟踪器53构成。
数据发送模块51
在本发明中,工作节点数据发送模块51通过Akka-Actor消息通信与数据接收模块52进行交互,发送节点
Figure BDA0002187857440000215
根据从数据接收模块52获取流量传输信息,本地模拟生成给定大小的流量,发送给接收节点M。具体为:
第一,对于中的任意一个节点,当从M接收到获取数据请求消息
Figure BDA0002187857440000217
后,从中解析出网络流传输量
Figure BDA0002187857440000218
网络流传输量
Figure BDA0002187857440000219
中包含发送工作仿真节点向接收工作仿真节点的流量信息;
第二,对于
Figure BDA00021878574400002110
中的任意一个节点根据网络流传输量
Figure BDA00021878574400002111
中的流量信息,生成给定大小的空白数据作为网络流量负载,并利用套接字向接收节点M发送流量,进行模拟数据的发送,从而完成当前网络流组Ca的网络流量传输。
数据接收模块52
在本发明中,接收节点M的数据接收模块52通过Akka-Actor消息通信分别和驱动仿真节点EmuDriver的数据发送跟踪器53以及发送工节点
Figure BDA00021878574400002112
的发送节点数据发送模块51进行交互,数据接收模块52的作用是根据从驱动仿真节点EmuDriver获取的流量传输数据信息,根据本地设置的数据传输速率,向发送节点周期性地进行数据请求,直到该次流量传输完成。具体为:
第一,对于COFLOWS={C1,C2,…,Ca,…,CA}中的任意一条网络流组,例如网络流组Ca,当接收节点M从驱动仿真节点的数据发送跟踪器53接收到输出数据状态消息
Figure BDA0002187857440000222
该输出数据状态消息
Figure BDA0002187857440000223
包含了Ca的发送节点的数据信息
Figure BDA0002187857440000225
包含了所有发送工作仿真节点到接收节点M的流传输量;
第二,对于接收节点M,按照工作节点网络流组调度代理模块设置的网络传输速率frb,a,通过Akka-Actor消息通信周期性地向发送节点
Figure BDA0002187857440000227
发送获取数据请求消息
Figure BDA0002187857440000228
其中获取数据请求消息
Figure BDA0002187857440000229
包含接收节点M和网络流传输量
Figure BDA00021878574400002210
的信息。
数据发送跟踪器53
在本发明中,数据发送跟踪器53属于驱动仿真节点,用于协调EM={M1,M2,…,Mb,…,MB}之间的网络传输,数据发送跟踪器53通过Akka-Actor消息通信和工作仿真节点消息通信,获取并存储网络流组的传输信息,通过Akka-Actor消息通信指导EM={M1,M2,…,Mb,…,MB}的网络传输过程。
数据发送跟踪器53通过Akka-Actor消息通信和工作仿真节点的仿真同步协调器41进行交互,主要包括两方面的功能:
第一,对于COFLOWS={C1,C2,…,Ca,…,CA}中的任意一条网络流组,例如网络流组Ca,驱动仿真节点EmuDriver的数据发送跟踪器53记录来自发送节点
Figure BDA00021878574400002211
有关网络流组Ca的状态更新消息
Figure BDA00021878574400002212
其中状态更新消息
Figure BDA00021878574400002213
包含需要传输的网络流组标识号a和接收节点M;当接收到Ca的所有状态更新消息
Figure BDA00021878574400002214
后,驱动仿真节点EmuDriver根据本地存储、计算并存储网络流组Ca的流量传输信息
Figure BDA00021878574400002215
并通过Akka-Actor消息通信向Ca的M发送任务启动消息
Figure BDA00021878574400002216
第二,当驱动仿真节点EmuDriver的数据发送跟踪器53通过Akka-Actor消息通信从M接收到获取输出数据状态消息
Figure BDA00021878574400002217
数据发送跟踪器53得到Ca
Figure BDA00021878574400002218
集合,在本地存储获取Ca的发送节点的网络流量传输信息
Figure BDA0002187857440000231
通过Akka-Actor消息通信向Ca的M发送输出数据状态消息
Figure BDA0002187857440000232
所述
Figure BDA0002187857440000233
包含了Ca
Figure BDA0002187857440000235
实施例1
仿真环境:本实例所使用的Spark大数据计算框架环境部署于一个4物理主机的网络集群,4台主机的硬件配置相同。主机CPU型号为Intel Core i3-8100,主频为3.6GHz,每个处理器有4个核心,每个核心有32KB的的一级数据缓存、32KB的一级指令缓存、256KB的二级缓存,4个核心共用一个6MB的三级缓存。每个节点拥有8GB的DDR4内存,1TB的机械硬盘空间。四个节点之间通过千兆交换机互联。仿真环境硬件配置为:
Figure BDA0002187857440000234
在软件配置方面,4个节点的主机名被设置为net1,net2,net3,net4,每个节点都使用了64位Ubuntu 16.04操作系统,为了支持Intel Core i3-8100处理器,linux内核采用了较高版本的4.16.2,JDK版本为1.8.0,Scala版本为2.11.6,每个节点都安装了ApacheHadoop 2.9.0以及Apache Spark 2.3.2,net4节点作为集群的主节点,运行HDFS的NameNode,集群管理器的ResourceManager以及Spark的Master和Driver,其余节点运行HDFS的DataNode,集群管理器的NodeManager以及Spark的Worker和Executor。本实验采用Hibench大数据基准测试工具提供的Spark应用程序以及生成输入数据。
仿真工具运行在net4节点上,相应的,net4安装了Mininet 2.3.0,Docker18.03.1以及sFlow-RT。
以下参见图2、图3,给出一个本发明的实施例,说明本发明中Spark计算框架网络传输过程仿真的正确性,具体实施步骤如下:
步骤A:在实际物理主机组成的网络集群上部署Spark大数据计算框架,使用Hibench大数据基准测试工具提供的Spark应用程序PageRank的运行日志作为负载生成输入,用户需要提供Spark应用程序的运行日志以及实验网络拓扑设计;
步骤B:负载生成模块1生成以网络流组信息为内容的网络负载数据Load={B,A,COFLOWS},其中,B表示当前次网络仿真实验中Spark工作仿真节点的个数,A表示当前次仿真实验中要仿真的网络流组的总条数,COFLOWS={C1,C2,…,Ca,…,CA},表示当前次仿真实验中需要仿真的网络流组的信息;
步骤C:用户通过网络拓扑配置模块2录入网络拓扑信息,生成网络拓扑描述数据Topo;
步骤D:Spark计算框架数据传输仿真的调度模块4接收网络负载数据Load,从Load中提取出工作仿真节点数量B,启动驱动仿真节点和所有B个工作仿真节点,同时,虚拟网络软件接收网络拓扑描述数据Topo,建立对应的仿真网络,网络传输过程仿真开始;
步骤E:驱动仿真节点的仿真同步协调器43,从Load中提取出网络流组信息COFLOWS,之后各工作仿真节点与驱动仿真节点完成注册过程,直到最后一个工作仿真节点完成注册后,驱动仿真节点通知各工作仿真节点各网络流组的仿真开始时间为Time注册_EM+5秒,其中Time注册_EM为最后一个工作仿真节点注册完成时间;
步骤F:当发送节点的本地时钟到达仿真实际开始时间时,通过驱动仿真节点通知接收节点任务开始启动,接收节点从驱动仿真节点处获取发送节点的数据状态信息,从而向发送节点发送数据请求,发送节点接收到数据请求后,开始向接收节点发送流量数据;
步骤G:用户启动调度算法,根据自定义的网络流调度策略,为各工作仿真节点网络接口分配带宽。当驱动仿真节点向接收节点发送网络流组的流传输量后,驱动仿真节点会启动一次网络流调度,同时向接收节点发送该节点参与传输网络流组的调度策略信息,即发送节点到该接收节点的数据传输速率,达到调节步骤F中传输数据速率的效果;
步骤H:重复步骤F和步骤G,直至所有网络流组COFLOWS传输完成;
步骤I:数据仿真传输完成后,各网络流组的完成时间数据会在可视化模块中展示,以供用户评估网络优化方案的效果。
如图4和图5分别是集群网络传输结果图和网络仿真传输结果图,集群网络传输结果图中显示在时间(单位为10毫秒)0到1000之间有少量的流量数据传输,时间从2000到4000之间在五个时间点上有大量流量数据传输,网络仿真传输结果图中尽管显示出从时间0到1000之间没有流量数据传输,但是从时间2000到4000之间有五个时间点有大量数据传输,并且这五个时间点和集群网络传输结果中的五个时间点吻合,因此,可以看出本发明仿真系统能较为准确的仿真Spark计算框架网络传输过程。

Claims (5)

1.一种基于Spark计算框架的网络传输过程的网络流量仿真系统,该网络仿真系统包括有网络拓扑配置模块(2)、可视化模块(3)、调度模块(4)和数据跟踪模块(5);
其特征在于:该网络仿真系统还包括有负载生成模块(1);
调度模块(4)和数据跟踪模块(5)分别会在工作仿真节点和驱动仿真节点上;工作仿真节点对应Spark计算框架的Worker节点;驱动仿真节点对应Spark计算框架的驱动程序;
负载生成模块(1)由真实Spark网络传输日志输入单元(11)、网络流组抽象提取单元(12)、建立网络流组生成模型(13)和网络负载数据生成单元(14)构成;
真实Spark网络传输日志输入单元(11)用于接收从Spark日志服务器输出的日志,并将日志存储为txt格式文件;
网络流组提取单元(12)第一方面从真实Spark网络传输日志输入单元(11)中提出出日志(Log);第二方面从日志(Log)中过滤出应用(application)网络传输相关的条目(Item),从所述条目(Item)中读取、解析和存储描述Spark应用(application)执行过程中的网络流flow,所述网络流flow是以计算时间ExeTime和网络传输量RealFlow来计量的;Spark应用(application)执行过程中存在有多个执行阶段ST={st1,st2,…,ste,...,stE},任意一执行阶段ste存在有多条网络流flow;
st1为Spark应用(application)执行过程中第一个执行阶段;
st2为Spark应用(application)执行过程中第二个执行阶段;
ste为Spark应用(application)执行过程中第e个执行阶段;e为执行阶段的标识号;
stE为Spark应用(application)执行过程中最后一个执行阶段;E为执行阶段的总数;
基于st1的网络流信息表中包括有执行阶段、网络流、计算时间和网络传输量内容;
基于st2的网络流信息表中包括有执行阶段、网络流、计算时间和网络传输量内容;
基于ste的网络流信息表包括有执行阶段、网络流、计算时间和网络传输量内容;
基于stE的网络流信息表包括有执行阶段、网络流、计算时间和网络传输量内容;
第三方面,将每个阶段的ExeTime和RealFlow输出给建立网络负载模型(13);
建立网络流组生成模型(13)的建模过程如下:
步骤131,设置工作仿真节目的工作时间长度;
对于任意一个工作仿真节点都维持有一个工作时间长度JobTime,在最初始化时,工作时间长度JobTime赋值0;
第一个工作仿真节点M1的工作时间长度,记为
Figure FDA0002187857430000021
第二个工作仿真节点M2的工作时间长度,记为
Figure FDA0002187857430000022
任意一个工作仿真节点Mb的工作时间长度,记为
最后一个工作仿真节点MB的工作时间长度,记为
步骤132,选取工作时间长度最小的工作仿真节点作为接收节点;
对步骤131中的工作时间长度进行从小至大的排序,得到最小的工作时间长度,记为JobTime;然后将JobTime对应的工作仿真节点作为当前网络传输的接收节点;其余工作时间长度对应的工作仿真节点作为当前网络传输的发送节点;
步骤133,获取执行阶段st1的RelativeStartTime和FLOWS,并组成基于执行阶段st1的网络流组C1
依据st1的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段st1的网络流组C1;所述其中将
Figure FDA0002187857430000026
赋值给
Figure FDA0002187857430000027
Figure FDA0002187857430000028
赋值给
Figure FDA0002187857430000029
Figure FDA00021878574300000210
表示属于网络流组C1的相对起始时间;
Figure FDA00021878574300000211
的单位为秒;
表示属于网络流组C1的流传输量;
Figure FDA00021878574300000213
的单位为字节数;
基于st1的网络流组获取的内容包括有执行阶段、网络流、RelativeStartTime和FLOWS;
Figure FDA0002187857430000031
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure FDA0002187857430000032
中的任意一元素是在st1执行阶段中发送节点Mb向接收节点MB传输的流量大小;
Figure FDA0002187857430000033
Figure FDA0002187857430000034
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure FDA0002187857430000035
中的任意一元素是在st1执行阶段中发送节点Mb向接收节点MB传输的流量大小;
Figure FDA0002187857430000036
Figure FDA0002187857430000037
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure FDA0002187857430000038
中的任意一元素是在st1执行阶段中发送节点Mb向接收节点MB传输的流量大小;
Figure FDA0002187857430000039
Figure FDA00021878574300000310
是以工作仿真节点个数B为维度的流量大小矩阵;所述中的任意一元素,记为
Figure FDA00021878574300000312
所述
Figure FDA00021878574300000313
表示st1执行阶段中发送节点Mb向接收节点MB传输的流量大小;
Figure FDA0002187857430000041
步骤134,获取执行阶段st2的RelativeStartTime和FLOWS,并组成基于执行阶段st2的网络流组C2
依据st2的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段st2的网络流组C2;所述
Figure FDA0002187857430000042
其中将赋值给
Figure FDA0002187857430000044
Figure FDA0002187857430000045
赋值给
Figure FDA0002187857430000046
表示属于网络流组C2的相对起始时间;
Figure FDA0002187857430000048
的单位为秒;
表示属于网络流组C2的流传输量;
Figure FDA00021878574300000410
的单位为字节数;
基于st2的网络流组获取的内容包括有执行阶段、网络流、RelativeStartTime和FLOWS;
Figure FDA00021878574300000411
表示st2执行阶段中
Figure FDA00021878574300000412
的相对起始时间,即
Figure FDA00021878574300000414
表示st2执行阶段中
Figure FDA00021878574300000415
的相对起始时间,即将
Figure FDA00021878574300000416
赋值给
Figure FDA00021878574300000417
表示st2执行阶段中位于
Figure FDA00021878574300000419
之前的网络流
Figure FDA00021878574300000420
的相对起始时间;
Figure FDA00021878574300000421
是以工作仿真节点个数B为维度的流量大小矩阵;所述中的任意一元素,记为
Figure FDA00021878574300000423
所述
Figure FDA00021878574300000424
表示st2执行阶段中发送节点Mb向接收节点MB传输的流量大小;
步骤135,获取执行阶段ste的RelativeStartTime和FLOWS,并组成基于执行阶段ste的网络流组Ca
依据ste的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段ste的网络流组Ca;所述其中将
Figure FDA0002187857430000052
赋值给
Figure FDA0002187857430000053
Figure FDA0002187857430000054
赋值给
Figure FDA0002187857430000055
Figure FDA0002187857430000056
表示属于网络流组Ca的相对起始时间;的单位为秒;
Figure FDA0002187857430000058
表示属于网络流组Ca的流传输量;
Figure FDA0002187857430000059
的单位为字节数;
基于ste的网络流组获取的内容包括有执行阶段、网络流、RelativeStartTime和FLOWS;
Figure FDA00021878574300000510
表示ste执行阶段中
Figure FDA00021878574300000511
的相对起始时间,即
Figure FDA00021878574300000512
Figure FDA00021878574300000513
表示ste执行阶段中
Figure FDA00021878574300000514
的相对起始时间,即将
Figure FDA00021878574300000515
赋值给
Figure FDA00021878574300000517
表示ste执行阶段中位于
Figure FDA00021878574300000518
之前的网络流
Figure FDA00021878574300000519
的相对起始时间;
Figure FDA00021878574300000520
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure FDA00021878574300000521
中的任意一元素,记为
Figure FDA00021878574300000522
所述
Figure FDA00021878574300000523
表示ste执行阶段中发送节点Mb向接收节点MB传输的流量大小;
步骤136,获取执行阶段stE的RelativeStartTime和FLOWS,并组成基于执行阶段stE的网络流组CA
依据stE的网络流信息并结合最小的工作时间长度、以及发送节点与接收节点之间的流传输大小,得到属于执行阶段stE的网络流组CA;所述
Figure FDA00021878574300000524
其中将
Figure FDA00021878574300000525
赋值给
Figure FDA00021878574300000526
Figure FDA00021878574300000527
赋值给
Figure FDA00021878574300000528
Figure FDA00021878574300000529
表示属于网络流组CA的相对起始时间;
Figure FDA00021878574300000530
的单位为秒;
Figure FDA00021878574300000531
表示属于网络流组CA的流传输量;的单位为字节数;
基于stE的网络流组获取的内容包括有执行阶段、网络流、RelativeStartTime和FLOWS;
Figure FDA00021878574300000533
表示stE执行阶段中的相对起始时间,即
Figure FDA00021878574300000536
表示stE执行阶段中
Figure FDA00021878574300000537
的相对起始时间,即将赋值给
Figure FDA0002187857430000062
Figure FDA0002187857430000063
表示stE执行阶段中位于
Figure FDA0002187857430000064
之前的网络流
Figure FDA0002187857430000065
的相对起始时间;
Figure FDA0002187857430000066
是以工作仿真节点个数B为维度的流量大小矩阵;所述
Figure FDA0002187857430000067
中的任意一元素,记为
Figure FDA0002187857430000068
所述
Figure FDA0002187857430000069
表示stE执行阶段中发送节点Mb向接收节点MB传输的流量大小;
当应用执行的所有阶段完成后,所有的网络流组信息也都全部生成,网络流组信息集为COFLOWS={C1,C2,…,Ca,…,CA},网络流组信息集就是本模块的输出;
网络负载数据生成子模块(14)将网络流组信息COFLOWS={C1,C2,…,Ca,…,CA}和工作仿真节点信息EM={M1,M2,…,Mb,…,MB}打包为网络负载数据,记为Load,且Load={B,A,COFLOWS},作为负载生成模块的输出。
2.根据权利要求1所述的基于Spark计算框架的网络传输过程的网络流量仿真系统,其特征在于:网络拓扑配置模块(2)依据仿真网络节点和链路信息生成仿真网络的网络拓扑描述数据Topo;仿真网络节点包括有工作仿真节点、驱动仿真节点和交换机;
网络拓扑描述数据采用集合形式表示为Topo={EmuDriver,EM,SWITCHS,LINKS};
EmuDriver表示驱动仿真节点;
EM表示工作仿真节点集合,且EM={M1,M2,…,Mb,…,MB};
SWITCHS表示交换机节点的集合,且SWITCHS={Switch1,Switch2,…,Switchs},Switch1表示第一个交换机节点;Switch2表示第二个交换机节点;Switchs表示最后一个交换机节点,为了普识性说明,以Switchs表示任意一个交换机节点,下角标s表示交换机的标识号;
LINKS表示仿真网络的网络拓扑结构中的网络链路的集合。
3.根据权利要求1所述的基于Spark计算框架的网络传输过程的网络流量仿真系统,其特征在于:可视化模块(3)第一方面能够在数据仿真传输过程中对仿真网络中的实时网络状态,通过sFlow工具进行网络数据采样并可视化展示;第二方面能够在数据仿真传输过程中对仿真网络中的各网络流组COFLOWS={C1,C2,…,Ca,…,CA}的实时传输状态,通过Web页面进行可视化展示;第三方面能够在数据仿真传输完成后,对各网络流组COFLOWS={C1,C2,…,Ca,…,CA}的完成时间进行可视化展示。
4.根据权利要求1所述的基于Spark计算框架的网络传输过程的网络流量仿真系统,其特征在于:所述调度模块(4)由工作节点仿真同步协调器(41)、网络流组调度代理模块(42)、仿真同步协调器(43)和网络流组调度器(44)构成;
工作节点仿真同步协调器(41)通过Akka-Actor消息通信和驱动仿真节点的仿真同步协调器(43)和数据发送跟踪器(53)进行通信,完成发送工作仿真节点和接收工作仿真节点进行网络数据传输前的信息同步;
工作节点仿真同步协调器(41)主要过程包括三个部分,其中前两个部分中工作节点仿真同步协调器(41)和驱动仿真节点的仿真同步协调器(43)进行交互,最后一个部分中工作节点仿真同步协调器(41)和驱动仿真节点的数据发送跟踪器(53)进行交互,具体为:
第一部分,对于EM={M1,M2,…,Mb,…,MB}中的所有工作仿真节点通过Akka-Actor消息通信向驱动仿真节点的仿真同步协调器(43)发送工作节点注册消息
Figure FDA0002187857430000071
进行注册,其中工作节点注册消息MSEM包含所述工作仿真节点的标识号b;如果接收到驱动仿真节点仿真同步协调器43的完成工作节点注册消息
Figure FDA0002187857430000072
则注册完成,否则,表示所述工作仿真节点注册失败;
第二部分,从驱动仿真节点的仿真同步协调器(43)接收仿真开始时间Time注册_EM+5秒并记录下来,对于COFLOWS={C1,C2,…,Ca,…,CA}中任意一条网络流组,即Ca,根据网络流组Ca中的网络流组相对起始时间计算Ca的仿真实际开始时间为
Figure FDA0002187857430000075
Figure FDA0002187857430000076
的本地时钟Timelocal到达
Figure FDA0002187857430000077
时,通过Akka-Actor消息通信向驱动仿真节点EmuDriver发送状态更新消息
Figure FDA0002187857430000078
其中状态更新消息包含需要传输的网络流组标识号a和接收节点M
第三部分,当工作节点仿真同步协调器(41)从驱动仿真节点的数据发送跟踪器53接收到任务启动消息
Figure FDA0002187857430000081
从任务启动消息
Figure FDA0002187857430000082
中提取到网络流组的标识号a,然后工作节点仿真同步协调器41根据本地存储的网络流组信息Ca,计算出网络流组Ca的发送工作仿真节点信息
Figure FDA0002187857430000083
通过Akka-Actor消息通信向驱动仿真节点EmuDriver发送获取输出数据状态消息
Figure FDA0002187857430000084
获取输出数据状态消息
Figure FDA0002187857430000085
中包含有发送工作仿真节点信息和网络流组的标号a;
工作节点网络流组调度代理模块(42)通过Akka-Actor消息通信和驱动仿真节点的网络流组调度器(44)进行交互,工作节点网络流组调度代理模块(42)从网络流组调度器(44)获取网络流组的数据传输速率,从而为各网络流组分配工作仿真节点的网络传输带宽,具体过程为:
对于接收节点M当从驱动仿真节点的网络流组调度器(44)接收到网络速率更新消息
Figure FDA0002187857430000087
后,其中Ca为网络流组信息,工作节点网络流组调度代理模块(42)会解析网络速率更新消息
Figure FDA0002187857430000088
从中提取网络传输速率frb,a,工作节点网络流组调度代理模块(42)根据网络传输速率frb,a,设置M向发送节点
Figure FDA0002187857430000089
发送数据请求频率和数据请求大小;
仿真同步协议器(43)通过Akka-Actor消息通信与工作仿真节点EM={M1,M2,…,Mb,…,MB}的通信,完成工作仿真节点信息的同步,同时也向各个工作仿真节点EM={M1,M2,…,Mb,…,MB}发送仿真开始时间Time注册_EM+5秒;
仿真同步协调器(43)的主要任务包括:
第一方面,从Load={B,A,COFLOWS}中分别提取出网络流组信息集COFLOWS={C1,C2,…,Ca,…,CA}和工作仿真节点集EM={M1,M2,M3,…,Mb,…,MB};
第二方面,每一个工作仿真节点EM={M1,M2,M3,…,Mb,…,MB}通过Akka-Actor消息通信向驱动仿真节点EmuDriver发送工作节点注册消息
Figure FDA00021878574300000810
第三方面,驱动仿真节点EmuDriver中的仿真同步协调器(43)记录下每一个工作节点注册消息所对应的工作仿真节点;并通过Akka-Actor消息通信向所述工作仿真节点返回完成工作节点注册消息
Figure FDA0002187857430000091
第四方面,当所有EM={M1,M2,M3,…,Mb,…,MB}完成向驱动仿真节点EmuDriver的注册后,记录下最后一个注册的工作仿真节点的注册完成时间,记为Time注册_EM;然后仿真同步协调器(43)向各个工作仿真节点发送仿真开始时间Time注册_EM+5秒;
若驱动仿真节点EmuDriver没有收到中的任意一个,则仿真同步协调器43中不会记录该工作仿真节点,也不会向所述工作仿真节点发送仿真开始时间Time注册_EM+5秒;
和网络流组调度器(44)交互的模块包括驱动仿真节点的数据发送跟踪器(53)和工作仿真节点的网络流组调度代理模块(42),具体实现为:对于COFLOWS={C1,C2,…,Ca,…,CA}中任意一条网络流组,即Ca,当数据发送跟踪器(53)发送输出数据状态消息
Figure FDA0002187857430000093
时,触发驱动仿真节点的网络流组调度器(44)会向自身发送请求调度消息
Figure FDA0002187857430000094
当驱动仿真节点的网络流组调度器(44)接收到请求调度消息
Figure FDA0002187857430000095
后,根据网络流组调度器(44)本地存储的网络传输速率frb,a,通过Akka-Actor消息通信以网络速率更新消息发送给Ca的M的网络流组调度代理模块(42)。
5.根据权利要求1所述的基于Spark计算框架的网络传输过程的网络流量仿真系统,其特征在于:所述数据跟踪模块(5)由数据发送模块(51)、数据接收模块(52)和数据发送跟踪器(53)构成;
工作节点数据发送模块(51)通过Akka-Actor消息通信与数据接收模块(52)进行交互,发送节点根据从数据接收模块(52)获取流量传输信息,本地模拟生成给定大小的流量,发送给接收节点M;具体为:
第一,对于
Figure FDA0002187857430000098
中的任意一个节点,当从M接收到获取数据请求消息后,从中解析出网络流传输量
Figure FDA0002187857430000102
网络流传输量
Figure FDA0002187857430000103
中包含发送工作仿真节点向接收工作仿真节点的流量信息;
第二,对于
Figure FDA0002187857430000104
中的任意一个节点根据网络流传输量中的流量信息,生成给定大小的空白数据作为网络流量负载,并利用套接字向接收节点M发送流量,进行模拟数据的发送,从而完成当前网络流组Ca的网络流量传输;
接收节点M的数据接收模块(52)通过Akka-Actor消息通信分别和驱动仿真节点EmuDriver的数据发送跟踪器(53)以及发送工节点
Figure FDA0002187857430000106
的发送节点数据发送模块(51)进行交互,数据接收模块(52)的作用是根据从驱动仿真节点EmuDriver获取的流量传输数据信息,根据本地设置的数据传输速率,向发送节点
Figure FDA0002187857430000107
周期性地进行数据请求,直到该次流量传输完成;具体为:
第一,对于COFLOWS={C1,C2,…,Ca,…,CA}中的任意一条网络流组,例如网络流组Ca,当接收节点M从驱动仿真节点的数据发送跟踪器53接收到输出数据状态消息
Figure FDA0002187857430000108
该输出数据状态消息
Figure FDA0002187857430000109
包含了Ca的发送节点的数据信息包含了所有发送工作仿真节点
Figure FDA00021878574300001012
到接收节点M的流传输量;
第二,对于接收节点M,按照工作节点网络流组调度代理模块设置的网络传输速率frb,a,通过Akka-Actor消息通信周期性地向发送节点
Figure FDA00021878574300001013
发送获取数据请求消息
Figure FDA00021878574300001014
其中获取数据请求消息
Figure FDA00021878574300001015
包含接收节点M和网络流传输量
Figure FDA00021878574300001016
的信息;
数据发送跟踪器(53)属于驱动仿真节点,用于协调EM={M1,M2,…,Mb,…,MB}之间的网络传输,数据发送跟踪器(53)通过Akka-Actor消息通信和工作仿真节点消息通信,获取并存储网络流组的传输信息,通过Akka-Actor消息通信指导EM={M1,M2,…,Mb,…,MB}的网络传输过程;
数据发送跟踪器(53)通过Akka-Actor消息通信和工作仿真节点的仿真同步协调器(41)进行交互,主要包括两方面的功能:
第一,对于COFLOWS={C1,C2,…,Ca,…,CA}中的任意一条网络流组,例如网络流组Ca,驱动仿真节点EmuDriver的数据发送跟踪器(53)记录来自发送节点
Figure FDA0002187857430000111
有关网络流组Ca的状态更新消息
Figure FDA0002187857430000112
其中状态更新消息包含需要传输的网络流组标识号a和接收节点M;当接收到Ca的所有状态更新消息
Figure FDA0002187857430000114
后,驱动仿真节点EmuDriver根据本地存储、计算并存储网络流组Ca的流量传输信息并通过Akka-Actor消息通信向Ca的M发送任务启动消息
Figure FDA0002187857430000116
第二,当驱动仿真节点EmuDriver的数据发送跟踪器(53)通过Akka-Actor消息通信从M接收到获取输出数据状态消息
Figure FDA0002187857430000117
数据发送跟踪器(53)得到Ca集合,在本地存储获取Ca的发送节点的网络流量传输信息
Figure FDA0002187857430000119
通过Akka-Actor消息通信向Ca的M发送输出数据状态消息
Figure FDA00021878574300001110
所述
Figure FDA00021878574300001111
包含了Ca
CN201910822129.3A 2019-09-02 2019-09-02 基于Spark计算框架的网络传输过程的网络流量仿真系统 Active CN110635943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910822129.3A CN110635943B (zh) 2019-09-02 2019-09-02 基于Spark计算框架的网络传输过程的网络流量仿真系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910822129.3A CN110635943B (zh) 2019-09-02 2019-09-02 基于Spark计算框架的网络传输过程的网络流量仿真系统

Publications (2)

Publication Number Publication Date
CN110635943A true CN110635943A (zh) 2019-12-31
CN110635943B CN110635943B (zh) 2020-11-06

Family

ID=68969911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910822129.3A Active CN110635943B (zh) 2019-09-02 2019-09-02 基于Spark计算框架的网络传输过程的网络流量仿真系统

Country Status (1)

Country Link
CN (1) CN110635943B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112134738A (zh) * 2020-09-24 2020-12-25 中电科仪器仪表有限公司 基于复合二维Sketch的网络多维度数据流仿真装置
CN112860965A (zh) * 2020-12-31 2021-05-28 浙江大学 一种基于日志的网络模拟可视化仿真平台
CN112866036A (zh) * 2021-02-24 2021-05-28 鹏城实验室 云计算平台的网络流量仿真方法、系统及计算机存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684893A (zh) * 2012-09-04 2014-03-26 清华大学 一种网络仿真分析设备及方法
CN107683597A (zh) * 2015-06-04 2018-02-09 思科技术公司 用于异常检测的网络行为数据收集和分析
CN108123819A (zh) * 2016-11-30 2018-06-05 江南大学 一种虚实网络无缝融合的仿真方法
CN108234187A (zh) * 2016-12-22 2018-06-29 江南大学 一种面向数据报文转发的高逼真链路仿真方法
US20180351869A1 (en) * 2014-08-22 2018-12-06 Futurewei Technologies, Inc. Learning Or Emulation Approach to Traffic Engineering in Information-Centric Networks
CN109088796A (zh) * 2018-09-19 2018-12-25 哈尔滨工业大学 基于网络层析成像技术的网络流量矩阵预测方法
CN109818786A (zh) * 2019-01-20 2019-05-28 北京工业大学 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103684893A (zh) * 2012-09-04 2014-03-26 清华大学 一种网络仿真分析设备及方法
US20180351869A1 (en) * 2014-08-22 2018-12-06 Futurewei Technologies, Inc. Learning Or Emulation Approach to Traffic Engineering in Information-Centric Networks
CN107683597A (zh) * 2015-06-04 2018-02-09 思科技术公司 用于异常检测的网络行为数据收集和分析
CN108123819A (zh) * 2016-11-30 2018-06-05 江南大学 一种虚实网络无缝融合的仿真方法
CN108234187A (zh) * 2016-12-22 2018-06-29 江南大学 一种面向数据报文转发的高逼真链路仿真方法
CN109088796A (zh) * 2018-09-19 2018-12-25 哈尔滨工业大学 基于网络层析成像技术的网络流量矩阵预测方法
CN109818786A (zh) * 2019-01-20 2019-05-28 北京工业大学 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YIMING LI, LUMING ZHAO等: "Traffic Flow Prediction With Big Data: A Learning Approach Based on SIS-Complex Networks", 《2017 IEEE 2ND INFORMATION TECHNOLOGY, NETWORKING, ELECTRONIC AND AUTOMATION CONTROL CONFERENCE (ITNEC)》 *
田中大,高宪文等: "遗传算法优化回声状态网络的网络流量预测", 《计算机研究与发展 》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112134738A (zh) * 2020-09-24 2020-12-25 中电科仪器仪表有限公司 基于复合二维Sketch的网络多维度数据流仿真装置
CN112134738B (zh) * 2020-09-24 2023-03-24 中电科思仪科技股份有限公司 基于复合二维Sketch的网络多维度数据流仿真装置
CN112860965A (zh) * 2020-12-31 2021-05-28 浙江大学 一种基于日志的网络模拟可视化仿真平台
CN112860965B (zh) * 2020-12-31 2022-07-19 浙江大学 一种基于日志的网络模拟可视化仿真平台
CN112866036A (zh) * 2021-02-24 2021-05-28 鹏城实验室 云计算平台的网络流量仿真方法、系统及计算机存储介质

Also Published As

Publication number Publication date
CN110635943B (zh) 2020-11-06

Similar Documents

Publication Publication Date Title
CN108768685B (zh) 大规模信息通信网络实时仿真模拟系统
US10749757B2 (en) Method and apparatus for generating network control policy, and network controller
Gupta et al. DieCast: Testing distributed systems with an accurate scale model
CN104954166A (zh) 一种基于硬件的网络仿真系统及仿真方法
WO2022110446A1 (zh) 异构集群调度的模拟方法、装置、计算机设备及存储介质
CN110635943B (zh) 基于Spark计算框架的网络传输过程的网络流量仿真系统
CN105763570A (zh) 一种基于虚拟化技术的分布式实时网络仿真系统
Liu et al. Modeling a leadership-scale storage system
CN102307369A (zh) 支持无线传感网并行仿真和实物模拟的装置及方法
CN102696013A (zh) 用于预测多层计算机软件系统的性能的方法和设备
CN112527647B (zh) 基于NS-3的Raft共识算法测试系统
US9779120B1 (en) Native storage data collection using plug-ins that are independent from data sources
CN114492052A (zh) 一种全局流级别网络仿真方法、系统及装置
CN105553732B (zh) 一种分布式网络模拟方法及系统
CN101799767B (zh) 一种利用模拟器多种运行模式反复切换进行并行模拟的方法
Totoni et al. Simulation-based performance analysis and tuning for a two-level directly connected system
Simmonds et al. Towards scalable network emulation
Hung et al. Performance evaluation of machine-to-machine (M2M) systems with virtual machines
CN114912255A (zh) 在线仿真实验系统及方法
Pluzhnik et al. Laboratory test bench for research network and cloud computing
CN105391597A (zh) 基于多服务器仿真的雪崩测试的方法、装置及系统
Neves et al. Mremu: An emulation-based framework for datacenter network experimentation using realistic mapreduce traffic
CN110290206A (zh) 一种用于网吧环境的分布式计算系统及方法
Roman et al. Understanding spark performance in hybrid and multi-site clouds
CN113535389B (zh) 一种实验方案并行推演管控系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant