CN102662744A - 一种基于条件抢占的fpga任务调度方法 - Google Patents
一种基于条件抢占的fpga任务调度方法 Download PDFInfo
- 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
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的资源利用情况。
对于任务调度问题,国内外有以下研究成果。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)该任务继续等待。
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)
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)
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 | 深圳市科陆电子科技股份有限公司 | 一种嵌入式操作系统的任务调度方法 |
-
2012
- 2012-04-19 CN CN201210115106.7A patent/CN102662744B/zh not_active Expired - Fee Related
Patent Citations (4)
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)
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 |