We use cookies to improve your experience with our site.

一种面向数据流架构的无停顿双缓冲机制

A Non-Stop Double Buffering Mechanism for Dataflow Architecture

  • 摘要: 双缓冲机制能够有效隐藏片外到片内存储传输的延迟,然而数据流架构中,双缓冲的切换会导致计算性能因频繁的排入排空而降低。本文提出了一种面向数据流架构的无停顿双缓冲机制,通过优化数据流结构中的控制逻辑,将数据块依次分配到处理单元阵列中而避免计算的停顿。同时,本文提出了一种工作流程序配合双缓冲机制。通过控制逻辑和工作流程序的优化,处理阵列排入排空数据只需在同一数据流图的多个数据块的计算过程中进行一次。实验表明,本文提出的面向数据流架构的双缓冲机制较优化前可取得16.2%的效率提升。

     

    Abstract: Double buffering is an effective mechanism to hide the latency of data transfers between on-chip and off-chip memory. However, in dataflow architecture, the swapping of two buffers during the execution of many tiles decreases the performance because of repetitive filling and draining of the dataflow accelerator. In this work, we propose a non-stop double buffering mechanism for dataflow architecture. The proposed non-stop mechanism assigns tiles to the processing element array without stopping the execution of processing elements through optimizing control logic in dataflow architecture. Moreover, we propose a work-flow program to cooperate with the non-stop double buffering mechanism. After optimizations both on control logic and on work-flow program, the filling and draining of the array needs to be done only once across the execution of all tiles belonging to the same dataflow graph. Experimental results show that the proposed double buffering mechanism for dataflow architecture achieves a 16.2% average efficiency improvement over that without the optimization.

     

/

返回文章
返回