一种动态可重构FPGA的布局方法技术

技术编号:18399038 阅读:194 留言:0更新日期:2018-07-08 19:35
本发明专利技术公开了一种动态可重构FPGA的布局方法,构建FPGA动态可重构系统的计算资源,采用位示图法对FPGA的计算资源进行管理,建立单个硬件任务Tn的任务模型,在FPGA在线布局过程中,利用FF Reshaped‑Task‑Model调度模型对任务模型进行变形,完成布局。本发明专利技术在FPGA在线布局的过程中引入任务模型可变的策略,在首次布局失败的情况下,对在线任务的形状进行改变,并重新调度布局算法,由于任务的形状可以变化,增加了任务的灵活性,提高了布局时任务的可选择性,从而提高了任务布局成功率,提高了FPGA资源的利用率。

【技术实现步骤摘要】
一种动态可重构FPGA的布局方法
本专利技术属于可重构计算
,具体涉及一种FPGA(Field-ProgrammableGateArray)现场可编程门阵列的在线布局方法。
技术介绍
在大数据的时代,数据量呈现出指数级爆炸式的增长,也就要求对数据进行更快速、更复杂的处理。FPGA有着更广泛的应用领域,主要包括;5G无线通讯、雷达和航天、云计算、人工智能、智慧城市和无人驾驶技术等。这些领域都面临着数据量骤增和计算更复杂度的挑战。FPGA在解决这类数据加速问题上有着无可比拟的优势。据半导体行业协会SIA发布的最新数据称,2017年8月全球半导体销售额达到350亿美元,创月度销售额历史新高,增速高达24%。据世界半导体贸易统计组织WSTS发布的最新报告预测,2017年全球半导体销售额有望达到3970亿美元。在2016全球3400亿美元的半导体销售额中,逻辑电路产品占比27%,高达915亿美元。工业界也在做这方面的努力,亚马逊推出基于FPGA的云服务AWS之后,腾讯云、阿里云、百度云等也都在着力发展自己基于FPGA的云服务。微软使用FPGA实现了机器翻译,并将FPGA应用在Bing的搜索加速中。据英特尔判断,2020年“CPU+FPGA”异构计算或将占据云计算中心约1/3的市场份额。FPGA开发是自顶向下的,通过EDA和编程工具实现这个过程,主要流程包括能定义/器件选型、设计输入、功能仿真、综合优化、综合后仿真、实现与布局布线、布线后仿真、板级仿真以及芯片编程与调试等步骤。布局布线是利用FPGA提供的计算资源逻辑查找表Look-upTable(LUT)来实现功能模块的逻辑映射,决定逻辑的最佳布局、根据布局方式来确定计算节点之间的布线,生成相应的配置文件。布局将逻辑网表中的硬件原语和底层单元合理地映射到芯片内部的固有硬件结构上,在速度最优和面积最优之间进行抉择。动态可重构系统的在线任务调度和布局算法,主要包括三个方面,空闲资源的管理、按照限制条件实现对任务的调度和布局、任务完成后对资源的回收。对于可重构系统的任务调度的问题的研究其本质是个装箱问题,也就是个NP问题。现在主流的在线任务调度算法主要有FF(Firstinfirstout)调度算法和BF(Bestfit)调度算法。这两种调度算法的模型都是单一任务模型,如果某一任务在t时刻布局失败,该任务加入的等待队列中,直到有运行的任务完成后释放掉FPGA资源和,该任务才能重新调度,而等待期间FPGA的资源可能是能够满足该任务的需求的,该任务有多任务模型就可以提高任务在t时刻的布局成功率,当任务集中有任务可以提前布局,整个任务集的布局成功率和任务周转时间都可以得到显著改善。
技术实现思路
本专利技术所要解决的技术问题在于针对上述现有技术中的不足,提供一种动态可重构FPGA的布局方法,用于解决单一模型布局的问题。本专利技术采用以下技术方案:一种动态可重构FPGA的布局方法,构建FPGA动态可重构系统的计算资源,采用位示图法对FPGA的计算资源进行管理,建立单个硬件任务Tn的任务模型,在FPGA在线布局过程中,利用Reshaped-Task-Model调度模型对任务模型进行变形,完成布局。具体的,FPGA资源表示如下:其中,n表示FPGA计算资源分配给任务n,0表示资源位分配。进一步的,FPGA动态可重构系统的计算资源为FPGA(W,H),W表示可重构资源的宽,H表示可重构资源的高,W×H表示可重构资源的大小。具体的,建立Reshaped-Task-Model调度模型具体包括以下步骤:S201、当任务开始时,对硬件任务进行初始化;S202、该硬件任务在首次调度过程中,若部署成功,分配FPGA资源给该硬件任务并运行该硬件任务,将单个硬件任务加入运行队列;S203、若调度失败,则确定该硬件任务是否可以变形,以及FPGA资源是否适合任务的变形;S204、如果调度过程中时间戳大于最晚截至时间,则该硬件任务要求得不到满足,将该硬件任务加入执行失败队列。进一步的,步骤S201中,单个硬件任务用Tn=(a,e,d,w,h)表示,a为任务的到来时间,e为任务的执行时间,d为任务的最晚截止时间,h为任务的高度,w为任务的宽度;且满足,1≤w≤W,1≤h≤H。进一步的,步骤S203中,根据FPGA资源的空限度F确定变形,F满足0≤F≤1,如果F小于阈值则满足变形条件,对硬件任务的形状进行重新优化,并重新进行匹配调度,对FPGA资源自左向右,自上而下进行遍历匹配。进一步的,单个硬件任务与FPGA资源和空闲度需满足如下关系:w*m<Wandh*l<HandF<g其中,h为任务块大小的高度,w为任务的宽度,W表示可重构资源的宽度,H表示可重构资源的高度,n、m、l为三个变形系数。具体的,根据硬件任务布局成功率r、任务周转周期Tt和资源空限度F对Reshaped-Task-Model调度模型进行评估。进一步的,硬件任务布局成功率r具体为:其中,Nsuccess表示成功执行的任务,Nall表示执行过程中提交调度的任务总数;任务周转周期Tt具体为:Tt=Tlasttakfinished-Tfirsttaskarrive其中,Tlasttakfinished表示最后一个任务完成的时间,Tfirsttaskarrive表示第一个任务到来的时间;资源空限度F具体为:其中,i表示任务编号,wi表示单个任务的宽度,hi表示单个任务的高度。与现有技术相比,本专利技术至少具有以下有益效果:本专利技术动态可重构FPGA的布局方法通过构建FPGA动态可重构系统的计算资源,采用位示图法对FPGA的计算资源进行管理,建立单个硬件任务Tn的任务模型,在FPGA在线布局过程中,利用FFReshaped-Task-Model调度模型对任务模型进行变形完成布局,引入任务可变形模型调度策略是对于到来的任务在首次布局失败后,对任务模型进行变形,增强任务调度的灵活性,提高任务的布局成功率和可重构系统的资源利用率,减少任务的外部碎片。进一步的,当任务开始时,对单个硬件任务进行初始化;单个硬件任务在首次调度过程中,若部署成功,则运行单个硬件任务,将单个硬件任务加入运行队列;若调度失败,则确定单个硬件任务本身是否可以变形,以及FPGA资源是否适合任务的变形;如果调度过程中时间戳大于最晚截至时间,则单个硬件任务要求得不到满足,将单个硬件任务加入执行失败队列。进一步的,根据FPGA资源的空限度F确定任务是否可以变形,当FPGA的负载过重的情况下,对单个任务进行变形后再调度的成功率很低,本技术在空限度F小于阈值的情况下,才对任务进行变形,这样减少了部分额外的调度开销。进一步的,任务布局成功率是衡量一个调度算法性能的最主要的性能指标,本技术实现的Reshaped-Task-Model调度模型,在FF和BF调度算法上的应用提高了算法的布局成功率,而任务集的周转时间以及额外的调度开销并没有增加很多,在某些情况下Reshaped-Task-Model调度模型的周转时间比FF和BF的性能更优。综上所述,本专利技术在FPGA在线布局的过程中引入任务模型可变的策略,在首次布局失败的情况下,对在线任务的形状进行改变,并重新调度布局算法,由于任务的形状可以变化,增加了任务的本文档来自技高网
...

【技术保护点】
1.一种动态可重构FPGA的在线布局方法,其特征在于,构建FPGA动态可重构系统的资源管理,采用位示图法对FPGA的计算资源进行管理,建立单个硬件任务Tn的任务模型,在FPGA在线布局过程中,利用Reshaped‑Task‑Model调度模型对任务模型进行变形,完成布局。

【技术特征摘要】
1.一种动态可重构FPGA的在线布局方法,其特征在于,构建FPGA动态可重构系统的资源管理,采用位示图法对FPGA的计算资源进行管理,建立单个硬件任务Tn的任务模型,在FPGA在线布局过程中,利用Reshaped-Task-Model调度模型对任务模型进行变形,完成布局。2.根据权利要求1所述的一种动态可重构FPGA的布局方法,其特征在于,对FPGA资源的管理如下:其中,w、h表示计算资源的二维编号,n表示FPGA计算资源分配给任务n,0表示资源未分配。3.根据权利要求1或2所述的一种动态可重构FPGA的在线布局方法,其特征在于,FPGA动态可重构系统的计算资源为FPGA(W,H),W表示可重构资源的宽,H表示可重构资源的高,W×H表示可重构资源的大小。4.根据权利要求1所述的一种动态可重构FPGA的布局方法,其特征在于,建立Reshaped-Task-Model调度模型具体包括以下步骤:S201、当任务开始时,对单个硬件任务进行初始化;S202、单个硬件任务在首次调度过程中,若部署成功,则运行单个硬件任务,将单个硬件任务加入运行队列;S203、若调度失败,则确定单个硬件任务本身是否可以变形,以及FPGA资源是否适合任务的变形;S204、如果调度过程中时间戳大于最晚截至时间,则单个硬件任务要求得不到满足,将单个硬件任务加入执行失败队列。5.根据权利要求4所述的一种动态可重构FPGA的布局方法,其特征在于,步骤S201中,单个硬件任务用Tn=(a,e,d,w,h)表示,a为任务的到来时间,e为...

【专利技术属性】
技术研发人员:伍卫国秦朝楠赵东方王今雨王倩徐一轩李桢华崔舜
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1