Multi-FPGA上任务资源管理调度研究

Multi-FPGA上任务资源管理调度研究

论文摘要

现场可编程门阵列(Field-Programmable Gate Array,FPGA)具有功耗低、并行性高和计算速度快的特点,新一代FPGA还具有动态可重构功能,进一步提升了器件灵活性和计算效率。FPGA代替传统高性能计算平台中的X86或GPU处理单元,能够有效解决计算平台能耗高、计算效率低等问题,因此被各计算服务提供商广泛应用。与通用处理器和GPU相比,FPGA自身独有的属性特点,给系统的任务资源管理调度带来了新的挑战。一方面,多片FPGA通过高速片间互联能够组成更大规模、更强计算能力的运算单元,但对任务分割与重组提出更高要求;另一方面,传统调度策略实现的是任务与FPGA内部资源模块间一对一的映射,资源利用率低。本文从任务调度和资源管理两个方面研究任务资源管理调度算法。大任务由其内部的若干子任务组成,子任务间的通信形成了子任务拓扑结构。任务调度算法根据大任务的子任务拓扑生成FPGA的配置序列,资源管理算法根据配置序列为每个子任务分配FPGA片上资源。具体研究内容如下:(1)为解决资源管理算法中资源浪费较多的问题,提出了基于动态任务组合的FPGA片上资源管理算法,实现了任务与FPGA内部资源模块的多对一映射。根据FPGA上的任务配置文件(Bitstream),将FPGA片上可用资源及任务分别抽象为特定长宽的资源矩形模型和任务矩形模型。基于动态规划算法,以最大化资源矩形模型利用率为目标,生成任务矩形模型最佳组合策略,系统调用该组合策略实施任务资源映射,有效提升了FPGA片上资源利用率和资源灵活度。(2)为解决Multi-FPGA上的任务调度算法无法处理多任务并发配置的问题,提出了基于多序列的Multi-FPGA联合调度算法。对于单个任务,采用数据依赖矩阵表示该任务拓扑,并利用矩阵分解生成有效任务序列。针对多个任务拓扑的有效任务序列,基于任务截止时间对其进行混合,通过给子任务指定FPGA编号的方式为每个FPGA生成配置序列。维护多个序列以实现任务在Multi-FPGA之间的负载均衡,充分利用系统资源,降低全局任务的执行时间。根据资源使用量设计调度结果的评价函数,借助模拟退火算法优化调度结果。基于常用算法的资源需求,利用TGFF测试数据生成器生成两组测试数据对设计的算法进行验证。首先比较了改进算法、基于四叉树的资源管理算法和基于集中总线的资源管理算法在资源利用率(Scheduling Flexibility,SF)、资源灵活度(Resource Efficiency,RE)和最大可用空白区(Biggest Resource Area,BRA)等性能指标上的差异,结果显示动态任务组合能够对任务进行有效组合放置,其资源灵活度平均提升6%,资源利用率平均提升7%;其次,比较了联合调度与独立调度的FPGA系统在任务执行时间和任务资源占用两个性能指标上的差异,结果中联合调度的执行时间降低了38%,平均资源利用率降低了13%,结果表明联合调度可以有效弱化物理资源边界。

论文目录

  • 摘要
  • ABSTRACT
  • 符号对照表
  • 缩略语对照表
  • 第一章 绪论
  •   1.1 研究背景
  •   1.2 国内外研究现状
  •     1.2.1 FPGA资源管理算法发展历程
  •     1.2.2 任务调度问题研究现状
  •   1.3 研究内容
  •   1.4 组织和安排
  • 第二章 FPGA底层技术对调度问题的影响
  •   2.1 FPGA资源模型
  •     2.1.1 FPGA内部资源分析
  •     2.1.2 FPGA工作原理
  •     2.1.3 网表文件与配置文件
  •   2.2 区域重构技术
  •     2.2.1 可重构芯片的内部结构
  •     2.2.2 动态可重构原理
  •     2.2.3 算法的应用背景
  •     2.2.4 优势与约束
  •   2.3 AXI总线介绍
  •   2.4 本章小结
  • 第三章 基于任务组合的FPGA资源管理算法
  •   3.1 任务组合算法
  •     3.1.1 任务组合算法的主导思想
  •     3.1.2 任务组合算法主要步骤
  •     3.1.3 算法复杂度分析
  •   3.2 基于任务组合算法改进四叉树资源管理算法
  •     3.2.1 改进思路
  •     3.2.2 资源约束
  •     3.2.3 向量保存资源申请过程
  •     3.2.4 生成资源树
  •   3.3 基于任务组合算法改进集中总线资源管理算法
  •     3.3.1 改进思路
  •     3.3.2 生成组合任务
  •     3.3.3 资源的申请与释放
  •   3.4 本章小结
  • 第四章 FPGA任务调度算法
  •   4.1 调度算法主导思想
  •   4.2 任务模型
  •     4.2.1 任务的资源模型
  •     4.2.2 任务的时间模型
  •     4.2.3 任务状态转化过程
  •     4.2.4 任务通信开销
  •   4.3 子任务序列与配置序列
  •     4.3.1 子任务拓扑排序
  •     4.3.2 维护多个配置序列
  •   4.4 优化调度结果
  •     4.4.1 基于关键路径的初始解
  •     4.4.2 评价调度结果
  •     4.4.3 启发式优化
  •   4.5 本章小结
  • 第五章 实验验证
  •   5.1 TGFF任务结构模拟器
  •   5.2 资源管理算法性能测试
  •   5.3 任务调度算法性能测试
  •   5.4 本章小结
  • 第六章 总结与展望
  •   6.1 本文工作总结
  •   6.2 未来工作展望
  • 参考文献
  • 致谢
  • 作者简介
  • 文章来源

    类型: 硕士论文

    作者: 张佩珩

    导师: 王泉

    关键词: 动态可重构系统,调度算法,几何布局算法

    来源: 西安电子科技大学

    年度: 2019

    分类: 基础科学,信息科技

    专业: 数学,无线电电子学

    单位: 西安电子科技大学

    分类号: TN791;O221.3

    DOI: 10.27389/d.cnki.gxadu.2019.001783

    总页数: 79

    文件大小: 2657K

    下载量: 29

    相关论文文献

    标签:;  ;  ;  

    Multi-FPGA上任务资源管理调度研究
    下载Doc文档

    猜你喜欢