CN101944049B - 一种基于放置代价的可重构系统软/硬件任务统一调度方法 - Google Patents

一种基于放置代价的可重构系统软/硬件任务统一调度方法 Download PDF

Info

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
Application number
CN201010282450.6A
Other languages
English (en)
Other versions
CN101944049A (zh
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.)
Sichuan University
Original Assignee
Sichuan University
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 Sichuan University filed Critical Sichuan University
Priority to CN201010282450.6A priority Critical patent/CN101944049B/zh
Publication of CN101944049A publication Critical patent/CN101944049A/zh
Application granted granted Critical
Publication of CN101944049B publication Critical patent/CN101944049B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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(最早截止时间优先)调度方法;
●对于以硬件任务的占用面积或运行时间作为放置代价的实现,不需要在每次主循环中都计算放置代价,代价的计算和硬件任务拒绝与否在主循环开始之前进行。
CN201010282450.6A 2010-09-16 2010-09-16 一种基于放置代价的可重构系统软/硬件任务统一调度方法 Expired - Fee Related CN101944049B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414270A (zh) * 2008-12-04 2009-04-22 浙江大学 硬件辅助的辅核任务动态优先级调度的实现方法
CN101833368A (zh) * 2010-04-13 2010-09-15 杭州电子科技大学 一种软硬件协调处理的局部动态可重构系统能量管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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