JP2014225137A - タスクスケジューラ,マイクロプロセッサ及びタスクスケジューリング方法 - Google Patents
タスクスケジューラ,マイクロプロセッサ及びタスクスケジューリング方法 Download PDFInfo
- Publication number
- JP2014225137A JP2014225137A JP2013104137A JP2013104137A JP2014225137A JP 2014225137 A JP2014225137 A JP 2014225137A JP 2013104137 A JP2013104137 A JP 2013104137A JP 2013104137 A JP2013104137 A JP 2013104137A JP 2014225137 A JP2014225137 A JP 2014225137A
- Authority
- JP
- Japan
- Prior art keywords
- task
- time
- execution
- margin
- disappearance
- 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
Links
- 238000000034 method Methods 0.000 title claims description 18
- 230000008034 disappearance Effects 0.000 claims abstract description 92
- 230000008030 elimination Effects 0.000 claims description 2
- 238000003379 elimination reaction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
【解決手段】タスクスケジューラ1は、複数のタスクの実行状態を共通カウンタ2が計時する時刻で管理し、各タスクについて次式により余裕消失時刻Sを求めると、
S=T+D−W+C
(但し、T:タスクの起動時刻,D:デッドライン時間,W:最悪実行時間,C:現時刻におけるタスクの実行時間)余裕消失時刻Sが最も早いタスクを優先して実行させる。
【選択図】図1
Description
S=T+D−W+C
余裕消失時刻Sが最も早いタスクを優先して実行させる。ここで「余裕消失時刻」とは、全てのタスクが管理される共通の時刻上で、各タスクの余裕時間が無くなる時刻を意味する。そして、余裕消失時刻Sが最も早いタスクを優先して実行ユニットに実行させるようにスケジューリングを行うと、その結果は、従来の余裕時間が最も短いタスクを優先して実行させるスケジューリングの結果と同じになる。
請求項4記載のタスクスケジューラによれば、実行タスクのうち余裕消失時刻が最も遅いタスクと、待機タスクのうち余裕消失時刻が最も早いタスクとについて両者の余裕消失時刻の早遅関係を比較する。そして、後者の時刻が前者の時刻よりも早ければ対応する実行タスクを待機タスクとし、対応する待機タスクを実行タスクとするように状態の入れ替えを行う。すなわちこの場合も、入れ替えを行うための比較は1回のみ行えば良いので、スケジューリングを迅速に行うことができる。
先ず、本実施形態では、従来のタスクスケジューリングに使用していた余裕時間に替えて新たな概念である「余裕消失時刻」を導入し、この「余裕消失時刻」を用いてスケジューリングを行う。ここで余裕消失時刻Sとは(1)式により定義される時刻である。
S=T+D−W+C …(1)
T:タスクの起動時刻
D:デッドライン時間(タスクの実行を完了させなればならない時間)
W:最悪実行時間(タスクの実行完了に要すると予測される時間)
C:現時刻におけるタスクの実行時間
すなわち、「余裕消失時刻」とは、タスクの実行に関する(従来使用されていた)余裕時間が無くなる時刻である。
Si=T+D−W …(2)
で求められる。また、実行中のタスクについての余裕消失時刻Snは、前回に更新した余裕消失時刻をSpとして保存しておき、実行時間Caを、前回の更新時を起点とする更新時間とすれば、
Sn=Sp+Ca …(3)
により求めることができる(図5参照)。本実施形態では、全てのタスクについて余裕消失時刻Sを求め、各時点において余裕消失時刻Sが最も早いタスクを優先して実行するようにスケジューリングを行う。以下、そのための構成について説明する。
起動時刻T デッドライン時間D 最悪実行時間W
タスク(1) 1 13 7
タスク(2) 6 7 4
タスク(3) 1 20 4
時刻「1」において、タスク(1)の余裕消失時刻は「7」,タスク(3)の余裕消失時刻Sは「17」であるから、タスク(1)が実行されてタスク(3)は待機タスクとなる。タスク(1)は実行されることで実行時間Cが増加し、その増加分だけ余裕消失時刻は遅くなる。一方、タスク(3)の余裕消失時刻は「17」のまま変化しない。時刻「6」において、タスク(2)が新規タスクとして起動され、余裕消失時刻は「9」であるからタスク(1)は待機タスクとなり、タスク(2)が実行タスクとなるように切り替わる。
また、実行タスクと待機タスクとを、実行タスクテーブル6と待機タスクテーブル7とで分別して管理するので、上記の入れ替えを行うための時刻の比較をより簡単に行うことができる。
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。図9に示すように、第2実施形態のタスクスケジューラ21では、実行タスク選択部8及び待機タスク選択部10が削除されている。それに替えて、実行タスクテーブル22,待機タスクテーブル23が、それぞれ実行タスク,待機タスクについての余裕消失時刻の遅早順位を常時ソートして管理している。
実行タスクと待機タスクとを、分別することなく一括して管理しても良い。
プロセッサコアが4つ以上搭載されているマイクロプロセッサに適用しても良い。また、プロセッサコアが2つやシングルコアのマイクロプロセッサに適用しても良い。
Claims (15)
- 実行ユニット(12)の数よりも多い複数のタスクを、前記実行ユニットに実行させるようにスケジューリングするタスクスケジューラ(1,1’)において、
前記複数のタスクの実行状態を共通の時刻で管理し、
T:タスクの起動時刻
D:タスクの実行を完了させなればならない時間
W:タスクの実行完了に要すると予測される時間
C:現時刻におけるタスクの実行時間
とすると、各タスクについて次式により余裕消失時刻Sを求め、
S=T+D−W+C
前記余裕消失時刻Sが最も早いタスクを優先して実行させることを特徴とするタスクスケジューラ。 - 新たに実行要求が発生したタスク(以下、新規タスクと称す)の余裕消失時刻が、現在実行されているタスク(以下、実行タスクと称す)の余裕消失時刻のうち最も遅いものよりも早ければ、新規タスクを実行タスクにすると共に、余裕消失時刻が最も遅い実行タスクを待機状態とし(以下、待機タスクと称す)、
前記最も遅いものよりも遅ければ、新規タスクを待機タスクとすることを特徴とする請求項1記載のタスクスケジューラ。 - 前記実行タスクと前記待機タスクとを分別して管理することを特徴とする請求項2記載のタスクスケジューラ。
- 前記実行タスクのうち余裕消失時刻が最も遅いタスクと、前記待機タスクのうち余裕消失時刻が最も早いタスクとについて両者の余裕消失時刻の早遅関係を比較し、後者の時刻が前者の時刻よりも早ければ、対応する実行タスクを待機タスクとし、対応する待機タスクを実行タスクとするように状態の入れ替えを行うことを特徴とする請求項3記載のタスクスケジューラ。
- 現在実行されているタスクの現在の余裕消失時刻Snを、次式
Sn=Sp+Ca
(ただし、Sp:前回に更新された余裕消失時刻,Ca:前回に更新された時刻からのタスクの実行時間)により求めることを特徴とする請求項1から4の何れか一項に記載のタスクスケジューラ。 - 新たに実行要求が発生したタスクの余裕消失時刻Siを、次式
Si=T+D−W
により求めることを特徴とする請求項1から5の何れか一項に記載のタスクスケジューラ。 - 前記余裕消失時刻の値に基づいて、各タスクを予めソートして管理することを特徴とする請求項1から6の何れか一項に記載のタスクスケジューラ。
- 1つ以上の実行ユニットと、請求項1から7の何れか一項に記載のタスクスケジューラとを備えることを特徴とするマイクロプロセッサ(13,14)。
- 実行ユニットの数よりも多い複数のタスクを、前記実行ユニットに実行させるようにスケジューリングする方法において、
前記複数のタスクの実行状態を共通の時刻で管理し、
T:タスクの起動時刻
D:タスクの実行を完了させなればならない時間
W:タスクの実行完了に要すると予測される時間
C:現時刻におけるタスクの実行時間
とすると、各タスクについて次式により余裕消失時刻Sを求め、
S=T+D−W+C
前記余裕消失時刻Sが最も早いタスクを優先して実行させることを特徴とするタスクスケジューリング方法。 - 新たに実行要求が発生したタスク(以下、新規タスクと称す)の余裕消失時刻が、
現在実行されているタスク(以下、実行タスクと称す)の余裕消失時刻のうち最も遅いものよりも早ければ、新規タスクを実行タスクにすると共に、余裕消失時刻が最も遅い実行タスクを待機状態とし(以下、待機タスクと称す)、前記最も遅いものよりも遅ければ、新規タスクを待機タスクとすることを特徴とする請求項9記載のタスクスケジューリング方法。 - 前記実行タスクと前記待機タスクとを分別して管理することを特徴とする請求項10記載のタスクスケジューリング方法。
- 前記実行タスクのうち余裕消失時刻が最も遅いタスクと、前記待機タスクのうち余裕消失時刻が最も早いタスクとについて両者の余裕消失時刻の早遅関係を比較し、
後者の時刻が前者の時刻よりも早ければ、対応する実行タスクを待機タスクとし、対応する待機タスクを実行タスクとするように状態の入れ替えを行うことを特徴とする請求項11記載のタスクスケジューリング方法。 - 現在実行されているタスクの現在の余裕消失時刻Snを、次式
Sn=Sp+Ca
(ただし、Sp:前回に更新された余裕消失時刻,Ca:前回に更新された時刻からのタスクの実行時間)により求めることを特徴とする請求項9から12の何れか一項に記載のタスクスケジューリング方法。 - 新たに実行要求が発生したタスクの余裕消失時刻Siを、次式
Si=D−W+T
により求めることを特徴とする請求項9から13の何れか一項に記載のタスクスケジューリング方法。 - 前記余裕消失時刻の値に基づいて、各タスクを予めソートして管理することを特徴とする請求項9から14の何れか一項に記載のタスクスケジューリング方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013104137A JP2014225137A (ja) | 2013-05-16 | 2013-05-16 | タスクスケジューラ,マイクロプロセッサ及びタスクスケジューリング方法 |
US14/222,790 US9274833B2 (en) | 2013-05-16 | 2014-03-24 | Task scheduler, microprocessor, and task scheduling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013104137A JP2014225137A (ja) | 2013-05-16 | 2013-05-16 | タスクスケジューラ,マイクロプロセッサ及びタスクスケジューリング方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014225137A true JP2014225137A (ja) | 2014-12-04 |
Family
ID=51896896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013104137A Pending JP2014225137A (ja) | 2013-05-16 | 2013-05-16 | タスクスケジューラ,マイクロプロセッサ及びタスクスケジューリング方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9274833B2 (ja) |
JP (1) | JP2014225137A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014211743A (ja) * | 2013-04-18 | 2014-11-13 | 株式会社デンソー | マルチコアプロセッサ |
JP2017073083A (ja) * | 2015-10-09 | 2017-04-13 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102360214B1 (ko) | 2015-08-26 | 2022-02-08 | 삼성전자주식회사 | 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05250338A (ja) * | 1992-03-05 | 1993-09-28 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサシステムのタスク割当処理方法 |
JPH09319596A (ja) * | 1996-05-31 | 1997-12-12 | Canon Inc | タスクスケジューリング装置およびタスクスケジューリング方法 |
JP2003298599A (ja) * | 2002-03-29 | 2003-10-17 | Denso Corp | 分散制御方法及び装置 |
JP2004070579A (ja) * | 2002-08-05 | 2004-03-04 | Denso Corp | タスクスケジューリング装置、タスクスケジューリング方法、プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6189022B1 (en) * | 1997-08-20 | 2001-02-13 | Honeywell International Inc. | Slack scheduling for improved response times of period transformed processes |
JP2001236236A (ja) | 2000-02-25 | 2001-08-31 | Nec Microsystems Ltd | タスク制御装置およびそのタスクスケジューリング方法 |
US7302685B2 (en) * | 2000-06-02 | 2007-11-27 | Honeywell International Inc. | Methods and apparatus for sharing slack in a time-partitioned system |
JP3962370B2 (ja) | 2003-11-28 | 2007-08-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 資源予約システムおよび資源予約方法および該方法を実行するためのプログラムが記録された記録媒体 |
EP2133793B1 (en) * | 2008-06-10 | 2015-08-12 | Barcelona Supercomputing Center-Centro Nacional de Supercomputación | A multithreaded processor and a mechanism and a method for executing one hard real-time task in a multithreaded processor |
US8493598B2 (en) * | 2010-09-07 | 2013-07-23 | Xerox Corporation | System and method for automated handling of document processing workload |
US9361202B2 (en) * | 2013-07-18 | 2016-06-07 | International Business Machines Corporation | Filtering system noises in parallel computer systems during thread synchronization |
-
2013
- 2013-05-16 JP JP2013104137A patent/JP2014225137A/ja active Pending
-
2014
- 2014-03-24 US US14/222,790 patent/US9274833B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05250338A (ja) * | 1992-03-05 | 1993-09-28 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサシステムのタスク割当処理方法 |
JPH09319596A (ja) * | 1996-05-31 | 1997-12-12 | Canon Inc | タスクスケジューリング装置およびタスクスケジューリング方法 |
JP2003298599A (ja) * | 2002-03-29 | 2003-10-17 | Denso Corp | 分散制御方法及び装置 |
JP2004070579A (ja) * | 2002-08-05 | 2004-03-04 | Denso Corp | タスクスケジューリング装置、タスクスケジューリング方法、プログラム |
Non-Patent Citations (2)
Title |
---|
JPN4006009422; Robert K. Abbott(外1名): '"Scheduling Real-Time Transactions: A Performance Evaluation"' ACM Transactions on Database Systems (TODS) Vol 17, No. 3, 199209, pp.513-560, ACM Press * |
JPN4006009423; ABBOTT R(外1名): '"Scheduling Real-time Transactions: A Performance Evaluation"' Proceedings of the 14th International Conference on Very Large Data Bases , 19880829, pp.1-12, Morgan Kaufmann Publishers Inc * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014211743A (ja) * | 2013-04-18 | 2014-11-13 | 株式会社デンソー | マルチコアプロセッサ |
US9747132B2 (en) | 2013-04-18 | 2017-08-29 | Denso Corporation | Multi-core processor using former-stage pipeline portions and latter-stage pipeline portions assigned based on decode results in former-stage pipeline portions |
JP2017073083A (ja) * | 2015-10-09 | 2017-04-13 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
Also Published As
Publication number | Publication date |
---|---|
US9274833B2 (en) | 2016-03-01 |
US20140344818A1 (en) | 2014-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Singh et al. | An optimized round robin scheduling algorithm for CPU scheduling | |
US8719834B2 (en) | Information processing system, method, program and integrated circuit for maintaining balance of processing loads with respect to real-time tasks | |
US10545892B2 (en) | Multi-thread processor and its interrupt processing method | |
CN101887383B (zh) | 一种进程实时调度方法 | |
US20080235695A1 (en) | Resource allocation system for jobs, resource allocation method and resource allocation program for jobs | |
JP2003345612A5 (ja) | ||
JP2012215933A (ja) | ジョブ管理システム及びジョブ管理方法 | |
US10467054B2 (en) | Resource management method and system, and computer storage medium | |
JP5347451B2 (ja) | マルチプロセッサシステム、競合回避プログラム及び競合回避方法 | |
US20110016247A1 (en) | Multiprocessor system and multiprocessor system interrupt control method | |
JP2014211743A (ja) | マルチコアプロセッサ | |
US10271326B2 (en) | Scheduling function calls | |
TW201541347A (zh) | 多核心處理器系統及其排程方法 | |
CN103873380A (zh) | 一种数据分发策略的调整方法、装置及系统 | |
JP2014225137A (ja) | タスクスケジューラ,マイクロプロセッサ及びタスクスケジューリング方法 | |
JP6311330B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2005092780A (ja) | リアルタイムプロセッサシステム及び制御方法 | |
WO2010137233A1 (ja) | マルチプロセッサシステムにおける省電力制御装置およびモバイル端末 | |
JP2008158687A (ja) | 帯域制御プログラム及びマルチプロセッサシステム | |
JP2006243864A5 (ja) | ||
CN114035926A (zh) | 应用线程调度方法、装置、存储介质及电子设备 | |
CN110109743B (zh) | 一种实时进程调度方法 | |
JP7263746B2 (ja) | 情報処理装置 | |
JP2010186347A (ja) | ジョブスケジューリングシステム、ジョブスケジューリング方法及びプログラム | |
CN102541648A (zh) | 一种用于动态调度批处理任务的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150410 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150421 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150603 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160105 |