分享
基于端到端组件互联的嵌入式网络系统仿真_范楠欣.pdf
下载文档

ID:2515302

大小:306.56KB

页数:4页

格式:PDF

时间:2023-06-27

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于 端到端 组件 嵌入式 网络 系统 仿真 范楠欣
2023.4电脑编程技巧与维护嵌入式系统是软硬件高度耦合的计算机系统,软件的层次架构、开发方法和开发工具都与硬件结构有密切联系1。近年来,航空嵌入式平台运行人工智能、大数据、信号处理、虚拟化等多样化应用的需求急剧增加,开发人员需要根据不同的场景设计相应的硬件平台,这对硬件平台的快速验证提出了很高要求。同时,上述应用通常需要嵌入式计算机之间通过网络相互通信和交互,从而协作完成给定的任务,因此对嵌入式网络系统进行高效准确的验证十分重要。传统的平台设计方法是采购现有硬件搭建物理实验平台,在物理实验平台上运行负载软件,发现物理实验平台及软件的功能和性能瓶颈,进行相应的优化,但这种方法经常受到硬件数量、价格、采购周期及调试灵活性的影响。此外,计算节点和网络之间通常会产生相互作用,例如,网络拥塞控制取决于计算节点上的应用发包速率等,单纯的计算仿真或网络仿真不能准确评估分布式系统的性能。端到端仿真包含计算节点和网络,模拟从计算节点处理到网络转发的全过程,可以生成更准确的评估2。1网络仿真为了最大化嵌入式网络系统在其运行中的能效,必须捕捉其软硬件之间复杂的相互作用,特别是由于网络通信产生的相互作用。目前,针对嵌入式网络系统的评估主要包括借助物理实验平台评估、通过理论模型分析和使用模拟器评估3类方法3。(1)借助物理实验平台评估是更有效的手段之一,可以快速完成软硬件性能评估。但是这种方法存在诸多局限:首先,这种方法的设计空间有限,无法探索使用未来处理器的计算机系统性能,当面向具有大规模主机的网络系统时,通常没有足够的硬件可用;其次,在物理实验平台上评估通常不易于调试且结果很难重现,物理实现平台的价格也很昂贵。(2)通过理论模型分析的方法,主要使用排队论模型分析网络行为,其优势在于可以对大规模网络进行简单、快速的评估,但是这种方法通常会带来一定的不准确性,也无法捕捉计算机软硬件之间复杂的相互作用4。(3)使用模拟器评估主要采用gem5、QEMU、OPNET、NS3等模拟器5,其优势在于比物理平台更加灵活,可以研究新型硬件设计且易于调试,同时比理论模型的分析更加精确,但这些模拟器通常仅针对一种组件进行建模,无法分析完整的网络系统行为,包括主机上的数据处理和网络上的数据传输全过程。SimBricks是一种模块化、端到端的全系统仿真框架,可以使用不同的模拟器分别模拟处理器和内存、网卡和网络,并将它们相互连接和同步,组合成完整的虚拟测试平台2,在其基础上实现基于端到端组件互联的嵌入式网络系统仿真。其中,主机由gem5模拟器模拟,网卡采用Intel i40e网卡功能模型,交换机通过基于C+实现的以太网交换机模型模拟,每个组件在运行时通过共享内存进行通信,并通过SimBricks设计的同步机制实现同步。通过在模拟节点上运行完整的操作系统和应用程序,最终测试了节点间的网络传输性能。2系统设计一个四节点网络系统的仿真架构如图1所示,其中1台主机作为服务器,3台主机作为客户端,每台主机均带有以太网卡,并通过以太网交换机通信。网络中包含主机、网卡和交换机3种组件,主机由gem5模拟,网卡采用Intel i40e网卡功能模型,交换机通过以太网交换机模型模拟。在此基础上,通过SimBricks定义的模拟器间的接口实现组件互联,同时模拟器间通过两两同步的方式维持模拟时间的同步。基于端到端组件互联的嵌入式网络系统仿真范楠欣,王珍珍,雷煜靓(中国航空工业集团公司西安航空计算技术研究所,西安710076)摘要:为了满足航空领域日益复杂化的应用需求,机载嵌入式计算机之间经常通过网络来完成相互通信,从而协作完成给定的任务。因此,对嵌入式网络系统的完整建模与仿真是计算机系统仿真的重要方向。完成一种基于端到端组件互联的嵌入式网络系统仿真,网络系统中的组件包括主机、网卡和交换机,每种组件通过不同的仿真器或模型来模拟,将组件相互连接和同步,在其上运行完整的操作系统和应用程序,从而对目标网络系统进行端到端的性能评估。关键词:网络系统仿真;端到端;模拟器互联;软件加载;性能评估165DOI:10.16184/prg.2023.04.0212023.4电脑编程技巧与维护图1四节点网络系统的仿真架构通过SimBricks的模拟器间接口实现组件互联,如图2所示。其中,主机模拟器通过基于PCIe的接口连接到网卡模拟器,网卡模拟器通过以太网接口连接到交换机模拟器。集成一个模拟器只需要添加实现相应接口的适配器即可。PCIe包括物理层、数据链路层和事务层,Sim-Bricks基于事务层定义了PCIe接口,并将PCIe链路的物理属性建模为简单的参数模型,即链路带宽和延迟。在PCIe接口模型中,定义了包含发现和初始化、数据传输、中断等消息类型。(1)发现和初始化消息,SimBricks在PCIe接口中定义了INIT_DEV消息,用于向主机模拟器注册PCIe设备,主机模拟器则使用此消息向系统公开相应的PCIe设备。(2)数据传输消息MMIO和DMA,Sim-Bricks的PCIe接口为设备模拟器发起的DMA传输定义了DMA_READ/WRITE消 息,为 主 机 模 拟 器 发 起 的MMIO访问定义了MMIO_READ/WRITE消息。当请求完成时,分别发送MMIO_COMPL和DMA_COMPL消息。(3)中断消息,SimBricks的PCIe接口支持了包括INTx中断、消息信号中断MSI和MSI-X中断信令方法。同样在SimBricks以太网接口中也抽象了传输的底层细节,只将以太网帧作为PACKET消息进行处理。PACKET消息中携带了数据包的长度和有效载荷,省略了循环冗余校验以减少开销。在主机、网卡和交换机3种组件分别采用不同的模拟器时,需要实现组件模拟器之间的消息传输和同步。SimBricks将每个组件模拟器作为独立的进程运行,不同的组件模拟器之间通过共享内存队列的方式进行高效的消息传输。为了保证仿真的准确性,多个并行的组件模拟器之间需要维持模拟时间的同步3,6。只要以时间同步的方式处理成对接口上的事件时,模拟行为就是正确的2。同步的实现是每个模拟器会检查自己接收到的所有消息时间戳,并运行到其中最小的时间。如果它已经到达该时间,则会等待至有新消息到达并更新最小的时间戳。以网卡模拟器为例,它有以太网和PCIe两个通信通道,假设网卡从以太网接收到一个时间戳为T的消息,从PCIe接收到一个时间戳为T+5的消息,则网卡模拟器会前进到时间。3仿真实现3.1硬件仿真硬件模型主要有3种,分别为主机、网卡和交换机3种。主机模拟:gem5是一个开源计算机架构模拟器,为系统组件实现了大量模型,包括CPU、动态随机存取存储器(DRAM)、片上互连、一致性缓存、I/O设备等,这些模型都是参数化的,可以针对不同系统进行定制。gem5的CPU模型和ISA是解耦的,支 持Arm、x86、MIPS、Power、RISC-V、SPARC等ISA,这些ISA可以与gem5的任何CPU模型一起使用7。网卡模拟:SimBricks为i40e Intel 40G X710网卡实现了一个功能模型,该模型兼容i40e原始驱动程序。i40e实现了许多重要的网卡特性,如多描述符队列、TCP和IP校验和卸载、接收端扩展、Large Segment Of-fload,以及对MSI和MSI-X的支持。交换机模拟:SimBricks基于C+实现了一个基本的以太网交换机模型。在仿真环境中,该交换机模型从每个端口轮询报文,进行MAC地址学习,并根据MAC表将每个报文交换至对应的出端口。3.2软件加载gem5模拟器在全系统模式下支持启动Linux操作系统,为了在模拟主机中引导完整的操作系统和应用程序,需要构建用于模拟主机的磁盘镜像。创建QEMU虚拟机可以在目标系统中安装相应的图2接口组件间互联Server 1:gem5iPerf Server操作系统主机10.0.0.1i40e网卡交换机10.0.0.210.0.0.310.0.0.4Client 1:gem5Client 2:gem5Client 3:gem5i40e网卡i40e网卡i40e网卡iPerf Server操作系统主机iPerf Server操作系统主机iPerf Server操作系统主机主机模拟进程gem5共享内存队列PCle同步适配器网卡模拟进程网卡模型Ethernet同步交换机模拟进程交换机模型Ethernet同步网卡模型网卡模拟进程PCle同步gem5主机模拟进程1662023.4电脑编程技巧与维护库文件和应用等。利用QEMU在X86环境下制作预先加载应用的磁盘镜像,镜像制作流程如图3所示。(1)准备Ubuntu镜像;(2)本地挂载镜像,利用QEMU用户模式进行CHROOT创建虚拟机,虚拟机准备完毕后就可以在虚拟的环境中进行相应的操作,例如,创建用户、安装应用等;(3)修改完毕的镜像可以用于在gem5模拟的节点中启动操作系统和应用程序。在操作系统中主要加载iPerf应用软件。iPerf是一款网络性能测试工具,可以用来测量网络带宽和网络质量,还可以提供网络中延迟抖动、数据包丢失率、最大传输单元等信息。iPerf运行于服务器、客户端模式下,服务器主要监听到达的测试请求,而客户端则发起连接会话,使用iPerf需要至少两个节点分别运行在服务器模式和客户端模式下。4实验结果首先,介绍仿真设置;其次,对目标网络系统的仿真结果进行分析。仿真一个4节点网络拓扑,每个gem5模拟的主机都有一个单核CPU和8GB系统内存,使用TimingSimple CPU模型和DDR4_2400_16x4内存,设置CPU模型的时钟频率为8GHz。模拟主机上运行的操作系统为Ubuntu18.04,并且加载了真实的设备驱动和应用程序。此外,PCIe延迟、以太网链路延迟和同步间隔均为500ns,以太网带宽为10Gbit/s。将1个节点作为服务器,3个节点作为客户端运行了iPerf网络测试程序,并测试了10s内服务器和客户端之间实时的传输带宽和数据量。服务器和客户端网络传输的实时带宽和数据量测试结果如图4和图5所示。由结果可知,3个客户端的实时带宽之和接近理论带宽,并且传输数据量和带宽同步变化。仿真结果证明,基于端到端组件互联的嵌入式网络系统仿真架构可以根据场景需要搭建数字化测试平台并加载应用软件,对平台及软件性能进行评估,以便开发人员进行优化。5结语基于端到端组件互联的嵌入式网络系统仿真架构实现了4节点网络仿真,其中,网络系统的组件包括主机、网卡和交换机,分别通过gem5和功能模型模拟,将组件相互连接和同步,在其上运行完整的操作系统和网络测试程序,验证了节点间的网络通信性能。方案在确保真实性和准确性的前提下,可以充分加速嵌入式网络系统的验证过程,未来还可以扩展至多种类型的网络,例如,基于机载总线的网络验证等。参考文献1杨昕欣,刁为民,王俊,等.嵌入式系统虚拟仿真实验设计与教学实践J.中国现代教育装备,2018,7(17):43-48.2LI H,LI J,JANG K,et al.Enabling End-to-Endsimulation for host networking evaluation using sim-Bricks J.2020.3MOHAMMAD A,DARBAZ U,DOZSA G,et al.dist-图3镜像制作流程图4服务器和客户端网络传输带宽变化图5服务器和客户端网络传输数据量变化传输带宽变化客户端1传输带宽/Gbit/s3.532.521.5客户端2客户端3时间/s011223344556677889910011223344556677889910时间/s客户端1客户端2客户端3380370360350340330320310300传输数据量/MBytes传输数据量变化开始准备Ubuntu镜像本地挂载镜像结束使用QEMUCHROOT构建虚拟机在虚拟机中安装应用1672023.4电脑编程技巧与维护2.3技术创新特点结合项目的设计与自主研发,在实施期间,该项目已具有前瞻性、可拓展性和实用性

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开