一种基于多核或众核嵌入式处理器的网络测量系统及方法

文档序号:6551522阅读:170来源:国知局
一种基于多核或众核嵌入式处理器的网络测量系统及方法
【专利摘要】本发明公开了一种基于多核或众核嵌入式处理器的网络测量系统及方法,包括被测网络设备,还包括系统监管层、系统控制层及系统数据层,所述系统监管层采用X86计算机,所述系统控制层及系统数据层采用多核或众核嵌入式处理器;所述系统监管层及系统控制层之间通过PCIE计算机总线接口标准总线进行通信;所述系统监管层包括参数设置模块、管理测试例生成模块及结果显示模块,所述系统控制层包括控制执行模块、任务调度模块及测试包构造模块,所述系统数据层包括数据包分流模块、数据处理模块及性能分析模块;本系统提高测量速度、提高发包速度、节约成本。
【专利说明】-种基于多核或众核嵌入式处理器的网络测量系统及方法

【技术领域】
[0001] 本发明涉及多核及众核嵌入式处理器和网络测量领域,具体为一种基于多核或众 核嵌入式处理器的网络测量系统及方法。

【背景技术】
[0002] 随着通信技术的快速发展以及多核或众核嵌入式处理器的出现,传统的单核处理 模式已经无法满足高速网络测量的需求。多核或众核处理器采用并行处理模式,多任务并 行处理,可以在低主频的情况下提高处理速度,并且降低功耗。而随着宽带的日益增加,对 于不同种类的网络产品需要进行相应的性能和安全测试,网络测量技术特别是对网络性能 测量技术的研究作为理解网络行为、认识互联网规律的基本方法,己成为当前计算机网络 领域重要研究热点之一。因此,利用多核或众核处理器进行网络测量系统的设计非常具有 现实意义。申请号为201210077745. 9的发明专利公开了一种基于智能多核网卡的网络测 试仪及其测试方法,该发明中指出高速网络测试仪包括LCD显示器、存储器、X86、智能多核 网卡;并说明了该网络测试仪的测试方法以及步骤。
[0003] 上述发明专利虽然是一种基于智能多核网卡的网络测试仪,但实际上并未涉及嵌 入式多核或众核处理器的关键设计思想,也未对网络测量系统进行分层设计,更未提及如 何利用嵌入式处理器进行并行设计的思想,且对于多核或众核嵌入式处理器,针对网络测 量系统的分层设计以及并行化设计的研究具有重要意义。


【发明内容】

[0004] 针对以上现有技术中的不足,本发明的目的在于提供一种提高测量速度、提高发 包速度、节约成本的基于多核或众核嵌入式处理器的网络测量系统及方法。本发明的技术 方案如下:一种基于多核或众核嵌入式处理器的网络测量系统,包括被测网络设备,还包括 系统监管层、系统控制层及系统数据层,所述系统监管层采用X86计算机,所述系统控制层 及系统数据层采用多核或众核嵌入式处理器;所述系统监管层及系统控制层之间通过计 算机总线接口标准PCIE总线进行通信;其中,
[0005] 所述系统监管层包括参数设置模块、管理测试例生成模块及结果显示模块,所述 参数设置模块用于用户对测试参数进行配置;所述管理测试例生成模块用于根据参数设置 模块配置的测试参数生成测试例;所述结果显示模块用于对测试结果进行显示;
[0006] 所述系统控制层包括控制执行模块、任务调度模块及测试包构造模块,所述控制 执行模块模块用于对被测网络设备的测试过程进行控制,并对被测网络设备的测试测试过 程中出现的异常情况做出响应处理;所述任务调度模块用于根据管理测试例生成模块生成 的测试例,对测试例进行识别并分配给多核或众核嵌入式处理器的若干个核进行处理;所 述测试包构造模块用于构造测试包,所述测试包包括任务编号、数据包类型、数据包的源IP 地址、目的IP地址、端口号;
[0007] 所述系统数据层包括数据包分流模块、数据处理模块及性能分析模块;所述数据 包分流模块用于对被测网络设备返回的数据包进行匹配并分发到多核或众核嵌入式处理 器的对应的工作核队列中,所述数据处理模块用于工作核根据测试任务种类对数据包进行 相应处理;所述性能分析模块用于对数据处理模块处理完成的数据包数据进行性能分析, 判断出被测网络设备的性能,并传输给系统控制层的控制执行模块,所述控制执行模块判 断测试是否完成,若完成则将测试结果传输给系统监管层的结果分析显示模块进行显示; 否则继续进行测试。
[0008] 进一步的,所述多核或众核嵌入式处理器为同构或异构处理器,所述核的数量至 少为8个,所述收发端口配置包括至少2个GE网络端口,其中一个为RX端口,另一个为TX 端口。
[0009] 一种基于所述系统的网络测量方法,其包括以下步骤:
[0010] 301、测试系统开始工作时,首先由系统监管层的参数设置模块提供的交互界面 供用户配置测试参数;在程序编译时,编译工具根据配置文件中的设置值,设定程序的初始 化代码,保证程序运行时相关参数初始值即为配置文件所设置并生成测试例;
[0011] 302、然后X86计算机将编译好的程序载入到多核或众核嵌入式处理器启动测试 流程;此时系统控制层的控制执行模块控制测试流程的开始与结束,任务调度模块根据测 试任务的大小、种类为测试任务创建并分配工作区队列,工作核根据测试任务的指定完成 测试数据包的构造并发送至被测设备;
[0012] 303、系统数据平面的数据包分流模块对被测设备返回的数据包进行匹配并分发 到各工作核队列中,系统数据平面的数据处理、性能分析模块根据测试任务种类对数据包 进行相应处理,并将分析结果反馈给系统控制执行模块,判断测试是否完成,如果是,则将 结果上传给系统监管层面的结果显示模块,否则进行下一轮测试数据包的构造开始新的测 试。
[0013] 本发明的优点及有益效果如下:
[0014] (1)本发明提出的对系统分层并模块化设计方案使得系统的可扩展性增强,适用 于目前大多数的多核或众核嵌入式处理器,满足了大部分网络测量的应用需求。
[0015] (2)本发明中利用多核并行发包模式,能够提供高速准确的发包速度,满足10GE 网络测量的需求,测试方法简单,实现了成本较低的网络测量系统。

【专利附图】

【附图说明】
[0016] 图1所示为本发明优选实施例基于多核或众核嵌入式处理器的网络测量系统框 架图;
[0017] 图2为本发明优选实施例的系统通信框图;
[0018] 图3本发明优选实施例的系统流程图;
[0019] 图4为本发明优选实施例的系统结构框图。

【具体实施方式】
[0020] 下面结合附图给出一个非限定性的实施例对本发明作进一步的阐述。
[0021] 图1所示为本发明系统设计的整体框架图,一种基于多核或众核嵌入式处理器的 网络测量系统,包括被测网络设备,还包括系统监管层、系统控制层及系统数据层,所述系 统监管层采用X86计算机,所述系统控制层及系统数据层采用多核或众核嵌入式处理器; 所述系统监管层及系统控制层之间通过(计算机总线接口标准)PCIE总线进行通信;其中,
[0022] 所述系统监管层包括参数设置模块、管理测试例生成模块及结果显示模块,所述 参数设置模块用于用户对测试参数进行配置(比如测试指标(吞吐量、时延等)、测试包数 据类型(tcp、udp));所述管理测试例生成模块用于根据参数设置模块配置的测试参数生 成测试例;所述结果显示模块用于对测试结果进行显示;
[0023] 所述系统控制层包括控制执行模块、任务调度模块及测试包构造模块,所述控制 执行模块模块用于对被测网络设备的测试过程进行控制,并对被测网络设备的测试测试过 程中出现的异常情况(包括输入输出异常,数据包返回超时等,程序自动检测并退出本次 测试并上报错误信息)做出响应处理;所述任务调度模块用于根据管理测试例生成模块生 成的测试例,对测试例进行识别并分配给多核或众核嵌入式处理器的若干个核进行处理; 所述测试包构造模块用于构造测试包,所述测试包包括任务编号、数据包类型、数据包的源 IP地址、目的IP地址、端口号;
[0024] 所述系统数据层包括数据包分流模块、数据处理模块及性能分析模块;所述数据 包分流模块用于对被测网络设备返回的数据包进行匹配并分发到多核或众核嵌入式处理 器的对应的工作核队列中,所述数据处理模块用于工作核根据测试任务种类对数据包进行 相应处理(比如提取数据包时间戳得到时延数据、统计数据包数量得到吞吐量结果);所述 性能分析模块用于对数据处理模块处理完成的数据包数据进行性能分析,判断出被测网络 设备的性能,并传输给系统控制层的控制执行模块,所述控制执行模块判断测试是否完成, 若完成则将测试结果传输给系统监管层的结果分析显示模块进行显示;否则继续进行测 试。
[0025] 进一步的,所述多核或众核嵌入式处理器为同构或异构处理器,所述核的数量至 少为8个,所述收发端口配置包括至少2个GE网络端口,其中一个为RX端口,另一个为TX 端口。
[0026] 分为系统监管层面、系统控制层面、系统数据层面3层。其中监管层面属于X86计 算机,控制层面和数据层面属于嵌入式多核或众核处理器,X86和嵌入式多核或众核处理器 通过PCIE总线相连,被测设备通过嵌入式多核的收发端口相连;图中可以看出,系统监管 层面由参数设置、测试例生成、结果显示3个模块组成,系统控制层面由控制执行、任务调 度、测试包构造3个模块组成,系统数据层面由数据包分流、数据处理、性能分析3个模块组 成。
[0027] 图2所示为本发明系统的通信框图,主控计算机与多核或众核嵌入式处理器通过 PCIE总线进行通信,多核或众核处理器通过网口将测试数据包发送到被测设备,并等待数 据包从另一端网口返回,完成整个测试过程的通信流程。
[0028] 图3所示为本发明系统的流程图。结合图4系统结构框图对系统做详细说明。测 量系统开始工作时,首先由用户配置测试参数,在程序编译时,编译工具根据配置文件中的 设置值,设定程序的初始化代码,保证程序运行时相关参数初始值即为配置文件所设置并 生成测试例;然后X86计算机将编译好的程序载入到多核或众核嵌入式处理器启动测试流 程;测试过程中,系统控制层面保证测试流程顺利执行。控制执行模块检测测试流程是否 符合结束条件,并控制程序的执行与结束,同时检测测试过程中可能出现的异常情况,并做 出相应处理;任务调度模块完成对测试任务的识别以及核的分配,程序可以根据测试任务 种类不同而选择相应的测试方法,同时可以根据测试任务的大小分配工作核数,保证程序 可以快速、准确的完成测试数据包的构造生成功能并将数据包发送至被测设备。系统数据 层面完成对测试数据包的接收以及数据的分析处理功能。数据分流模块对被测设备返回 的数据包进行匹配并分发到各工作核队列中,工作核根据测试任务种类对数据包进行相应 处理,并将分析结果反馈给系统控制执行模块,判断测试是否完成,如果是,则将结果上传 给X86主机,否则进行下一轮测试。多核或众核嵌入式处理器的并行处理方法主要体现 在:主控核将根据测试任务的大小以及测试数据包的种类对多核或众核嵌入式处理器进行 核的分配,测试包构造模块为主控核指定的多个核心运行测试包构造程序达到系统指定发 包速率,完成任务调度以及测试包的构造功能;如图4所示核1-1、核1-2、核1-3完成测试 包构造并将测试包发送至网口 1。测试包的种类包括任务编号、数据包类型、数据包的源IP 地址、目的IP地址、端口号等;若有多个任务同时执行,主控核也可分配多个工作区同时进 行测试任务,如图4所示2个测试任务并行执行。达到多流水线并行测试功能。系统根据 测试包任务编号进行区分处理,将测试包发送到程序指定的被测设备,并等待数据包的返 回交由系统数据层面处理;如图4所示核1-4、核1-5、核1-n完成系统数据层面功能。系统 数据层面会根据返回的数据包判断结果是否符合结束条件,如果符合则将结果上传给X86 控制机,否则重复构造测试包进行下一轮测试任务。整个测试过程中主控核会自动获取多 核或众核嵌入式处理器的运行状态,并能正确捕获程序运行过程中出现的异常信息加以处 理,保证程序的顺利执行。
[0029] 以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在 阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变 化和修饰同样落入本发明方法权利要求所限定的范围。
【权利要求】
1. 一种基于多核或众核嵌入式处理器的网络测量系统,包括被测网络设备,其特征在 于:还包括系统监管层、系统控制层及系统数据层,所述系统监管层采用X86计算机,所述 系统控制层及系统数据层采用多核或众核嵌入式处理器;所述系统监管层及系统控制层之 间通过计算机总线接口标准PCIE总线进行通信;其中, 所述系统监管层包括参数设置模块、管理测试例生成模块及结果显示模块,所述参数 设置模块用于用户对测试参数进行配置;所述管理测试例生成模块用于根据参数设置模块 配置的测试参数生成测试例;所述结果显示模块用于对测试结果进行显示; 所述系统控制层包括控制执行模块、任务调度模块及测试包构造模块,所述控制执行 模块模块用于对被测网络设备的测试过程进行控制,并对被测网络设备的测试测试过程中 出现的异常情况做出响应处理;所述任务调度模块用于根据管理测试例生成模块生成的测 试例,对测试例进行识别并分配给多核或众核嵌入式处理器的若干个核进行处理;所述测 试包构造模块用于构造测试包,所述测试包包括任务编号、数据包类型、数据包的源IP地 址、目的IP地址、端口号; 所述系统数据层包括数据包分流模块、数据处理模块及性能分析模块;所述数据包分 流模块用于对被测网络设备返回的数据包进行匹配并分发到多核或众核嵌入式处理器的 对应的工作核队列中,所述数据处理模块用于工作核根据测试任务种类对数据包进行相应 处理;所述性能分析模块用于对数据处理模块处理完成的数据包数据进行性能分析,判断 出被测网络设备的性能,并传输给系统控制层的控制执行模块,所述控制执行模块判断测 试是否完成,若完成则将测试结果传输给系统监管层的结果分析显示模块进行显示;否则 继续进行测试。
2. 根据权利要求1所述的基于多核或众核嵌入式处理器的网络测量系统,其特征在 于:所述多核或众核嵌入式处理器为同构或异构处理器,所述核的数量至少为8个,所述收 发端口配置包括至少2个GE网络端口,其中一个为RX端口,另一个为TX端口。
3. -种基于权利要求1所述系统的网络测量方法,其特征在于包括以下步骤: 301、 测试系统开始工作时,首先由系统监管层的参数设置模块提供的交互界面供用户 配置测试参数;在程序编译时,编译工具根据配置文件中的设置值,设定程序的初始化代 码,保证程序运行时相关参数初始值即为配置文件所设置并生成测试例; 302、 然后X86计算机将编译好的程序载入到多核或众核嵌入式处理器启动测试流程; 此时系统控制层的控制执行模块控制测试流程的开始与结束,任务调度模块根据测试任务 的大小、种类为测试任务创建并分配工作区队列,工作核根据测试任务的指定完成测试数 据包的构造并发送至被测设备; 303、 系统数据平面的数据包分流模块对被测设备返回的数据包进行匹配并分发到各 工作核队列中,系统数据平面的数据处理、性能分析模块根据测试任务种类对数据包进行 相应处理,并将分析结果反馈给系统控制执行模块,判断测试是否完成,如果是,则将结果 上传给系统监管层面的结果显示模块,否则进行下一轮测试数据包的构造开始新的测试。
【文档编号】G06F11/36GK104102579SQ201410305280
【公开日】2014年10月15日 申请日期:2014年6月30日 优先权日:2014年6月30日
【发明者】赵国锋, 王大瑞, 戴俊, 邓娅茹, 刘静娴, 唐红 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1