基于多FPGA的片上网络模拟平台设计和实现

| 浏览次数:

zoޛ)j馑OOt]4OSiL4^mz(K((b駁O{S<`?大学学报(自然科学版)2013年

第6期赵淳等:基于多FPGA的片上网络模拟平台设计和实现

1 片上网络模拟平台

片上网络模拟平台的系统结构框架如图1所示,包括上位机和基于多FPGA的原型验证引擎两大部分,两者之间可以通过PCIe,Ethernet等接口实现高速的数据交换.模拟平台自顶向下可以划分为系统软件层、软/硬件接口层和硬件结构层3个抽象层次,为结构设计者提供一套完整的多目标、自动化片上网络功能验证和性能评估环境.

硬件结构层主要包括多片多种形式互连(普通单端、LVDS和千兆级高速串行总线等)的大容量FPGA芯片,为系统中的硬件功能单元提供充足的实现空间.完整的片上网络硬件原型包括网络内核、片间网络接口、分布式片上流量管理器和中央控制器等模块.用户可以通过每颗FPGA芯片上实现的中央控制器,利用系统应用层的软件服务,直接对流量管理器进行读/写操作,完成对其功能的软重构.软/硬件接口层由设备(PCIe、Ethernet)驱动程序构成,为上层软件提供了一组可扩展的专用API,将上层的软件服务映射为对底层硬件的访问操作,保证系统软件层和硬件结构层之间的正确交互.系统应用层包括在上位机运行的基于高级语言(SystemC)的仿真引擎[10]和基于脚本语言的控制引擎.其中仿真引擎用于产生下载到流量管理器的模型信息,以及分析处理由流量管理器读回的统计信息;控制引擎则用于控制整个模拟流程,协调和管理各部分系统应用软件功能,以及发起和终止用户对底层硬件的访问操作等.

2流量管理器软/硬件实现

在片上网络的功能验证和性能评估过程中,流量的产生、收集和分析处理一直都是设计者所面临的最棘手的问题.如何设计结构简单,灵活度高的片上流量管理器,以实现对片上网络全面的功能覆盖和大范围的设计空间搜索,成为整个模拟平台的设计重点和难点.为了提高平台的效率和灵活性,避免网表文件的反复生成和下载,本文设计了软件可重构的分布式片上流量管理器,通过软件配置和控制指令解析的方式为片上网络提供丰富的流量模型.

2.1流量管理器和中央控制器

流量管理器作为片上网络的终端功能单元,模拟实际系统中的计算资源节点,按照一定的时间和空间分布规律产生并向网络注入数据,同时接收并校验由其他终端发往本地的数据.流量管理器包括两组单向的总线接口.其中用户接口用于连接片上网络中央控制器,为用户提供“控制指令”的下载和“状态数据”回传服务,接口满足简单的存储器读写规范.系统接口用于连接路由节点,接口满足片上网络物理链路的通信规范.每个路由节点可以根据其空闲物理链路的数量连接一个或多个流量管理器.流量管理器内部用于存储控制指令和状态数据的存储空间被线性地映射到64位地址所覆盖的空间范围内,允许系统软件层以直接映射的方式对其进行访问.整个硬件系统结构如图2所示.

流量管理器发送和接收通道的结构如图3所示,其结构划分为发送通道和接收通道,分别处理网络通信事务的发送和接收.其中发送通道由一块用户只写、网络只读的指令存储器和一个发送控制状态机构成.指令存储器的每一项存储一条流量控制指令,对应一项网络发送事务,其内容由目标地址、事务类型、负载长度、事务编号、发送时间等字段构成.发送控制状态机每次从指令存储器中读出一条流量控制指令,对其进行解析并完成一个完整网络数据包的重建,同时在其结尾添加校验信息,在流控机制的约束下,将数据包有序地注入到片上网络中.接收通道由一块用户只读、网络只写的数据存储器和一个接收控制状态机构成.当流量管理器接收到一个来自其他终端的网络数据包时,接收控制状态机首先对整个数据包的内容进行解析和校验,从中还原出其基本控制信息如源地址、事务类型、负载长度和事务编号等,并记录下其到达时间,然后将这些信息合并为一项状态数据存储到接收通道内的数据存储器中,供系统软件层读取.

中央控制器为流量管理器提供通用的总线访问接口,用于对其内部存储资源的读/写访问,从而实现系统软件层对底层硬件的控制和观测.中央控制器本质上是一个总线译码单元,通过对输入地址总线的三级译码选择其所要访问的片上存储空间.相对于其他平台实现中的微处理器[5-6],中央控制器的资源开销只有不足其1/10,不仅功能简单易于实现,同时减小了硬件的开销.

2.2系统软件服务

模拟平台的系统软件层为用户提供了大量抽象的参数配置和控制接口,大大提高了系统的效率和灵活性,避免了硬件代码的反复修改,使平台可以一次性地完成对目标平台的验证和评估.系统软件层中的仿真引擎可以自动地为系统中每个流量管理器产生一定约束条件下的流量控制指令序列,并通过控制引擎将其下载到相应的指令存储器中;同时,控制引擎也可以将保存在流量管理器内部的状态数据读回给仿真引擎,供其快速地考察片上网络在不同流量模式下的性能指标.

仿真引擎采用SystemC事务级建模(TLM)的方法实现,其核心是一套参数化的片上网络软件仿真程序,同时具备周期精确的仿真粒度和较快的仿真速度等特点.模拟平台利用仿真引擎构造一个和硬件平台结构相同的软件仿真框架,但这个框架只为每个流量管理器产生单独的网络通信事务队列,并不进行实际的软件仿真.通信事务队列的数据结构与流量管理器中指令存储器的存储结构一致,以二进制文件的形式保存在上位机的文件系统中,由控制引擎将其下载到相应的流量管理器中.用户可以调整流量模型参数,不断地产生新的二进制文件,从而改变片上网络流量的通信特点,以获得全面的性能统计信息.仿真引擎内嵌了性能分析模块,可以处理从流量管理器中读回的状态数据文件.性能分析模块根据状态数据文件和先前产生的控制指令序列文件,精确匹配每一组通信流量,计算其延时,从而得到整个网络的平均延时和吞吐性能.

控制引擎采用脚本语言实现,主要用于模拟流程中各软件模块的控制.模拟流程中的每一步操作都由控制引擎直接发起,通过调用相应的应用程序驱动整个流程向下进行.直接受控制引擎调度的程序包括FPGA综合和后端实现工具、仿真引擎和软/硬件接口API等.

2.3基于流量管理的系统模拟流程

片上网络模拟流程分为结构定义和设计空间搜索2个阶段,共7个步骤,由系统软件层中的控制引擎进行集中控制和调度.控制引擎对已有的可执行程序进行高效地集成和封装,使整个模拟流程无须用户干预,自动地完成流程中的所有步骤.

片上网络的模拟流程如图4所示.其中第1步和第2步为结构定义阶段.在这个阶段里,控制引擎首先根据用户设定的结构参数,从结构单元库中实例化基本结构单元,快速构建目标片上网络平台,并调用FPGA开发工具,生成可直接下载的FPGA网表,通过软/硬件接口服务程序,将网表下载到验证板的FPGA芯片上.第3步到第7步为设计空间搜索阶段,这一阶段往往要进行多次循环迭代,以考察片上网络在各种流量模型下的通信状况和性能指标.在一次迭代过程里,控制引擎首先根据用户设定的流量模型参数,调用仿真引擎,为每个流量管理器产生流量控制指令文件,随后通过软/硬件接口服务程序,将其下载到对应流量管理器的指令存储器中.当全部文件下载结束后,控制引擎向底层硬件发送一个启动命令,片上网络进入正常工作状态.系统中全部的流量到达其目标后,控制引擎向底层硬件发送一个暂停命令,并调用软/硬件接口服务程序,将每个流量控制器数据存储器中的状态数据读回上位机,并保存在文件系统中.最后,控制引擎调用仿真引擎,对接收到的数据文件进行分析处理,得到本次迭代的平均通信延时和吞吐率等性能参数.

3实验结果分析

本文提出的片上网络模拟平台采用通用PC和DINI公司的DNDualV6PCIe4原型验证引擎共同构建实现.其中,验证引擎既可以通过PCIe接口插放在PC机的主板上,也可以在作为Ethernet终端供局域网内的其他PC进行访问.模拟过程中的全部软硬件交互均通过PCIe或Ethernet实现.引擎上包括两个大容量的FPGA芯片(Xilinx XC6VSX475T)并通过千兆级高速串行总线互连,为片上网络提供基本的硬件实现空间.

实验中的路由节点模块采用了六端口虫孔交换虚通道路由器,二维Mesh拓扑结构下可以连接2个流量管理器.每个输入端口包括4条虚通道,每条虚通道的深度为8个微片(flit),采用两级轮转优先的仲裁机制进行虚通道分配和交换分配.片间网络接口支持RapidIO高速串行通信,饱和通信带宽可达10 Gbps.每个FPGA芯片上实现一个4×4的Mesh片上网络,网络内核的时钟频率可以达到100 MHz.

文献[6]提出的片上网络FPGA模拟平台AcENoCs在模拟速度上受到目标网络的规模和流量注入率的制约,使其在设计空间搜索的深度和广度上具有一定的局限性.本文所提出的模拟平台不受流量注入模型的约束,且受网络规模的影响很小,在6×6的Mesh网络下主频仍可达到80 MHz,这使模拟平台的工作效率得到显著提高.图5为2种平台在模拟速度上的对比结果,均采用2×2的Mesh网络实现.由图5可知,本文实现的平台结构工作在较低主频条件下,在性能上仍然具有较大优势.在目标网络规模增大和流量注入率升高时,这种优势体现得更加明显.

注入率/10-2

表1反映了目标片上网络在相同配置条件下,分别使用模拟平台,高级语言仿真器和RTL仿真进行设计空间搜索的时间开销.从表中可以看出,模拟平台与基于SystemC语言的仿真器相比,速度提高了近500倍,与基于Verilog的RTL仿真相比,速度提高了10 000倍以上.

4×4 Mesh网络;10万个数据包;负载长度8字节;归一化注入率0.3

图6为片上网络各部分硬件资源所占的比例.从图中可以看出,片上网络内核占据了硬件系统的绝大部分资源开销,流量管理器,中央控制器等辅助功能模块的硬件开销则相对较小,这符合模拟平台的设计原则,以较小的实现代价换取了系统的灵活性,同时最大限度地提高了硬件系统的可控制性和可观测性.

图7为uniform流量下,不同负载长度的流量对片上网络平均延时性能的影响.当流量的有效负载长度增大时,网络的饱和注入率略有降低,网络负载的平均延时显著增大.这是由于随着负载注入率的升高,较长负载的数据包对网络的阻塞更加敏感,从而导致其排队延时的急剧增大,此外,长负载本身的串行延时也是导致平均延时增大的因素之一.

注入率

4 结论

本文提出了一种基于多FPGA的高性能片上网络模拟平台,用于解决大规模片上网络设计空间搜索的效率问题.模拟平台通过对分布式片上流量管理器的软件重构为目标网络提供丰富的流量模型,避免硬件代码的反复修改和下载,大大缩短了验证和调试周期.该平台不依赖于网络的规模和具体实现,可以完成对多种结构参数下片上网络的功能

验证和性能评估.实验结果表明,该平台硬件开销小,灵活性高,可以快速、准确地给出网络的性能指标.与同类型的FPGA模拟平台相比,该平台不受流量模型的制约,大大提高了整个系统的模拟性能.与基于软件的仿真相比,该平台具有500~10 000倍的加速,能够高效率地实现片上网络设计空间的深度搜索.

参考文献

[1]GEER D. Chip makers turn to multicore processors[J]. IEEE Computer, 2005, 38(5): 11-13.

[2]PULLINI A, ANGIOLINI F, MURALI S, et al. Bringing NoCs to 65 nm[J]. IEEE Micro, 2007, 27(5): 75-85.

[3]DALLY W J, TOWLES B. Route packets, not wires: onchip interconnection networks[C]//Design Automation Conference. Las Vegas: IEEE Press, 2001: 684-689.

[4]MARCULESCU R, OGRAS U Y, PEH L S, et al. Outstanding research problems in NoC design: system, microarchitecture, and circuit perspectives[J]. IEEE Transactions on ComputerAided Design of Integrated Circuits and Systems, 2009, 28(1): 3-21.

[5]GENKO N, ATIENZA D, DEMICHELI G, et al. NoC emulation: a tool and design flow for MPSoC[J]. IEEE Circuits and Systems Magazine, 2007, 7(4): 42-51.

[6]LOTLIKAR S, PAI V, GRATZ P V. AcENoCs: a configurable HW/SW platform for FPGA accelerated NoC emulation[C]//24th International Conference on VLSI Design. Madras: IEEE Press, 2011: 147-152.

[7]WANG Danyao , JERGER N E, STEFFAN J G. DART: a programmable architecture for NoC simulation on FPGAs[C]//Fifth IEEE/ACM International Symposium on Networks on Chip. Pittsburgh: IEEE Press, 2011: 145-152.

[8]REN Pengju , LIS M, MYONG H C, et al. HORNET: a cyclelevel multicore simulator[J]. IEEE Transactions on ComputerAided Design of Integrated Circuits and Systems, 2012, 31(6): 890-903.

[9]BENITZHAK Y, ZAHAVI E, CIDON I, et al. NoCs simulation framework for OMNeT++[C]//Fifth IEEE/ACM International Symposium on Networks on Chip. Pittsburgh: IEEE Press, 2011: 265-266.

[10]李烨挺, 梁利平. 一种基于SystemC的片上网络建模与仿真方法[J]. 微电子学与计算机, 2010, 27(3): 78-82.

LI Yeting, LIANG Liping. An NoC modeling and simulating method with systemC[J]. Microelectronics & Computer, 2010, 27(3): 78-82.(In Chinese)

推荐访问: 模拟 设计 平台 网络 FPGA

【基于多FPGA的片上网络模拟平台设计和实现】相关推荐

工作总结最新推荐

NEW
  • XX委高度重视党校的建设和发展,出台《创建全省一流州市党校(行政学院)实施方案》及系列人才培养政策,为党校人才队伍建设提供了有力的政策支撑。州委党校在省委党校的悉心指导下、州委的正确领导下,深入贯彻落

  • 为推动“不忘初心、牢记使命”主题教育常态化,树牢“清新简约、务本责实、实干兴洛”作风导向,打造忠诚干净担当、敢于善于斗争的执纪执法铁军,经县纪委常委会会议研究,决定在全县纪检监察系统开展“转变作风工作

  • 为进一步发展壮大农村集体经济,增强村级发展活力,按照中共XXX市委抓党建促乡村振兴工作领导小组《关于印发全面抓党建促乡村振兴四个工作计划的通知》要求,工作队与村“两委”结合本村实际,共同研究谋划xx村

  • 今年来,我区围绕“产城融合美丽XX”总体目标,按照“城在林中,水在城中,山水相连,林水相依”以及“城乡一体、景城一体、园城一体”的建设思路,强力推进城市基础设施建设、棚户区改造、房地产开发和城市风貌塑

  • 同志们:新冠疫情发生至今已有近三年时间。三年来,在广大干群的共同努力下,我们坚决打好疫情防控阻击战,集团公司范围内未发生一起确诊病例,疫情防控工作取得了阶段性胜利。当前国际疫情仍在扩散蔓延,国内疫情多

  • 我是毕业于XX大学的定向选调生,当初怀着奉献家乡、服务人民的初心回到XX,在市委的关心关爱下,获得了这个与青年为友的宝贵历练机会。一年感悟如下。一要对党忠诚,做政治坚定的擎旗手。习近平总书记指出,优秀

  • 同志们:今天召开这个会议,主要任务是深入学习贯彻习近平总书记重要指示批示精神,以及李克强总理批示要求,认真落实全国安全生产电视电话会议和全省、全市安全生产电视电话会议精神,研究我县安全生产和安全隐患大

  • 2022年市委政研室机关党的建设工作的总体要求是:坚持以XXX新时代中国特色社会主义思想为指导,全面贯彻党的XX届X中X会和省、市第十二次党代会精神,自觉运用党的百年奋斗历史经验,弘扬伟大建党精神,深

  • 同志们:今天,我们在这里召开市直机关基层党建示范点工作会议,一方面是对各示范点单位进行表彰授牌,另一方面是想通过这种会议交流的方式,给大家提供一个相互学习、取长补短的平台和机会。市直工委历来把创建基层

  • 新冠疫情暴发以来,学校党委坚决贯彻习近平总书记关于疫情防控工作的指示要求和党中央的决策部署,严格执行×××部、×××厅关于疫情防控的系列要求,认真落实驻地防疫部门的工作举措,继承发扬优良传统,以最高标