论文摘要
现场可编程门阵列(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%,结果表明联合调度可以有效弱化物理资源边界。
论文目录
文章来源
类型: 硕士论文
作者: 张佩珩
导师: 王泉
关键词: 动态可重构系统,调度算法,几何布局算法
来源: 西安电子科技大学
年度: 2019
分类: 基础科学,信息科技
专业: 数学,无线电电子学
单位: 西安电子科技大学
分类号: TN791;O221.3
DOI: 10.27389/d.cnki.gxadu.2019.001783
总页数: 79
文件大小: 2657K
下载量: 29