CN102929577A - 基于块分裂的fpga任务放置维护方法 - Google Patents

基于块分裂的fpga任务放置维护方法 Download PDF

Info

Publication number
CN102929577A
CN102929577A CN2012103748994A CN201210374899A CN102929577A CN 102929577 A CN102929577 A CN 102929577A CN 2012103748994 A CN2012103748994 A CN 2012103748994A CN 201210374899 A CN201210374899 A CN 201210374899A CN 102929577 A CN102929577 A CN 102929577A
Authority
CN
China
Prior art keywords
mer
overlapping region
task
fpga
limit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012103748994A
Other languages
English (en)
Inventor
陈雪
王平
高英虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN2012103748994A priority Critical patent/CN102929577A/zh
Publication of CN102929577A publication Critical patent/CN102929577A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于块分裂的FPGA任务块放置维护方法。由于任务和FPGA都被抽象成矩形,同时FPGA中的空闲块又划分成一系列重叠的最大空闲矩形块(简称MER)。所以每个到达FPGA的任务和MER在空间上都是一个有长和宽的矩形,当任务到达FPGA并找到合适位置放置后,维护过程如下:首先判断空闲区中的所有的MER是否与该任务有重叠区域,将那些有重叠区域的MER从MER队列中取出,然后根据MER与任务重叠区域的位置和大小,判断其属于哪一类情况,接着将所有与任务有重叠区域的MER进行相应处理,分裂为多块新的MER,最后更新MER队列。

Description

基于块分裂的FPGA任务放置维护方法
技术领域
本发明涉及一种基于块分裂的FPGA任务放置维护方法,具体地的说就是一种任务放入FPGA后,根据任务与最大空闲矩形块(简称MER)重叠区域的位置和大小,对原MER进行相应处理的一个维护方法。
背景技术
FPGA由可重构资源构成,具有动态局部可重构的特性。
FPGA及在FPGA上执行的任务可以被抽象成具有一定长度和宽度的矩阵,矩阵中的每个元素即代表一个可重构单元。
任务在FPGA内执行过程分为三步:首先,任务到达FPGA,寻找一块合适的空闲块来存放任务;其次,CPU调度该任务,任务在FPGA上执行;最后,任务执行完成后退出FPGA,任务原所在区域变为空闲状态。
Bazargan等提出了利用二叉树来记录FPGA空闲块的状态,即由一个初始结点代表一块空闲的FPGA,放置一个新任务后,该结点会产生左右两个孩子结点表示该空闲块中剩余的部分被分裂成不重叠的两块。以此类推,二叉树的所有叶子结点即为所有可用的不重叠的空闲矩形。分别有垂直分裂和水平分裂两种可能性。
Herbert Walder等对于Bazargan的二分方法做了改进,认为一个结点的分裂可以延迟到决定完下一个任务放在哪个孩子中的前面。并且不用每次对一颗子树中的所有叶子结点都进行信息更新,只需要修改哪些与任务重叠的结点。实验结果显示,改进后的算法使得任务的总运行时间和平均等待时间都分别降低了30%和70%。
发明内容
本发明的目的在于,基于上述背景中的空闲块分裂方法,设计一种基于块分裂的FPGA任务放置维护方法,该方法在新任务进入FPGA后,维护起来较方便,提高了效率。
为达到上述目的,本发明的构思是:由于任务和FPGA以及MER都被抽象成矩形,所以每个到达FPGA的任务在空间上都是一个有长和宽的矩形,新任务放入FPGA后,必然会与MER有重叠区域,根据相应情况对所有有重叠区域的MER进行处理即可。
根据上述发明构思,本发明采用下述技术方案:
一种基于块分裂的FPGA任务放置维护方法,其特征在于操作步骤如下:当任务到达FPGA并找到合适位置放置后,首先判断空闲区中的MER是否与该任务有重叠区域,将那些有重叠区域的MER从MER队列中取出,然后根据MER与任务重叠区域的位置和大小,判断其属于哪一类情况,接将所有与任务有重叠区域的MER进行相应处理,分裂为多块新的MER,最后更新MER队列。
根据重叠区域顶点是否在MER边上,以及重叠区域顶点是否在MER的顶点上,分类为以下六种情况:
1)        重叠区域没有顶点在MER的边上;
2)        重叠区域只有2个顶点在MER的边上;
3)        重叠区域只有3个顶点在MER的边上;
4)        重叠区域只有4个顶点在MER的边上,没有顶点在MER顶点上;
5)        重叠区域只有4个顶点在MER的边上,只有2个顶点在MER顶点上;
6)        重叠区域只有4个顶点在MER的边上,只有4个顶点在MER顶点上。
对每种情况给予相应的处理如下:
情况1):原MER被分裂成四块,即分布在重叠区域的上下左右各一块。
  情况2):原MER被分裂成三块,即分布在重叠区域三条未重叠的边所对应的方向上。
  情况3):原MER被分裂成两块,即分布在重叠区域两条未重叠的边所对应的方向上。
  情况4):原MER被分裂成两块,即分布在重叠区域的上下或者左右。
  情况5):原MER被分裂成一块,即分布在重叠区域的那条未重叠的边把对应的方向上。
  情况6):原MER被分裂成零块,因为重叠区域和MER完全重合,即占满该MER。
  本发明与现有技术相比,具有如下显而易见的突出实质性特点和显著进步:
  本发明提出的维护方法,与其它方法相比较简单,易实现,因此维护过程节省大量时间,大大提高了程序执行效率。
附图说明
图1是MER与任务重叠区域的位置的六种情况及处理
图2 是实施例四任务放入及放入后的维护过程图
图3是实施例四维护过程的流程图。
具体实施方式
实施例一:
本基于块分裂的FPGA任务块放入维护方法,其特征在于维护的过程为:当任务到达FPGA并找到合适位置放置后,首先判断空闲区中的所有的最大矩阵块(简称MER)是否与该任务有重叠区域,将那些有重叠区域的MER从MER队列中取出,然后根据MER与任务重叠区域的位置和大小,判断其属于哪一类情况,接将所有与任务有重叠区域的MER进行相应处理,分裂为多块新的MER,最后更新MER队列。
实施例二:
本实施例与实施例一基本相同,特别之处如下:
所述的MER与任务区域的位置的情况可分为六类,相应分类情况如下:
1)        重叠区域没有顶点在MER的边上;
2)        重叠区域只有2个顶点在MER的边上;
3)        重叠区域只有3个顶点在MER的边上;
4)        重叠区域只有4个顶点在MER的边上,没有顶点在MER顶点上;
5)        重叠区域只有4个顶点在MER的边上,只有2个顶点在MER顶点上;
6)        重叠区域只有4个顶点在MER的边上,只有4个顶点在MER顶点上。
实施例三:
本实施例与实施例二基本相同,特别之处如下:
所述的MER与任务区域的位置的六种分类情况相应的处理如下:(见图1)
情况1):原MER被分裂成四块,即分布在重叠区域的上下左右各一块。
  情况2):原MER被分裂成三块,即分布在重叠区域三条未重叠的边所对应的方向上。
  情况3):原MER被分裂成两块,即分布在重叠区域两条未重叠的边所对应的方向上。
  情况4):原MER被分裂成两块,即分布在重叠区域的上下或者左右。
  情况5):原MER被分裂成一块,即分布在重叠区域的那条未重叠的边把对应的方向上。
  情况6):原MER被分裂成零块,因为重叠区域和MER完全重合,即占满该MER。
实施例四:
本实施例与实施例三基本相同,是一个实例:
参见图2、图3,如图2设当前FPGA中已有一个任务task1,当前的MER队列中仅记录了三个MER,分别为MER1、MER2、MER3,当新到一个任务 task2时,task2放置后,维护过程如下:(见图3)
S1.从MER队列中取出MER1,判断其与task2有重叠区域,故将其放入待处理队列;
S2.继续取出MER2,判断其与task2有重叠区域,故也将其放入待处理队列;
S3.继续取出MER3,判断其与task2没有重叠区域,故将其放回MER队列;
S4.从待处理队列中取出MER1,根据其与task2的重叠区域位置关系,判断其属于第三种情况,故将原MER分裂成两块,MER4和MER5,然后将它们放入MER队列。
S5.从待处理队列中取出MER2,根据其与task2的重叠区域位置关系,判断其属于第五种情况,故将原MER分裂成一块,MER6,然后将其放入MER队列。

Claims (3)

1.一种基于块分裂的FPGA任务块放置维护方法,其特征在于维护的操作步骤为:当任务到达FPGA并找到合适位置放置后,首先判断空闲区中的所有的最大矩阵块MER是否与该任务有重叠区域,将那些有重叠区域的MER从MER队列中取出,然后根据MER与任务重叠区域的位置和大小,判断其属于哪一类情况,接将所有与任务有重叠区域的MER进行相应处理,分裂为多块新的MER,最后更新MER队列。
2.根据权利要求1所述的基于块分裂的FPGA任务块放置维护方法,其特征在于所述的分类情况,根据重叠区域顶点是否在MER边上以及重叠区域顶点是否在MER的顶点上分类为以下六种情况: 
1)重叠区域没有顶点在MER的边上,
2)重叠区域只有2个顶点在MER的边上,
3)重叠区域只有3个顶点在MER的边上,
4)重叠区域只有4个顶点在MER的边上,没有顶点在MER顶点上,
5)重叠区域只有4个顶点在MER的边上,只有2个顶点在MER顶点上,
6)重叠区域只有4个顶点在MER的边上,只有4个顶点在MER顶点上。
3.根据权利要求2所述的基于块分裂的FPGA任务块放置维护方法其特征在于所述的六种情况分别进行以下处理:
  情况1):原MER被分裂成四块,即分布在重叠区域的上下左右各一块;
  情况2):原MER被分裂成三块,即分布在重叠区域三条未重叠的边所对应的方向上;
  情况3):原MER被分裂成两块,即分布在重叠区域两条未重叠的边所对应的方向上;
  情况4):原MER被分裂成两块,即分布在重叠区域的上下或者左右;
  情况5):原MER被分裂成一块,即分布在重叠区域的那条未重叠的边所对应的方向上;
  情况6):原MER被分裂成零块,因为重叠区域和MER完全重合,即占满该MER。
CN2012103748994A 2012-10-08 2012-10-08 基于块分裂的fpga任务放置维护方法 Pending CN102929577A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012103748994A CN102929577A (zh) 2012-10-08 2012-10-08 基于块分裂的fpga任务放置维护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012103748994A CN102929577A (zh) 2012-10-08 2012-10-08 基于块分裂的fpga任务放置维护方法

Publications (1)

Publication Number Publication Date
CN102929577A true CN102929577A (zh) 2013-02-13

Family

ID=47644391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012103748994A Pending CN102929577A (zh) 2012-10-08 2012-10-08 基于块分裂的fpga任务放置维护方法

Country Status (1)

Country Link
CN (1) CN102929577A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020108271A1 (zh) * 2018-11-30 2020-06-04 腾讯科技(深圳)有限公司 应用程序更新方法、设备和装置及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508712A (zh) * 2011-09-29 2012-06-20 中国科学技术大学苏州研究院 异构多核可重构混合系统中的中间件系统及任务执行方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508712A (zh) * 2011-09-29 2012-06-20 中国科学技术大学苏州研究院 异构多核可重构混合系统中的中间件系统及任务执行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHANG JUN-FENG ET AL.: "Finding Free Space for Task Placement on Reconfigurable Devices", 《INFORMATION ENGINEERING FOR MECHANICS AND MATERIALS SCIENCE》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020108271A1 (zh) * 2018-11-30 2020-06-04 腾讯科技(深圳)有限公司 应用程序更新方法、设备和装置及存储介质
US11726770B2 (en) 2018-11-30 2023-08-15 Tencent Technology (Shenzhen) Company Limited Method, device, and apparatus for updating application program, and storage medium

Similar Documents

Publication Publication Date Title
Chebil et al. A dynamic programming algorithm for the knapsack problem with setup
CN103812949B (zh) 一种面向实时云平台的任务调度与资源分配方法及系统
EP2804101A3 (en) Automated scaling of applications in virtual data centers
CN105068865A (zh) 任务调度方法和装置
CN110969198A (zh) 深度学习模型的分布式训练方法、装置、设备及存储介质
CN103647850A (zh) 一种分布式版本控制系统的数据处理方法、设备及系统
CN105589748A (zh) 一种业务请求处理方法及装置
CN105808346A (zh) 一种任务调度方法与装置
CN105573843B (zh) 一种数据处理方法和系统
CN108256182B (zh) 一种动态可重构fpga的布局方法
CN111083189B (zh) 用于在运行时处理数据倾斜的系统和方法
CN102929577A (zh) 基于块分裂的fpga任务放置维护方法
CN104281636A (zh) 海量报表数据并发分布式处理方法
CN103713953A (zh) 一种内存数据的搬移装置及方法
CN103530742A (zh) 提高排程运算速度的方法及装置
CN114500539B (zh) 智慧路灯系统中边缘应用部署方法、装置及可读存储介质
CN104951373A (zh) 调度系统的消息队列处理方法
CN106484689B (zh) 数据处理方法和装置
CN102253861A (zh) 一种分步运算插件的执行方法
CN104601732A (zh) 一种快速实现多路数据归并的方法
CN104699520B (zh) 一种基于虚拟机迁移调度的节能方法
US20140358622A1 (en) Work station arrangement system and method
CN103885427B (zh) 一种基于rtems操作系统的嵌入式微机保护方法
CN107479683B (zh) 一种面向组态软件的串行计算方法
Andrei et al. An improved upper-bound algorithm for non-preemptive task scheduling

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130213