CN102662744A - 一种基于条件抢占的fpga任务调度方法 - Google Patents

一种基于条件抢占的fpga任务调度方法 Download PDF

Info

Publication number
CN102662744A
CN102662744A CN2012101151067A CN201210115106A CN102662744A CN 102662744 A CN102662744 A CN 102662744A CN 2012101151067 A CN2012101151067 A CN 2012101151067A CN 201210115106 A CN201210115106 A CN 201210115106A CN 102662744 A CN102662744 A CN 102662744A
Authority
CN
China
Prior art keywords
task
fpga
time
queue
condition
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.)
Granted
Application number
CN2012101151067A
Other languages
English (en)
Other versions
CN102662744B (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.)
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 CN201210115106.7A priority Critical patent/CN102662744B/zh
Publication of CN102662744A publication Critical patent/CN102662744A/zh
Application granted granted Critical
Publication of CN102662744B publication Critical patent/CN102662744B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明涉及一种基于条件抢占的FPGA任务调度方法,该方法具体步骤如下:1)建立一个等待队列,等待队列用来放置的是等待进入FPGA的任务;2)将等待队列队首任务最早进入FPGA的时刻设为最早预约时刻;3)依次获取非队首任务,获取它们的执行时间;4)判断它们是否满足抢占条件:当前时刻+任务执行时间≤队首任务的最早预约时刻。若满足跳转至5),不满足跳转至7);5)判断此刻FPGA中是否有足够大的空闲空间允许该任务放入,有则跳至6),否则跳至7);6)将该任务先于队首任务,放入FPGA执行;7)该任务继续等待。该调度方法调整了等待队列中任务进入FPGA执行的顺序,使后到任务可以先于先到任务放入FPGA执行,从而减少了任务的等待时间,有效提高任务集执行效率。

Description

一种基于条件抢占的FPGA任务调度方法
技术领域
本发明涉及一种基于条件抢占的FPGA任务调度方法。
背景技术
FPGA内部可重构空间与任务均为二维矩形。任务对FPGA内位置选择没有严格限制,只要FPGA内部存在一块空白块面积大于该任务所需逻辑块面积,该任务就可放在FPGA内运行。假设一批任务之间无数据相关性的任务队列,按顺序依次到达可重构部件FPGA,这时需要根据FPGA的资源占用情况,调整任务进入FPGA的顺序,同时设计算法在二维空间内合理地摆放任务。通过比较任务集合执行所花费的总时间、任务到达FPGA后是否能及时进入FPGA被执行的概率、以及任务等待的时间等评测指标,来比较不同方法对于FPGA的资源利用情况。
对于任务调度问题,国内外有以下研究成果。J. Tabero等人与J. Cui等人提出了one-level look-ahead算法。该算法的基本思想是:如果在下一个有任务退出FPGA的时刻放入新到的任务可以得到更高的FPGA资源利用率,则将该任务延迟到下一个有任务退出FPGA的时刻放入。该方法的缺点是只提出了算法思想,没有定量的分析算法效果,如用何种方式比较FPGA的资源利用率,任务最多延迟多久放入多少合适等。
许新达等人提出了一种“亚可抢占”的任务序列调整方式。该算法的基本思想是当有一个以上的等待任务时,延迟第一个等待任务的进入时间,与第二个等待任务在下一个FPGA内的任务退出时刻统一放置。该算法缺点是它不是通过定量衡量FPGA的资源利用率来决定是否延迟任务进入FPGA的时刻,而是通过比较是否能减少多个等待任务的等待时间来决定是否延迟任务进入FPGA的时刻。
周学功等人提出了一种紧凑预约算法。通过任务执行时间信息的充分利用,该算法为等待任务统一离线放置,预约放置位置,减少了任务等待时间。该方法缺点是需要利用矩阵表示FPGA使用情况,并用矩阵元素记录任务的离开时间等信息,并且在每一时刻必须更新所有矩阵元素信息,复杂度较高。
本发明方法是基于以上三种算法,旨在定量分析放入时间以充分利用FPGA的同时又能减小复杂度。
发明内容
针对现有技术存在的缺陷,本发明的目的是提供一种基于条件抢占的FPGA任务调度方法。本方法是一种基于条件抢占的,调整等待队列中非队首任务进入FPGA的顺序的调度方法。针对“先到先进入”的调度方式的不足,该方法会调整等待进入FPGA的任务序列顺序,减少任务的等待时间。
本发明的基本思想是:只有当等待的任务超过两个时,在不改变先到达FPGA的任务的预计进入时间的情况下,可以允许后到达FPGA的任务先提前进入FPGA执行。
为达到上述目的,本发明采用如下技术方案:
一种基于条件抢占的FPGA任务调度方法,该方法的步骤如下:
1)建立一个等待队列,等待队列用来放置的是等待进入FPGA的任务; 
2)将等待队列队首任务最早进入FPGA的时刻设为最早预约时刻; 
3) 依次获取非队首任务,获取它们的执行时间;
4)判断它们是否满足抢占条件,即当前时刻+任务执行时间≤队首任务的最早预约时刻;若满足跳转至5),若不满足跳转至7);
5)判断此刻FPGA中是否有足够大的空闲空间允许该任务放入,若有则跳至6),否则跳至7);
6)将该任务先于队首任务,放入FPGA执行;
7)该任务继续等待。
与现有技术相比,本发明的优点在于:
本发明针对传统的“先到先进入执行“的调度方式的不足,调整了等待进入FPGA的任务序列顺序,减少了任务的等待时间。通过建立执行队列与等待队列,该方法能有效管理任务序列的调度过程,及时判断等待任务是否满足抢占条件。与传统的调度方式相比,该方法的突出优点是能够充分利用FPGA资源且产生较低的调度复杂度。
附图说明
图1是任务条件抢占流程图。
图2是实例中任务的抢占过程。
具体实施方式
如图1所示,本发明的方法的具体实施步骤如下:
1)建立一个等待队列,等待队列用来放置的是等待进入FPGA的任务; 
2)将等待队列队首任务最早进入FPGA的时刻设为最早预约时刻; 
3) 依次获取非队首任务,获取它们的执行时间;
4)判断它们是否满足抢占条件:当前时刻+任务执行时间≤队首任务的最早预约时刻。若满足跳转至5),不满足跳转至7);
5)判断此刻FPGA中是否有足够大的空闲空间允许该任务放入,有则跳至6),否则跳至7);
6)将该任务先于队首任务,放入FPGA执行;
7)该任务继续等待。
如图2所示,一个基于条件抢占的FPGA任务调度方法的实例如下:
假设当前时刻为0,此刻有三个任务a、b、c在等待。
队首任务a的最早可以进入FPGA的时刻为8。
假设此刻FPGA有足够的空闲块供任务b、c放入。
b任务的执行时间为5,c任务的执行时间为10。
任务抢占过程如下:
S1.首先建立一个等待队列,将a、b、c放入等待队列。
S2.首先获取队首任务a最早预约时刻为8.
S3.先获取b,看它是否满足抢占条件。因为当前时刻+b的执行时间=5,5小于最早预约时刻,即满足抢占条件。
S4.又因为此时FPGA中有足够大的空闲块容纳任务b。
S5.故将先将任务b放入FPGA执行。
S6.继续获取c,当前时刻+c的执行时间=10,10大于最早预约时刻。
S7.任务c继续等待。

Claims (1)

1. 一种基于条件抢占的FPGA任务调度方法,其特征在于,该方法的步骤如下:
1)建立一个等待队列,等待队列用来放置的是等待进入FPGA的任务; 
2)将等待队列队首任务最早进入FPGA的时刻设为最早预约时刻; 
3)依次获取非队首任务,获取它们的执行时间;
4)判断它们是否满足抢占条件,即当前时刻+任务执行时间≤队首任务的最早预约时刻;若满足跳转至步骤5),若不满足跳转至步骤7);
5)判断此刻FPGA中是否有足够大的空闲空间允许该任务放入,若有则跳至步骤6),否则跳至步骤7);
6)将该任务先于队首任务,放入FPGA执行;
7)该任务继续等待。
CN201210115106.7A 2012-04-19 2012-04-19 一种基于条件抢占的fpga任务调度方法 Expired - Fee Related CN102662744B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210115106.7A CN102662744B (zh) 2012-04-19 2012-04-19 一种基于条件抢占的fpga任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210115106.7A CN102662744B (zh) 2012-04-19 2012-04-19 一种基于条件抢占的fpga任务调度方法

Publications (2)

Publication Number Publication Date
CN102662744A true CN102662744A (zh) 2012-09-12
CN102662744B CN102662744B (zh) 2014-06-11

Family

ID=46772243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210115106.7A Expired - Fee Related CN102662744B (zh) 2012-04-19 2012-04-19 一种基于条件抢占的fpga任务调度方法

Country Status (1)

Country Link
CN (1) CN102662744B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593193A (zh) * 2013-11-20 2014-02-19 北京国双科技有限公司 任务处理方法及装置
CN107871194A (zh) * 2016-09-28 2018-04-03 北京北方华创微电子装备有限公司 一种生产线设备的调度方法和装置
CN110196761A (zh) * 2019-04-15 2019-09-03 北京达佳互联信息技术有限公司 延迟任务处理方法及装置
CN112446697A (zh) * 2020-11-12 2021-03-05 深圳海付移通科技有限公司 对账方法、装置、计算机设备和存储介质
CN114398019A (zh) * 2022-01-24 2022-04-26 广州文石信息科技有限公司 屏幕更新请求的处理方法、装置及电子墨水屏设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050065826A1 (en) * 2000-12-12 2005-03-24 Baker Andrew B. System and process for job scheduling to minimize construction costs
US20090089129A1 (en) * 2007-09-27 2009-04-02 Mark Terrance Polson Automated time budgeting
CN101609417A (zh) * 2009-07-17 2009-12-23 西安电子科技大学 基于VxWorks操作系统的混合任务集调度方法
CN102043667A (zh) * 2010-11-25 2011-05-04 深圳市科陆电子科技股份有限公司 一种嵌入式操作系统的任务调度方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050065826A1 (en) * 2000-12-12 2005-03-24 Baker Andrew B. System and process for job scheduling to minimize construction costs
US20090089129A1 (en) * 2007-09-27 2009-04-02 Mark Terrance Polson Automated time budgeting
CN101609417A (zh) * 2009-07-17 2009-12-23 西安电子科技大学 基于VxWorks操作系统的混合任务集调度方法
CN102043667A (zh) * 2010-11-25 2011-05-04 深圳市科陆电子科技股份有限公司 一种嵌入式操作系统的任务调度方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103593193A (zh) * 2013-11-20 2014-02-19 北京国双科技有限公司 任务处理方法及装置
CN103593193B (zh) * 2013-11-20 2017-08-01 北京国双科技有限公司 任务处理方法及装置
CN107871194A (zh) * 2016-09-28 2018-04-03 北京北方华创微电子装备有限公司 一种生产线设备的调度方法和装置
WO2018058842A1 (zh) * 2016-09-28 2018-04-05 北京北方微电子基地设备工艺研究中心有限责任公司 一种生产线设备的调度方法和装置
CN107871194B (zh) * 2016-09-28 2020-10-16 北京北方华创微电子装备有限公司 一种生产线设备的调度方法和装置
US11990355B2 (en) 2016-09-28 2024-05-21 Beijing Naura Microelectronics Equipment Co., Ltd. Method and system for scheduling apparatuses on production line
CN110196761A (zh) * 2019-04-15 2019-09-03 北京达佳互联信息技术有限公司 延迟任务处理方法及装置
CN110196761B (zh) * 2019-04-15 2021-10-19 北京达佳互联信息技术有限公司 延迟任务处理方法及装置
CN112446697A (zh) * 2020-11-12 2021-03-05 深圳海付移通科技有限公司 对账方法、装置、计算机设备和存储介质
CN112446697B (zh) * 2020-11-12 2024-05-28 深圳海付移通科技有限公司 对账方法、装置、计算机设备和存储介质
CN114398019A (zh) * 2022-01-24 2022-04-26 广州文石信息科技有限公司 屏幕更新请求的处理方法、装置及电子墨水屏设备
CN114398019B (zh) * 2022-01-24 2024-02-23 广州文石信息科技有限公司 屏幕更新请求的处理方法、装置及电子墨水屏设备

Also Published As

Publication number Publication date
CN102662744B (zh) 2014-06-11

Similar Documents

Publication Publication Date Title
CN102662744B (zh) 一种基于条件抢占的fpga任务调度方法
CN106293919A (zh) 一种时间触发的嵌入式任务调度装置与方法
KR102472775B1 (ko) 페이징 중첩을 완화시키기 위한 장치 및 방법
CN109684060B (zh) 一种多类型时间关键任务的混合调度方法
EP2605562A3 (en) Intelligent resource control, in a multiple SIM user equipment
US9292344B2 (en) Reservation scheduler for real-time operating systems in wireless sensor networks
TW201737078A (zh) 任務的資源調度方法及裝置
CN102722402B (zh) 一种非抢占式实时调度多任务的处理系统及方法
WO2013126415A3 (en) Method and system for scheduling requests in a portable computing device
CN104021044A (zh) 一种作业调度方法及装置
JP2010510590A5 (zh)
TW200617680A (en) Establishing command order in an out of order DMA command queue
WO2012139066A3 (en) Asynchronous callback driven messaging request completion notification
CN108536531B (zh) 一种基于单片机的任务调度和电源管理方法
CN100358295C (zh) 一种定时器调度方法
CN103365711A (zh) 应用于物联网业务平台的任务调度机制和方法
GB201208228D0 (en) Determining information relating to occupancy of a space
TW200723001A (en) Delayed memory access request arbitration
CN102573073B (zh) 一种终端物理层资源分配方法及系统
CN105446812A (zh) 一种多任务调度配置方法
EP3019952A1 (en) Method and apparatus for controlling an operating mode of a processing module
WO2011097766A8 (zh) 无线资源控制状态优化方法和mtc设备
CN105260497B (zh) 基于线性链表的实时任务可调度性测试半直接模拟方法
CN103428274A (zh) 一种通过短信猫以观察者模式发送短信的方法
CN205527128U (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: 20140611

Termination date: 20170419

CF01 Termination of patent right due to non-payment of annual fee