首页> 外文期刊>Journal of supercomputing >Dynamic scheduler implementation used for load distribution between hardware accelerators (RTL) and software tasks (CPU) in heterogeneous systems
【24h】

Dynamic scheduler implementation used for load distribution between hardware accelerators (RTL) and software tasks (CPU) in heterogeneous systems

机译:用于异构系统中的硬件加速器(RTL)(RTL)和软件任务(CPU)之间的负载分布的动态调度器实现

获取原文
获取原文并翻译 | 示例

摘要

This article describes the implementation of a dynamic scheduler for loading distribution between a hardware accelerator RTL and a CPU software task. The basic composition of a Xilinx-Zynq SoC device is a processing system (PS), coupled with FPGA programmable logic (PL). The two sections are connected via a number of Advanced eXtensible Interfaces. Hardware accelerators are mechanisms whereby different software algorithms are implemented register transfer logic (RTL) in the PL module. These accelerators determine an increased processing speed. In this article, we present a dynamic scheduler used for distribution of the load between the host processor and the RTL accelerator. There are situations in which even with increased processing speed of the accelerator, it cannot cope with the flow of data coming from memory system (shared memory). Therefore, it is necessary for this accelerator to be "aided" by a software module running in a CPU in the PS section. The article describes a scheduler that checks whether a hardware module for data processing meets the requirement of Hard Real Time (data are processed within a well-defined time frame), and in case it does not, it activates a software thread running on a CPU to support the hardware thread (out of the whole amount of data to be processed by the RTL thread, some of it is processed by the SW thread. Thus, the RTL thread will have less data to process). The scheduler activates the SW thread only when the system has to respond in real time and the amount of data cannot be processed within a certain time. Thus, the scheduler detects the need to activate the software thread that "helps" the hardware thread to process the data. The scheduler self-adjusts so that it executes a number of instructions in the software thread at all times, without introducing delays in running the RTL thread which is much faster. For this project PYNQ Z2 board, Vivado 2018.3 and Jupyter Notebook tools have been used.
机译:本文介绍了用于在硬件加速器RTL和CPU软件任务之间加载分发的动态调度器的实现。 Xilinx-Zynq SoC设备的基本组成是处理系统(PS),与FPGA可编程逻辑(PL)耦合。这两部分通过多个高级可扩展接口连接。硬件加速器是在PL模块中实现不同的软件算法的机制,其中在PL模块中实现了寄存器传输逻辑(RTL)。这些加速器确定加工速度增加。在本文中,我们提出了一种用于分发主机处理器和RTL加速器之间的负载的动态调度器。即使加速器的加工速度增加,也有可能的情况,它不能应对来自存储器系统(共享存储器)的数据流。因此,该加速器必须通过在PS部分中的CPU中运行的软件模块“辅助”。该文章描述了一个调度程序,检查数据处理的硬件模块是否满足硬实时的要求(数据在明确定义的时间帧中处理),并且在不执行的情况下,它激活在CPU上运行的软件线程为了支持硬件线程(从RTL线程处理的全部数据量之外,它由SW线程处理其中一些。因此,RTL线程将具有更少的数据来处理)。当系统必须实时响应时,调度程序仅激活SW线程,并且无法在特定时间内处理数据量。因此,调度器检测到激活软件线程的需要,该软件线程“有助于”硬件线程处理数据。调度程序自调整,以便始终在软件线程中执行多个指令,而不会在运行更快的RTL线程时引入延迟。对于此项目,Pynq Z2板,Vivado 2018.3和Jupyter笔记本工具已被使用。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号