CN101944049B - 一种基于放置代价的可重构系统软/硬件任务统一调度方法 - Google Patents
一种基于放置代价的可重构系统软/硬件任务统一调度方法 Download PDFInfo
- Publication number
- CN101944049B CN101944049B CN201010282450.6A CN201010282450A CN101944049B CN 101944049 B CN101944049 B CN 101944049B CN 201010282450 A CN201010282450 A CN 201010282450A CN 101944049 B CN101944049 B CN 101944049B
- Authority
- CN
- China
- Prior art keywords
- task
- fpga
- software
- cost
- hardware task
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
- Stored Programmes (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公布了一种基于放置代价的可重构系统软/硬件任务统一调度方法。针对目前可重构系统任务在线调度方法的不足,本发明考虑了三种代价,分别为:硬件任务在FPGA上的执行时间,占用的FPGA面积以及FPGA的碎片情况,并且也考虑了软/硬件任务的统一调度方法。在调度过程中,当硬件任务的代价超过设定的阈值时,就拒绝其在FPGA上运行,并由CPU执行其相应软件任务实现。通过合理地拒绝一些代价较大的任务,能够从整体上提高任务调度成功率。实验表明,同已有方法相比,该方法能够获得更高的任务截止保证率。
Description
所属技术领域
本发明涉及可重构系统技术领域,尤其是涉及建立一种基于放置代价的可重构系统软/硬件任务统一调度方法。
背景技术
随着大规模集成电路的不断发展,兼具软件灵活性和硬件性能的现场可编程门阵列(fieldprogrammable gate array,FPGA)变得越来越强大。在嵌入式系统的设计中,计算任务既可以采用软件实现,也可以采用基于FPGA的硬件实现。硬件实现高效,易于满足实时性的要求,但成本较高;软件实现方便灵活,成本低,但速度较慢。具体采用何种实现需要根据需求而定。
目前,可重构FPGA的资源分配主要采用二维结构,二维结构中的各个子区域可以独立配置,而互不影响。硬件任务要能够在其上运行,需要占用一定的面积,同时,由于配置一个硬件任务运行需要很大的代价,硬件任务运行结束后才释放占用的FPGA资源。因此,硬件任务要能运行就会涉及到任务的放置策略问题。这与二维网格多处理器系统中的处理器分配非常类似。经过多年的发展,已产生了多种任务放置方法,如BL、QA、RB004C、Bazargan、OTF等。到达的硬件任务被排队,由放置方法选择合适的FPGA区域运行。
在操作系统层面,需要考虑硬件任务的调度问题,甚至是软/硬件任务的统一调度问题。目前,硬件任务调度方法一般都建立在已有的放置方法之上,如采用预约策略,考虑硬件任务对时间的需求,将二维放置方法扩展到三维。但这些方法都有一个缺点,没有考虑硬件任务的放置代价,没有考虑软/硬件任务的统一调度。针对这个问题,在已有方法的基础上,本发明提出一种基于放置代价的可重构系统软/硬件任务统一调度方法。
发明内容
本发明的目的在于提供了一种基于放置代价的可重构系统软/硬件任务统一调度方法。
本发明解决其技术难题所采用的技术方案如下:
传统的操作系统为提高调度系统的吞吐量,引入复杂的调度策略。目前针对硬件任务的调度主要还是采用先来先服务(first come first service,FCFS)的策略,导致任务的截止期保证率还不高。本文在已有方法的基础上,提出一种基于放置代价的软/硬件任务统一调度方法。放置代价将从以下三个方面考虑:1)以硬件任务占用FPGA面积作为放置代价,当硬件任务的面积超过一定阈值时,就拒绝其在FPGA上运行,将其软件实现放入软件任务运行队列中;
2)以硬件任务在FPGA上的运行时间作为放置代价,当硬件任务的运行时间超过一定阈值时,就拒绝其在FPGA上运行,将其软件实现放入软件任务运行队列中;3)以FPGA的碎片程度作为放置代价,当因为任务的放置而使FPGA的碎片程度变化较大时,就拒绝其在FPGA上运行,将其软件实现放入软件任务运行队列中。本方法调度任务运行的过程如下:
schedule(T)
1:if T is soft task then
2:Add task to soft executing queue
3:return
4:EL←hard executing queue,RL←hard reserving queue
5:ts←a,tf←ts+rh,accept←false
6:while tf<=d do
7:for each task TE(x1,y1,x2,y2,s,f)in EL
8:iff<=ts remove TE from EL
9:for each task TR(x1,y1,x2,y2,s,f)in RL
10:if s<tf then
11:remove TR from RL
12:insert TR into EL
13:<x,y>←QA(EL,T)
14:accept←PlaceCost(x,y,T)
15:if accept is true then
16:AddReservation(T,x,y,ts)
17:return
18:ts←next finishing time event from EL
19:tf←ts+rh//end while
20:if accept is false then
21:Add task to soft executing queue
该过程以主循环(while循环)模拟时间的流动,采用高效的QA(Quick Allocation,快速分配)方法来为硬件任务寻找放置基点(过程第13行),以FPGA的碎片程度作为硬件任务的放置代价(过程第14行),PlaceCost(放置代价)函数计算FPGA的碎片程度,当放置前后FPGA的碎片程度变化超过一定阈值时,函数的计算结果为false,表示拒绝硬件任务在FPGA上运行。当硬件任务的软件实现放入软件任务运行队列时,一般设置较高的软件任务优先级。软/硬件任务统一调度采用EDF(Earliest Deadline First,最早截止时间优先)调度方法。对于以硬件任务的占用面积或运行时间作为放置代价的实现更简单,不需要在每次主循环中都计算代价,代价的计算和硬件任务拒绝与否在主循环开始之前执行。
本发明与背景技术相比,具有的有益效果是:
本发明提出的放置方法和调度方法能够获得更高的任务截止保证率,明显地改善可重构系统的性能。
附图说明
图1三种代价的阈值选取与任务截止保证率比较
图2四种方法的任务截止保证率比较
具体实施方式
下面结合实例对本发明作进一步的说明。
在模拟实验中,采用Xilinx公司的芯片vertex XCV1000作为可重构FPGA,该FPGA含有96×64个RCU单元。生成的模拟任务各参数随机分布,任务宽度取值范围[20,90],高度取值范围[10,60],任务在FPGA上执行时间范围[100,1000],软件实现执行时间为对应硬实现的2-5倍,任务到达时间范围[1,100],任务的截止时间为:a+rh+t,t∈[100,500]。
1)阈值的选取
测试时模拟生成任务数量为1000,各代价的不同阈值均测试100次,结果取平均值。三种代价的阈值选取与任务截止保证率关系如图1所示。对于时间和空间代价,横坐标取前面的值,图中给出的是比例值;对于碎片程度代价,横坐标取后面的值。从图中可以看出:阈值存在一个最优值,时间代价最优值在0.8×MAX(rh)附近,面积代价最优值在0.6×W×H附近,碎片程度代价最优值在2.0附近;低于最优值时,阈值的选取对任务截止保证率影响很大;高于最优值后阈值对任务截止保证率影响减小,趋近于没有考虑代价时的情形。
2)调度方法比较
根据模拟生成任务的数量分为五个测试集:C600,C800,C1000,C1200,C1400,下标代表任务数量。每个测试集测量100次,结果取平均值。参与比较的调度方法有:1)紧凑预约(CR)调度方法;2)以任务占用面积为代价的方法(EWS),拒绝阈值取最优;3)以任务在FPGA上运行时间为代价的方法(TWS),拒绝阈值取最优;4)以FPGA的碎片程度为代价的方法(FWS),拒绝阈值取最优。各方法的任务截止保证率如图2所示。
可见,基于放置代价的调度方法能够获得更好的调度性能,这在任务较多时尤其明显,主要由于通过合理的拒绝一些代价较大的任务,使后续更多的任务获得执行的机会,进而提高任务截止保证率。而对于三种放置代价,基于FPGA碎片程度的效果最好,基于任务占用面积的次之,而基于任务执行时间的最差,稍微好于其它没有考虑放置代价的调度方法。
Claims (1)
1.一种基于放置代价的可重构系统软/硬件任务统一调度方法,其特征如下:
1)在可重构系统中,硬件任务的放置代价包括三个方面:
●以硬件任务占用的FPGA面积作为放置代价,当硬件任务的面积超过一定阈值时,拒绝其在FPGA上运行,将其软件实现放入软件任务运行队列中;
●以硬件任务在FPGA上的运行时间作为放置代价,当硬件任务的运行时间超过一定阈值时,拒绝其在FPGA上运行,将其软件实现放入软件任务运行队列中;
●以FPGA的碎片程度作为放置代价,当硬件任务的放置使得FPGA的碎片程度变化较大时,拒绝其在FPGA上运行,将其软件实现放入软件任务运行队列中;
2)软/硬件任务统一调度方法运行的过程如下:
●以主循环模拟时间的流动,采用高效的QA(快速分配)方法来为硬件任务寻找放置基点,以FPGA的碎片程度作为硬件任务的放置代价;
●PlaceCost(位置代价)函数计算FPGA的碎片程度,当放置前后FPGA的碎片程度变化超过一定阈值时,函数的计算结果为false,表示拒绝硬件任务在FPGA上运行;
●当硬件任务的软件实现放入软件任务运行队列时,设置较高的软件任务优先级;
●软/硬件任务统一调度采用EDF(最早截止时间优先)调度方法;
●对于以硬件任务的占用面积或运行时间作为放置代价的实现,不需要在每次主循环中都计算放置代价,代价的计算和硬件任务拒绝与否在主循环开始之前进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010282450.6A CN101944049B (zh) | 2010-09-16 | 2010-09-16 | 一种基于放置代价的可重构系统软/硬件任务统一调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010282450.6A CN101944049B (zh) | 2010-09-16 | 2010-09-16 | 一种基于放置代价的可重构系统软/硬件任务统一调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101944049A CN101944049A (zh) | 2011-01-12 |
CN101944049B true CN101944049B (zh) | 2014-04-02 |
Family
ID=43436048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010282450.6A Expired - Fee Related CN101944049B (zh) | 2010-09-16 | 2010-09-16 | 一种基于放置代价的可重构系统软/硬件任务统一调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101944049B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262612B (zh) * | 2011-07-28 | 2014-04-23 | 西安交通大学 | 一种降低可重构硬件任务布局冲突的方法 |
CN102999435B (zh) * | 2011-09-16 | 2017-02-22 | 上海大学 | Hrca系统的可重构单元的二维任务放置方法 |
CN102629218A (zh) * | 2012-03-14 | 2012-08-08 | 西安交通大学 | 一种基于任务长宽比的可重构硬件任务放置方法 |
CN104956328B (zh) * | 2014-01-28 | 2018-12-14 | 华为技术有限公司 | 一种可重入资源调度方法、设备及系统 |
CN110674078B (zh) * | 2019-10-08 | 2020-11-10 | 北京航空航天大学 | 一种数字孪生系统复杂任务异构多核并行高效求解方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414270A (zh) * | 2008-12-04 | 2009-04-22 | 浙江大学 | 硬件辅助的辅核任务动态优先级调度的实现方法 |
CN101833368A (zh) * | 2010-04-13 | 2010-09-15 | 杭州电子科技大学 | 一种软硬件协调处理的局部动态可重构系统能量管理方法 |
-
2010
- 2010-09-16 CN CN201010282450.6A patent/CN101944049B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414270A (zh) * | 2008-12-04 | 2009-04-22 | 浙江大学 | 硬件辅助的辅核任务动态优先级调度的实现方法 |
CN101833368A (zh) * | 2010-04-13 | 2010-09-15 | 杭州电子科技大学 | 一种软硬件协调处理的局部动态可重构系统能量管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101944049A (zh) | 2011-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101944049B (zh) | 一种基于放置代价的可重构系统软/硬件任务统一调度方法 | |
WO2017167105A1 (zh) | 任务的资源调度方法及装置 | |
CN102929279B (zh) | 基于三维空间密集存储区域的多机器人路径规划方法 | |
CN103336669B (zh) | 一种基于固态盘内部并行性的i/o调度方法及调度器 | |
CN104932938A (zh) | 一种基于遗传算法的云资源调度方法 | |
CN103049213B (zh) | 一种磁盘调度方法及装置 | |
CN104076333A (zh) | 基于双排序的旋转相控阵雷达波束自适应编排的实现方法 | |
Yao et al. | Comparative evaluation of limited preemptive methods | |
CN105046412A (zh) | 一种被动相控阵雷达多站联合资源调度与分配方法 | |
CN105700941A (zh) | 三维调度器模型及其调度算法 | |
CN103631988B (zh) | 面向电力系统仿真的多用户仿真数据管理平台 | |
CN104331271A (zh) | 用于cfd的并行计算方法及系统 | |
Lee et al. | Maximizing contention-free executions in multiprocessor scheduling | |
CN102681901A (zh) | 一种分区域的可重构硬件任务放置方法 | |
CN103488531A (zh) | 基于多核处理器和fpga的软硬件混合实时任务调度方法 | |
CN103257900A (zh) | 减少cpu占用的多处理器上实时任务集资源预留方法 | |
CN111695806A (zh) | 一种资源分配方法、装置设备和存储介质 | |
CN102402461A (zh) | 一种基于作业规模的均衡调度方法 | |
CN103034959B (zh) | 一种进行调度的方法和设备 | |
Berhanu et al. | Dynamic time quantum based round robin CPU scheduling algorithm | |
Lobaccaro et al. | Urban solar district: a case study of geometric optimization of solar façades for a residential building in Milan | |
CN105183536B (zh) | 基于gpu的乐观时间管理方法 | |
CN102654843A (zh) | 嵌入式处理器中非抢占式容错调度方法及嵌入式处理器 | |
CN102609820A (zh) | 一种基于项目特性的关键链缓冲调整方法 | |
CN103065004B (zh) | 一种船舶曲面分段建造动态调度的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140402 Termination date: 20140916 |
|
EXPY | Termination of patent right or utility model |