JP7193771B1 - スケジューリング方法及びスケジューリング設計支援装置 - Google Patents
スケジューリング方法及びスケジューリング設計支援装置 Download PDFInfo
- Publication number
- JP7193771B1 JP7193771B1 JP2022528718A JP2022528718A JP7193771B1 JP 7193771 B1 JP7193771 B1 JP 7193771B1 JP 2022528718 A JP2022528718 A JP 2022528718A JP 2022528718 A JP2022528718 A JP 2022528718A JP 7193771 B1 JP7193771 B1 JP 7193771B1
- Authority
- JP
- Japan
- Prior art keywords
- schedule
- task
- time
- constraint
- evaluation
- 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.)
- Active
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
従来のスケジューリング方法では、タスクが分割された複数のサブタスクが満たすべき実行順序の依存関係を満たし、かつ、複数の処理装置で実行する複数のサブタスク構成候補を作成し、さらにサブタスク構成候補に別のタスクを配置することによってスケジュール候補を作成し、タスクの周期における実行タイミング、中断時間、遅延時間に基づく有効度が最良となるスケジュール候補を選択している(特許文献1)。
本開示では、上記のような問題点を解決するためになされたものであり、大域的最適解であるスケジュール候補を求め、すべてのタスクについてデッドライン時間までの余裕時間または処理実行時のオーバヘッドに関して最適化を行うことを目的としている。
また、この発明に係るスケジューリング方法は、複数のプロセッサコアを用いたスケジューリング方法であって、制御ソフトウェアを構成するタスク毎の実行時間、デッドライン時間、周期に関する情報、及び少なくともプロセッサコア数を含むハードウェア情報を入力とする入力ステップと、すべてのタスクの実行時間及びデッドライン時間、並びにプロセッサコア数に関する制約を制約式として設定する制約設定ステップと、評価尺度はプロセッサコアにおけるタスクの未割り当て時間、タスク毎に実行される際のプリエンプションの発生数、タスク毎に実行される際のコアマイグレーションの発生数の少なくともいずれか1つによって定義され、導出するスケジュールに対して評価尺度となる評価値を算出する目的関数を設定する評価尺度設定ステップと、評価尺度に関して最適となるスケジュールを線形計画法によりすべての制約式を満たすスケジュールを導出するスケジュール導出ステップと、導出したスケジュールの結果を出力するスケジュール結果出力ステップとを備えるスケジューリング方法である。
また、この発明に係るスケジューリング設計支援装置は、複数のプロセッサコアを有するスケジューリング設計支援装置であって、制御ソフトウェアを構成するタスク毎の実行時間、デッドライン時間、周期に関する情報、及び少なくともプロセッサコア数を含むハードウェア情報を入力する入力I/F部と、すべてのタスクの実行時間及びデッドライン時間、並びにプロセッサコア数に関する制約を制約式として設定する制約設定部と、プロセッサコアにおけるタスクの未割り当て時間、タスク毎に実行される際のプリエンプションの発生数、タスク毎に実行される際のコアマイグレーションの発生数の少なくともいずれか1つによって定義され、導出するスケジュールに対して評価尺度となる評価値を算出する目的関数を設定する評価尺度設定部と、評価尺度に関して最適となるスケジュールを線形計画法によりすべての制約式を満たすスケジュールを導出するスケジュール導出部と、導出したスケジュールの結果を出力するスケジュール結果出力部とを備えるスケジューリング設計支援装置である。
実施の形態1は、リアルタイムシステムで実行される対象であるタスクに対して、リアルタイム要件に由来するすべての制約を満たすようにスケジューリングする方法に関する。このスケジューリング方法は、時間軸をある一定のタイムスロット幅で分割して実行するタスクを割り当てる時分割方法であり、制御ソフトウェアを構成する複数の周期的に実行されるタスクを対象として、制御ソフトウェアが満たすべき制約を定式化し、線形計画問題を解くことで最適なスケジュールを導出し、タイムスロットを最小単位のCPU時間として各タスクにCPU時間を割り当てる。
実施の形態2は、各タスクの制約にタスク間連続実行を追加してスケジューリング結果を得る形態である。メモリアクセスの観点などから連続してタスクを実行したい場合には、タスク間連続実行に関する追加制約を満たすことでタスク間連続実行を満たすスケジューリング結果を出力する。
実施の形態3は、評価尺度を各タスクの実行終了からデッドラインまでの余裕時間とすることで、制約を満たすスケジューリング結果から各タスクのデッドラインまでの余裕時間が最大となるスケジューリング結果を得ることができる。
ための例を示す。タスクセットの条件は図2と同一である。
<実施の形態4>
実施の形態4は、評価尺度をコアの余裕時間とした場合に、制約を満たすスケジューリング結果から1つのコアの余裕時間が最大となるスケジューリング結果を得るものである。コアの余裕時間とは、スケジューリング期間内においてタスクの実行が割り当てられない時間の合計値を指す。タスクセットの条件は図2と同一である。
実施の形態5は、評価尺度をプリエンプションの回数とした場合に、制約を満たすスケジューリング結果からプリエンプションの回数を最小化したスケジューリング結果を得ることができる。一般にプリエンプションとは、マルチタスクのコンピュータシステムが実行中のタスクを一時的に中断する動作であり、基本的にそのタスク自体の協力は不要で、後でそのタスクを再実行するという意味も含むものである。ここでも、プリエンプションは、一つのタスクにおいて同一周期内での処理実行が分断(中断)されることを指し、分断(中断)される回数が評価尺度となる。タスクセットの条件は図2と同一である。
実施の形態6は、評価尺度をコアマイグレーションの回数とした場合に、制約を満たすスケジューリング結果からコアマイグレーションの回数を最小化したスケジューリング結果を得るための例を示す。コアマイグレーションとは、一つのタスクにおいて同一周期内での処理実行が複数のコアにまたがることを指し、同一周期内でコアが切り替わる回数が評価尺度となる。タスクセットの条件は図2と同一である。
実施の形態7は、評価尺度を各タスクの実行終了からデッドラインまでの余裕時間とプリエンプション回数とし、プリエンプション回数に追加制約式を設け、希求水準値を課したスケジューリング結果から各タスクのデッドラインまでの余裕時間が最大となるスケジューリング結果を得るための例を示す。
A~Dの4つのタスクについてスケジューリング期間を24ステップとしてプリエンプション回数の合計を0回以下としたスケジューリング結果を示している。タスクAの場合には、周期が6であることから4周期分スケジューリングされている。1つ目の周期(ステップ:0~5)ではステップ0~1で実行され、デッドラインまでに4ステップ分の余裕があることからデッドラインまでの余裕時間は4となる。同様に2つ目の周期(ステップ:6~11)、3つ目の周期(ステップ:12~17)も、それぞれ周期の最初のステップで実行されているため、デッドラインまでの余裕時間は4となる。4つ目の周期(ステップ:18~23)では周期の3・4ステップ目(ステップ:20~21)で実行されているため、デッドラインまでの余裕時間は2となる。これらを合計するとタスクAのデッドラインまでの余裕時間は合計で14となる。タスクBの場合には、周期は6であり、タスクAと同様に4周期分スケジューリングされている。タスクAと同様にデッドラインまでの余裕時間を求めると1つ目の周期(ステップ:0~5)は2、2つ目の周期(ステップ:6~11)は2、3つ目の周期(ステップ:12~17)は2、4つ目の周期(ステップ:18~23)は0となり、合計で6となる。タスクCの場合には、周期が8であることから3周期分スケジューリングされている。1つ目の周期(ステップ:0~7)は4、2つ目の周期(ステップ:8~15)は2、3つ目の周期(ステップ:16~23)は4となり、合計で10となる。タスクDの場合には、周期が12であることから2周期分スケジューリングされている。1つ目の周期(ステップ:0~11)は2、2つ目の周期(ステップ:12~23)は2となり、合計で4となる。このスケジューリング結果の場合、すべてのタスクのデッドラインまでの余裕時間の合計は34(=14+6+10+4)となる。
実施の形態8では、評価尺度を各タスクの実行終了からデッドラインまでの余裕時間とプリエンプション回数、コア余裕最大化とし、プリエンプション回数とコア余裕時間に追加制約式を設け、希求水準値を課したスケジューリング結果から各タスクのデッドラインまでの余裕時間が最大となるスケジューリング結果を得るための例を示す。追加制約式と希求水準値を設けることで各評価尺度に最低限満たす基準値を決定することができる。
実施の形態9では、実施の形態8に対して、各タスクのデッドラインまでの余裕時間が最大となることを優先する評価尺度としたことは同じであるが、各評価尺度に最低限満たす基準値を設けている点で相違している。評価尺度を各タスクの実行終了からデッドラインまでの余裕時間、プリエンプション回数、コア余裕最大化、コアマイグレーションとし、プリエンプション回数とコア余裕時間に追加制約式を設け、希求水準値を課したスケジューリング結果から各タスクのデッドラインまでの余裕時間が最大となるスケジューリング結果を得るための例を示す。追加制約式と希求水準値を設けることで各評価尺度に最低限満たす基準値を決定することができる。
実施の形態10は、スケジューリング設計支援装置1000の構成方法について説明する。実施の形態1から9で説明した目的関数、希求水準、制約式緩和を用いたスケジューリング方法を実施の形態10のスケジューリング設計支援装置1000で実施することができる。
Claims (6)
- 複数のプロセッサコアを用いたスケジューリング方法であって、
制御ソフトウェアを構成するタスク毎の実行時間、デッドライン時間、周期に関する情報、及び少なくともプロセッサコア数を含むハードウェア情報を入力とする入力ステップと、
すべてのタスクの前記実行時間及び前記デッドライン時間、並びに前記プロセッサコア数に関する制約を制約式として設定する制約設定ステップと、
評価尺度は複数の尺度を定義し、導出するスケジュールに対して前記評価尺度となる評価値を算出する目的関数を設定する評価尺度設定ステップと、
複数の前記評価尺度に基づく前記評価値を算出してすべての前記制約式を満たすパレート最適な前記スケジュールを導出するスケジュール導出ステップと、
導出した前記スケジュールの結果を出力するスケジュール結果出力ステップとを備えることを特徴としたスケジューリング方法。 - 請求項1に記載のスケジューリング方法であって、
複数の前記評価尺度は、前記タスク毎の前記デッドライン時間までの余裕時間による前記定義、前記プロセッサコアにおける前記タスクの未割り当て時間による前記定義、前記タスク毎に実行される際のプリエンプションの発生数による前記定義、前記タスク毎に実行される際のコアマイグレーションの発生数による前記定義のうち少なくとも2つの前記定義を組み合わせたものであることを特徴としたスケジューリング方法。 - 複数のプロセッサコアを用いたスケジューリング方法であって、
制御ソフトウェアを構成するタスク毎の実行時間、デッドライン時間、周期に関する情報、及び少なくともプロセッサコア数を含むハードウェア情報を入力とする入力ステップと、
すべてのタスクの前記実行時間及び前記デッドライン時間、並びに前記プロセッサコア数に関する制約を制約式として設定する制約設定ステップと、
評価尺度は前記プロセッサコアにおける前記タスクの未割り当て時間、前記タスク毎に実行される際のプリエンプションの発生数、前記タスク毎に実行される際のコアマイグレーションの発生数の少なくともいずれか1つによって定義され、導出するスケジュールに対して前記評価尺度となる評価値を算出する目的関数を設定する評価尺度設定ステップと、
前記評価尺度に関して最適となる前記スケジュールを線形計画法によりすべての前記制約式を満たすスケジュールを導出するスケジュール導出ステップと、
導出した前記スケジュールの結果を出力するスケジュール結果出力ステップとを備えることを特徴としたスケジューリング方法。 - 請求項1から請求項3のいずれか1項に記載のスケジューリング方法であって、
前記スケジュール導出ステップで前記スケジュールが導出できなかった場合には、前記制約式の前記制約を緩和することを特徴としたスケジューリング方法。 - 複数のプロセッサコアを有するスケジューリング設計支援装置であって、
制御ソフトウェアを構成するタスク毎の実行時間、デッドライン時間、周期に関する情報、及び少なくともプロセッサコア数を含むハードウェア情報を入力する入力I/F部と、
すべてのタスクの前記実行時間及び前記デッドライン時間、並びに前記プロセッサコア数に関する制約を制約式として設定する制約設定部と、
評価尺度は複数の尺度を定義し、導出するスケジュールに対して前記評価尺度となる評価値を算出する目的関数を設定する評価尺度設定部と、
複数の前記評価尺度に基づく前記評価値を算出してすべての前記制約式を満たすパレート最適な前記スケジュールを導出するスケジュール導出部と、
導出した前記スケジュールの結果を出力するスケジュール結果出力部とを備えることを特徴としたスケジューリング設計支援装置。 - 複数のプロセッサコアを有するスケジューリング設計支援装置であって、
制御ソフトウェアを構成するタスク毎の実行時間、デッドライン時間、周期に関する情報、及び少なくともプロセッサコア数を含むハードウェア情報を入力する入力I/F部と、
すべてのタスクの前記実行時間及び前記デッドライン時間、並びに前記プロセッサコア数に関する制約を制約式として設定する制約設定部と、
前記プロセッサコアにおける前記タスクの未割り当て時間、前記タスク毎に実行される際のプリエンプションの発生数、前記タスク毎に実行される際のコアマイグレーションの発生数の少なくともいずれか1つによって定義され、導出するスケジュールに対して評価尺度となる評価値を算出する目的関数を設定する評価尺度設定部と、
前記評価尺度に関して最適となる前記スケジュールを線形計画法によりすべての前記制約式を満たすスケジュールを導出するスケジュール導出部と、
導出した前記スケジュールの結果を出力するスケジュール結果出力部とを備えることを特徴としたスケジューリング設計支援装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2021/024848 WO2023276075A1 (ja) | 2021-06-30 | 2021-06-30 | スケジューリング方法及びスケジューリング設計支援装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP7193771B1 true JP7193771B1 (ja) | 2022-12-21 |
JPWO2023276075A1 JPWO2023276075A1 (ja) | 2023-01-05 |
JPWO2023276075A5 JPWO2023276075A5 (ja) | 2023-06-06 |
Family
ID=84534712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022528718A Active JP7193771B1 (ja) | 2021-06-30 | 2021-06-30 | スケジューリング方法及びスケジューリング設計支援装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7193771B1 (ja) |
WO (1) | WO2023276075A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005284351A (ja) | 2004-03-26 | 2005-10-13 | Toshiba Corp | リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム |
WO2011102219A1 (ja) | 2010-02-19 | 2011-08-25 | 日本電気株式会社 | リアルタイムシステム用マルチコア向けタスク配置最適化システム、その方法及びそのプログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2723652B1 (fr) * | 1994-08-11 | 1996-09-13 | Cegelec | Procede pour ordonnancer des taches successives |
-
2021
- 2021-06-30 JP JP2022528718A patent/JP7193771B1/ja active Active
- 2021-06-30 WO PCT/JP2021/024848 patent/WO2023276075A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005284351A (ja) | 2004-03-26 | 2005-10-13 | Toshiba Corp | リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム |
WO2011102219A1 (ja) | 2010-02-19 | 2011-08-25 | 日本電気株式会社 | リアルタイムシステム用マルチコア向けタスク配置最適化システム、その方法及びそのプログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023276075A1 (ja) | 2023-01-05 |
WO2023276075A1 (ja) | 2023-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8732714B2 (en) | Method for reorganizing tasks for optimization of resources | |
US7162720B2 (en) | Providing predictable scheduling of programs using repeating precomputed schedules on discretely scheduled and/or multiprocessor operating systems | |
Simakov et al. | A slurm simulator: Implementation and parametric analysis | |
Schwarzkopf et al. | Omega: flexible, scalable schedulers for large compute clusters | |
Gregg et al. | Dynamic heterogeneous scheduling decisions using historical runtime data | |
EP2666083B1 (en) | Integrated environment for execution monitoring and profiling of applications running on multi-processor system-on-chip | |
US10565019B2 (en) | Processing in a multicore processor with different cores having different execution times | |
JP4185103B2 (ja) | 実行可能プログラムをスケジューリングするためのシステム及び方法 | |
KR101626378B1 (ko) | 병렬도를 고려한 병렬 처리 장치 및 방법 | |
Guan et al. | Exact schedulability analysis for static-priority global multiprocessor scheduling using model-checking | |
US20110161939A1 (en) | Apparatus for displaying the result of parallel program analysis and method of displaying the result of parallel program analysis | |
Simakov et al. | Slurm simulator: Improving slurm scheduler performance on large hpc systems by utilization of multiple controllers and node sharing | |
Wasly et al. | Bundled scheduling of parallel real-time tasks | |
JP7193771B1 (ja) | スケジューリング方法及びスケジューリング設計支援装置 | |
CN110175073B (zh) | 数据交换作业的调度方法、发送方法、装置及相关设备 | |
US12026518B2 (en) | Dynamic, low-latency, dependency-aware scheduling on SIMD-like devices for processing of recurring and non-recurring executions of time-series data | |
JP6156379B2 (ja) | スケジューリング装置、及び、スケジューリング方法 | |
US20210374652A1 (en) | Storage medium, job scheduling device, and job scheduling method | |
CN115686795A (zh) | 一种基于dag的启发式任务调度方法 | |
KR20160076896A (ko) | 선점 방식을 선택하는 방법 및 장치. | |
JP7237245B2 (ja) | スケジューリング方法、および、スケジューリングシステム | |
Qamhieh et al. | An experimental analysis of DAG scheduling methods in hard real-time multiprocessor systems | |
Tekin et al. | Pruda: An api for time and space predictible programming in nvdia gpus using cuda | |
JPWO2018198745A1 (ja) | 計算資源管理装置、計算資源管理方法、及びプログラム | |
Badosa et al. | Bio-backfill: A Scheduling Policy Enhancing the Performance of Bioinformatics Workflows in Shared Clusters. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220517 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220517 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221024 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221121 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7193771 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |