当前位置: 首页 > 专利查询>复旦大学专利>正文

一种级联板间流水线的“蝶式”传输方法技术

技术编号:17561731 阅读:32 留言:0更新日期:2018-03-28 12:15
本发明专利技术属于微电子技术领域,具体涉及一种级联板间流水线的“蝶式”传输方法。本发明专利技术将主机与板卡间PCIe总线的定期通信作为独立流水级的完全流水线工作模式,使分布在各块板卡上的所有用户逻辑能以紧凑的流水线方式不间断工作,显著地增加计算的粘性。总的系统吞吐率仅取决于用户逻辑的计算耗时,不受级联板卡数量增加的影响;针对完全流水线工作模式下的数据传输进一步提出了“蝶式”构型的访存方法;通过分离读/写数据通道从而充分利用板载的双DDR控制器的带宽,相比单DDR控制器提升近一倍的传输性能。本发明专利技术适用于任意用户逻辑单元及级联板卡的数量组合,以及用户逻辑单元在不同板卡上的分配方案。

A \Butterfly\ transmission method for cascaded inter plate assembly lines

The invention belongs to the field of microelectronic technology, in particular to a \Butterfly\ transmission method for cascaded inter plate lines. The invention uses the regular communication between the host and the PCIe bus of the board as a complete pipelining mode of the independent flow stage, so that all user logic distributed on each block card can work continuously in a compact pipelining mode, and significantly increase the stickiness of calculation. The throughput rate is calculated from the user logic time system, is not affected by the increase in the number of cascaded card; data transmission in fully pipelined mode to further put forward the \Butterfly\ configuration of the access method; by separating the read / write data channel double DDR controller so as to make full use of the onboard bandwidth. The transmission performance of single DDR controller increase nearly doubled compared to. The invention is suitable for the number combination of arbitrary user logic unit and cascade card, and the allocation scheme of user logic unit on different cards.

【技术实现步骤摘要】
一种级联板间流水线的“蝶式”传输方法
本专利技术属于微电子
,具体涉及一种用多块FPGA/ASIC板卡级联进行完全流水线工作时主机与板卡间通信及板卡内部用户逻辑访存时的数据传输方法,尤其涉及级联板间流水线的“蝶式”传输方法。
技术介绍
可编程逻辑器件(FieldProgrammableGateArray,FPGA)或专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)的片上可用逻辑资源通常是受限的。在部署较大规模的应用(如深度卷积神经网络)时,往往难以完整部署到单块板卡上,而需要分拆到多块板卡上,形成一个级联的计算集群。级联集群的应用部署在形式上通常根据若干运算步骤划分成一系列子模块,即用户逻辑单元。这些逻辑单元采用级联的方式进行连续运算,后级单元依赖前级单元的运算结果。为了最大化系统的吞吐率,往往把各用户逻辑单元安排到流水线上,以便所有的用户逻辑能够同时进行运算。流水线方式工作的要点是防止前级单元的运算结果在取用前就被覆盖,一般的做法是在相邻流水级之间使用ping-pongbuffer结构。但是FPGA/ASIC的片上存储器的容量有限,且每个用户逻辑单元的数据传输量可能很大(如深度卷积神经网络中卷积层的输入输出特征图很大),因此中间数据需要存储到板卡上的DDR存储器(DoubleDataRateSDRAM)中,并至少划分出两段DDR地址空间以防止数据覆盖。主机与板卡间的数据通信也需要板卡上的DDR做缓存。用户逻辑访问DDR可以采用AXI(AdvancedeXtensibleInterface)总线协议,如采用Xilinx公司所提供的AXI_interconnectIP核协调多个AXI读/写请求,最终向DDR控制器发起读/写操作。主机与板卡间的数据通信一般采用带宽较大的PCIe(PeripheralComponentInterconnectExpress)总线,对于连续数据的传输可以进一步采用DMA(DirectMemoryAccess)机制,主机对板卡的DMA读/写最终也会转化为AXI读/写请求。AXI读/写通道的分离能够提升AXI总线上数据传输的性能。如当AXI_interconnect提供并发读/写通道时,读通道对于写操作闲置,反之亦然,因此针对读/写操作提供单一数据通道能够最大化通道的利用率。同时单一的读/写操作还能合并同方向的数据流,利用AXI突发传输(DataBurst)的优势从而进一步提升传输效率。集群化的大规模应用部署通常受数据通信上的限制而降低效率。在单块板卡上进行多个用户逻辑的流水线作业时,每个流水周期各个用户逻辑及主机会同时发起若干AXI读/写请求,此时DDR控制器有限的带宽成为通信的瓶颈;而在多块板卡级联工作时,原本连续的用户逻辑被分配到不同的板卡上,其数据需要借助主机来中转,从而破坏了单卡时紧凑的流水线工作方式。同时,主机对板卡上DDR的访存操作进一步加重了DDR控制器带宽的拥堵程度。再有,消耗在主机和板卡通信上的时间随传输数据量的不等可以占到用户逻辑计算时间的几分之一甚至和用户逻辑计算时间相当。当集群中板卡的数目增加时,通信上的耗时也随之线性增加,系统性能显著降低。
技术实现思路
本专利技术的目的在于提出一种计算粘性强,对带宽利用率高,传输性能好的级联板间流水线的“蝶式”传输方法。符号约定:N表示用户逻辑单元,n为生成的用户逻辑单元总数,各用户逻辑单元编号为N1,N2……Nn;M表示FPGA/ASIC板卡,m为级联的板卡总数,各板卡编号为M1,M2,…Mk,…Mm;L表示板卡上所部署用户逻辑单元的数量,各块板卡上的用户逻辑单元数量为L1,L2,…Lk,…Lm;k为某块具体的板卡编号(k∈[1,m])。本专利技术提出的级联板间流水线的“蝶式”传输方法,具体步骤为:(1)生成n级用户逻辑单元:N1,N2……Nn,分配到m块板卡:M1,M2,…Mk,…Mm上,各块板卡上的用户逻辑单元数量为:L1,L2,…Lk,…Lm,k为板卡编号,k∈[1,m];(2)对每块板卡分配两段地址空间,一段地址空间映射到DDR0控制器,记为A段;另一段地址空间映射到DDR1控制器,记为B段;(3)定义1位寄存器C,流水线每运行一次(一个流水周期)进行一次0-1/1-0翻转;(4)对于每块板卡,当C为0时,各用户逻辑单元从A段地址读数据,向B段地址写数据;当C为1时,各用户逻辑单元从B段地址读数据,向A段地址写数据;(5)主机向M1写数据过程:当C为0时,向M1的B段地址写数据;当C为1时,向M1的A段地址写数据;(6)主机从Mk读数据,向M(k+1)写数据过程(k∈[1,m-1]):若为偶数,当C为0时,从Mk的A段地址读数据,向M(k+1)的B段地址写数据;当C为1时,从Mk的B段地址读数据,向M(k+1)的A段地址写数据;若为奇数,当C为0时,从Mk的B段地址读数据,向M(k+1)的B段地址写数据;当C为1时,从Mk的A段地址读数据,向M(k+1)的A段地址写数据;(7)主机从Mm读数据过程:若(n+m)为偶数,当C为0时,从Mm的A段地址读数据;当C为1时,从Mm的B段地址读数据;若(n+m)为奇数,当C为0时,从Mm的B段地址读数据,当C为1时,从Mm的A段地址读数据;步骤(4)、(5)、(6)、(7)涉及的所有过程均同步开展,其中主机端采用多线程方式并行处理与各板卡间的读写数据通信;以上过程全部完成标志一次流水线过程结束。本专利技术采用将主机与板卡间PCIe总线的定期通信作为独立流水级的完全流水线工作模式。即将主机向M1写数据过程,主机从Mk读数据、向M(k+1)写数据过程(k∈[1,m-1]),以及主机从Mm读数据过程作为独立流水级,与各用户逻辑单元的运算过程同步展开,以避免主机与板卡间通过PCIe总线进行数据传输的时间计入板卡上首、尾用户逻辑单元的总运算时间中而延长单个流水级的时间。以上过程全部完成标志一次流水线过程结束。其中主机端采用多线程方式并行处理与各板卡间的读写数据通信,以避免各条数据通信线路相互阻塞。在完全流水线工作模式下,分布在各块板卡上的所有用户逻辑仍旧能以紧凑的流水线方式不间断工作,显著地增加了计算的粘性。考虑到主机与板卡间的通信时间通常小于用户逻辑的计算时间,则用户逻辑的计算时间可以完全覆盖与主机通信的时间。设系统总运算量为W,单个流水级耗时为T,则系统吞吐率恒为W/T,系统吞吐率完全取决于用户逻辑的计算耗时,不受级联板卡数量增加的影响。总流水级数目为(n+m+1),系统延迟时间为(n+m+1)*T,随级联板卡数量呈线性增长,一般仅为几个流水级的时间。本专利技术中,将访问特定DDR地址空间的一对数据流定义为“蝶形”斜臂,针对完全流水线工作模式下的数据传输,进一步提出了“蝶式”构型的访存方法,即用两组“蝶形”斜臂交错的形式交替读写多块板卡的两段DDR地址空间。根据系统中“蝶形”斜臂的存在与否又分为完全“蝶式”构型的访存方法和非完全“蝶式”构型的访存方法。对于每块板卡,为充分利用板载的双DDR控制器的带宽,采用将两段DDR地址空间分别映射到两个DDR控制器上,使对于各段DDR地址空间的访问转化为对各DDR控制器的访问。本专利技术中,在不本文档来自技高网
...
一种级联板间流水线的“蝶式”传输方法

【技术保护点】
一种级联板间流水线的“蝶式”传输方法,其特征在于,具体步骤为:(1)生成n级用户逻辑单元:N1,N2……Nn,分配到m块板卡:M1,M2,…Mk,…Mm上,各块板卡上的用户逻辑单元数量为:L1,L2,…Lk,…Lm,k为板卡编号,k∈[1,m];(2)对每块板卡分配两段地址空间,一段地址空间映射到DDR0控制器,记为A段;另一段地址空间映射到DDR1控制器,记为B段;(3)定义1位寄存器C,流水线每运行一次即一个流水周期进行一次0‑1/1‑0翻转;(4)对于每块板卡,当C为0时,各用户逻辑单元从A段地址读数据,向B段地址写数据;当C为1时,各用户逻辑单元从B段地址读数据,向A段地址写数据;(5)主机向M1写数据过程:当C为0时,向M1的B段地址写数据;当C为1时,向M1的A段地址写数据;(6)主机从Mk读数据,向M(k+1)写数据过程(k∈[1,m‑1]):若

【技术特征摘要】
1.一种级联板间流水线的“蝶式”传输方法,其特征在于,具体步骤为:(1)生成n级用户逻辑单元:N1,N2……Nn,分配到m块板卡:M1,M2,…Mk,…Mm上,各块板卡上的用户逻辑单元数量为:L1,L2,…Lk,…Lm,k为板卡编号,k∈[1,m];(2)对每块板卡分配两段地址空间,一段地址空间映射到DDR0控制器,记为A段;另一段地址空间映射到DDR1控制器,记为B段;(3)定义1位寄存器C,流水线每运行一次即一个流水周期进行一次0-1/1-0翻转;(4)对于每块板卡,当C为0时,各用户逻辑单元从A段地址读数据,向B段地址写数据;当C为1时,各用户逻辑单元从B段地址读数据,向A段地址写数据;(5)主机向M1写数据过程:当C为0时,向M1的B段地址写数据;当C为1时,向M1的A段地址写数据;(6)主机从Mk读数据,向M(k+1)写数据过程(k∈[1,m-1]):若为偶数,当C为0时,从Mk的A段地址读数据,向M(k+1)的B段地址写数据;当C为1时,从Mk的B段地址读数据,向M(k+1)的A段地址写数据;若为奇数,当C为0时,从Mk的B段地址读数据,向M(k+1)的B段地址写数据;当C为1时,从Mk的A段地址读数据,向M(k+1)的A段地址写数据;(7)主机从Mm读数据过程:若(n+m)为偶数,当C为0时,从Mm的A段地址读数据;当C为1时,从Mm的B段地址读数据;若(n+m)为奇数,当C为0时,从Mm的B段地址读数据,当C为1时,从Mm的A段地址读数据;步骤(4)、(5)、(6)、(7)涉及的所有过程均同步开展,其中主机端采用多线程方式并行处理与各板卡间的读写数据通信;以上过程全部完成标志一次流水线过程结束。2.根据权利要求1所述的级联板间流水线的“蝶式”传输方法,其特征在于,采用完全流水线工作模式,即主机向M1写数据过程,主机从Mk读数据、向M(k+1)写数据过程,k∈[1,m-1],以及主机从Mm读数据过程作为独立流水级,与各用户逻辑单元的运算过程同步展开,其中主机端采用多线程方式并行处理与各板卡间的读写数据通信;分布在各块板卡上的所有用户逻辑仍旧能以紧凑的流水线方式不间断工作。3.根据权利要求2所述的级联板间流水线的“蝶式”传输方法,其特征在于,在完全流水线工作模式下,若主机与板卡间的通信时间小于用户逻辑的计算时间,则用户逻辑的计算时间完全覆盖与主机通信的时间;设系统总运算量为W,单个流水级耗时为T,则系统吞吐率恒为W/T,系统吞吐率完全取决于用户逻辑的计算耗时,不受级联板卡数量增加的影响;总流水级数目为(n+m+1),系统延迟时间为(n+m+1)*T,随级联板卡数量呈线性增长。4.根据权利要求1所述的级联板间流水线的“蝶式”传输方法,其特征在于,在一个流水周期中,各块板卡上的所有用户逻辑均从一个DDR地址空间读数据,向另一个DDR地址空间写数据;此时用户逻辑从...

【专利技术属性】
技术研发人员:陈更生倪思宇黄超
申请(专利权)人:复旦大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1