论文部分内容阅读
动态可重构片上系统集成了中央处理器(CPU)和具有动态部分可重构特性的现场可编程门阵列(FPGA),是一种重要的异构系统;该系统在处理能力、尺寸、重量和功耗等方面都有较大的优势,因此得到了广泛的应用。动态部分可重构是指系统可以在运行时动态地更新或者卸载部分硬件单元的功能,而不中断其他正在执行的任务;而完全重构则需要中断正在执行的任务,进而对FPGA所有的硬件单元进行重新配置。完全重构频繁中断系统的运行使得应用的实时性无法得到保证,同时容易造成资源的闲置;然而,运行时的动态重构技术虽然有效地提高了片上系统的灵活性和资源利用率,但也带来了额外的重构时延。其中,重构时延与重构次数以及重构配置文件的大小呈正相关。因此,只有合理地对应用进行软硬件划分,才能最大程度地发挥系统动态部分可重构特性的优势。
软硬件划分即调度技术的目的是获得调度长度最短的调度方案,该方案包括任务的映射、定时和排序。该问题可以归类为组合优化问题,通常可以使用混合整数线性规划或随机优化算法对问题进行求解。求解的结果可以为动态部分可重构片上系统的设计提供解决方案,特别是在实时性要求严格、资源受限的计算密集型和通信密集型应用场景下,如航空航天、工业控制、云计算和5G等领域。基于以上背景,本文对动态部分可重构片上系统调度技术及其应用做了一系列的研究,主要完成了以下工作:
(1)随机优化算法和建立混合整数线性规划(Mixed Integer Linear Programming, MILP)、整数线性规划(Integer Linear Programming, ILP)模型都是解决软硬件划分问题的方法,但是随机优化算法往往难收敛且结果容易陷入局部最优。因此,本文针对动态部分可重构片上系统的软硬件划分问题提出了一种简洁、高效的MILP模型。首先将应用按一定的粒度划分为若干个子任务并对任务集做预分簇处理,其次将软硬件划分问题完全数学化并通过减少现有模型存在的冗余变量和约束方程,降低模型的复杂度进而缩短问题的求解时间。
(2)基于簇的软硬件划分需要在应用部署前对任务进行分簇,分簇结果约束了任务到处理器上的映射,主要应用于任务资源占用量、可重构区域数量和大小已知并且平台资源受限的场景。为了使调度结果适用于更普遍的场景,本文进一步提出了一种基于无分簇的MILP模型。在求解相同应用调度问题的前提下,对两种模型的计算机仿真结果进行分析,比较两种调度算法的性能。
(3)软硬件划分算法的最终目的是为实际应用的动态部分可重构设计提供合理的部署方案。停留于计算机仿真层面的实验结果只能说明算法的有效性,无法验证算法在工程上的实用性。因此为了对软硬件划分算法的实用性进行验证,本文设计了一种基于IP(Intelligent Property)核的动态部分可重构框架。基于该框架设计人员可以快速地实现任务间的重构,有效地降低了应用的工程验证周期和难度。
(4)在上述工作的基础上,本文选用在5G和卫星通信中常用的QPSK(Quadrature Phase Shift Keying, QPSK)接收机来验证所提动态部分可重构调度算法的实用性。首先根据(2)中所提不分簇MILP模型的构建流程,对QPSK接收机进行DAG(Directed Acyclic Graph)建模和软硬件划分;其次根据划分结果对应用做硬件实现,并将部署在硬件上的任务封装成对应的IP核;最后基于(3)中所提的框架,实现QPSK接收机的动态部分重构验证调度算法的性能并评估动态部分可重构特性为接收机带来的效益。
软硬件划分即调度技术的目的是获得调度长度最短的调度方案,该方案包括任务的映射、定时和排序。该问题可以归类为组合优化问题,通常可以使用混合整数线性规划或随机优化算法对问题进行求解。求解的结果可以为动态部分可重构片上系统的设计提供解决方案,特别是在实时性要求严格、资源受限的计算密集型和通信密集型应用场景下,如航空航天、工业控制、云计算和5G等领域。基于以上背景,本文对动态部分可重构片上系统调度技术及其应用做了一系列的研究,主要完成了以下工作:
(1)随机优化算法和建立混合整数线性规划(Mixed Integer Linear Programming, MILP)、整数线性规划(Integer Linear Programming, ILP)模型都是解决软硬件划分问题的方法,但是随机优化算法往往难收敛且结果容易陷入局部最优。因此,本文针对动态部分可重构片上系统的软硬件划分问题提出了一种简洁、高效的MILP模型。首先将应用按一定的粒度划分为若干个子任务并对任务集做预分簇处理,其次将软硬件划分问题完全数学化并通过减少现有模型存在的冗余变量和约束方程,降低模型的复杂度进而缩短问题的求解时间。
(2)基于簇的软硬件划分需要在应用部署前对任务进行分簇,分簇结果约束了任务到处理器上的映射,主要应用于任务资源占用量、可重构区域数量和大小已知并且平台资源受限的场景。为了使调度结果适用于更普遍的场景,本文进一步提出了一种基于无分簇的MILP模型。在求解相同应用调度问题的前提下,对两种模型的计算机仿真结果进行分析,比较两种调度算法的性能。
(3)软硬件划分算法的最终目的是为实际应用的动态部分可重构设计提供合理的部署方案。停留于计算机仿真层面的实验结果只能说明算法的有效性,无法验证算法在工程上的实用性。因此为了对软硬件划分算法的实用性进行验证,本文设计了一种基于IP(Intelligent Property)核的动态部分可重构框架。基于该框架设计人员可以快速地实现任务间的重构,有效地降低了应用的工程验证周期和难度。
(4)在上述工作的基础上,本文选用在5G和卫星通信中常用的QPSK(Quadrature Phase Shift Keying, QPSK)接收机来验证所提动态部分可重构调度算法的实用性。首先根据(2)中所提不分簇MILP模型的构建流程,对QPSK接收机进行DAG(Directed Acyclic Graph)建模和软硬件划分;其次根据划分结果对应用做硬件实现,并将部署在硬件上的任务封装成对应的IP核;最后基于(3)中所提的框架,实现QPSK接收机的动态部分重构验证调度算法的性能并评估动态部分可重构特性为接收机带来的效益。