JP7237245B2 - スケジューリング方法、および、スケジューリングシステム - Google Patents

スケジューリング方法、および、スケジューリングシステム Download PDF

Info

Publication number
JP7237245B2
JP7237245B2 JP2022522168A JP2022522168A JP7237245B2 JP 7237245 B2 JP7237245 B2 JP 7237245B2 JP 2022522168 A JP2022522168 A JP 2022522168A JP 2022522168 A JP2022522168 A JP 2022522168A JP 7237245 B2 JP7237245 B2 JP 7237245B2
Authority
JP
Japan
Prior art keywords
execution time
task
scheduling
criticality
worst
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
Application number
JP2022522168A
Other languages
English (en)
Other versions
JPWO2021229718A1 (ja
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2021229718A1 publication Critical patent/JPWO2021229718A1/ja
Application granted granted Critical
Publication of JP7237245B2 publication Critical patent/JP7237245B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program 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)

Description

本願明細書に開示される技術は、スケジューリング方法、および、スケジューリングシステムに関するものである。
リアルタイムシステムは、「タスクごとに決められた制限時刻(以降、デッドラインとも称する)までに必ず当該タスクの処理を完了させなければならない」という時間的制約を受けたコンピュータシステムである。
そのため、リアルタイムシステムでは、それぞれのタスクの実行完了時刻がデッドラインを超過(以降、デッドラインミスとも称する)しないように、すなわち、デッドラインまでにタスクを完了させる制約であるデッドライン制約を満たすように、それぞれのタスクに適切なプロセッサの実行時間を割り当てること(リアルタイムスケジューリング)が必要である。
従来のリアルタイムスケジューリングの方法としては、まず、それぞれのタスクがデッドラインミスを起こさないようにスケジューリング可能性(すなわち、スケジューリングが可能であるか否か)を判定し、その後で、実際にどのプロセッサをどのタスクにどの期間に割り当てるかを決定するという方法がある(たとえば、特許文献1を参照)。
上記のような方法を用いる場合、デッドラインミスを防ぐために、それぞれのタスクの実行時間として想定されうる最悪実行時間を用いることとなる。ここで、最悪実行時間とは、対応するタスクを実行するために要することが想定される最長の実行時間である。
ほとんどの場合、それぞれのタスクは最悪実行時間よりも短い時間で実行が完了する。そのため、あるタスクセット(すなわち、複数のタスク)が与えられた場合に、最悪実行時間を前提としてスケジューリング可能性を判定すると、スケジューリング可能性の判定基準が厳しくなりすぎるという問題がある。
このような問題を解決するために、それぞれのタスクについてデッドラインミスが生じた場合の影響度に応じてクリティカリティレベルをあらかじめ設定し、異なるクリティカリティレベルを有する複数のタスクを混在させるリアルタイムシステムが提案されている。ここで、異なるクリティカリティレベルを有する複数のタスクを混在させるリアルタイムシステムを、ミックスドクリティカリティシステムと称する。
たとえば、非特許文献1では、ミックスドクリティカリティシステムに対するスケジューリング可能性の判定方法が提案されている。非特許文献1によれば、ミックスドクリティカリティシステムにおけるタスクごとに、当該タスク自身のクリティカリティレベルと、当該タスク以外を含むすべてのタスクのクリティカリティレベルに対応する最悪実行時間とを定義する。
上記では、それぞれのタスクの実行時間がジッタ(すなわち、時間幅のゆらぎ)を有することが想定されており、事前に繰り返し測定されたそれぞれのタスクの実行時間の範囲内でクリティカリティレベルごとに最悪実行時間が定義される。この場合の最悪実行時間は、対応するタスクのクリティカリティレベルが高いほど大きい値とする。すなわち、対応するタスクのクリティカリティレベルが高いほど、悲観的な(長い)最悪実行時間が仮定される。
そして、ミックスドクリティカリティ保証スケジューリングポリシーに基づいて、リアルタイムスケジューリングを行う。ここで、ミックスドクリティカリティ保証スケジューリングポリシーとは、すべてのタスクがあるクリティカリティレベルに対応する実行時間で完了した場合に、当該クリティカリティレベル以上のタスクがデッドライン制約を満たすことを保証するものである。なお、この場合、当該クリティカリティレベル未満のタスクは、デッドライン制約を満たさなくてもよい。
特開2005-284351号公報
Sanjoy Baruah,Steve Vestal,‘Schedulability analysis of sporadic tasks with multiple criticality specifications’,2008,147頁から155頁
たとえば非特許文献1に開示された技術によれば、スケジューリング可能性の向上を図りつつ、タスクのデッドラインミスがミックスドクリティカリティシステムに与える影響度に応じて、ミックスドクリティカリティシステムの適切な信頼度を保証することが可能となる。
しかしながら、たとえば非特許文献1に開示された技術では、スケジューリングが行われるそれぞれのクリティカリティレベルでの最悪実行時間の定義方法が言及されていない。そのため、それぞれのクリティカリティレベルで保証される信頼性指標(すなわち、デッドラインミスを起こさないことがどの程度保証されるかの指標)を定量的に示すことができないという問題がある。
本願明細書に開示される技術は、以上に記載されたような問題を鑑みてなされたものであり、スケジューリングが行われるそれぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すための技術である。
本願明細書に開示される技術の第1の態様は、スケジューリング方法に関連し、異なるクリティカリティレベルを有する複数のタスクのスケジューリングを行うリアルタイムシステムにおいて、それぞれの前記タスクの実行時間を繰り返し測定し、複数回測定されたそれぞれの前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間とし、前記最悪実行時間に基づいて、前記複数の前記タスクの前記スケジューリングを行う。
本願明細書に開示される技術の第2の態様は、スケジューリングシステムに関連し、異なるクリティカリティレベルを有する複数のタスクを有するリアルタイムシステムであり、それぞれの前記タスクの実行時間を繰り返し測定する実行時間測定部と、複数回測定された前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間として算出する実行時間算出部と、前記最悪実行時間に基づいて、前記リアルタイムシステムにおける前記複数の前記タスクのスケジューリングを行うスケジュール導出部とを備える。
本願明細書に開示される技術の第1の態様は、スケジューリング方法に関連し、異なるクリティカリティレベルを有する複数のタスクのスケジューリングを行うリアルタイムシステムにおいて、それぞれの前記タスクの実行時間を繰り返し測定し、複数回測定されたそれぞれの前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間とし、前記最悪実行時間に基づいて、前記複数の前記タスクの前記スケジューリングを行う。このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すことが可能となる。
本願明細書に開示される技術の第2の態様は、スケジューリングシステムに関連し、異なるクリティカリティレベルを有する複数のタスクを有するリアルタイムシステムであり、それぞれの前記タスクの実行時間を繰り返し測定する実行時間測定部と、複数回測定された前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間として算出する実行時間算出部と、前記最悪実行時間に基づいて、前記リアルタイムシステムにおける前記複数の前記タスクのスケジューリングを行うスケジュール導出部とを備える。このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すことが可能となる。
また、本願明細書に開示される技術に関連する目的と、特徴と、局面と、利点とは、以下に示される詳細な説明と添付図面とによって、さらに明白となる。
実施の形態に関する、ミックスドクリティカリティシステムの全体構成の例を概念的に示す図である。 実施の形態に関する、実行時間測定装置の構成の例を概念的に示す図である。 実施の形態に関する、スケジューリング装置の構成の例を概念的に示す図である。 実施の形態に関する、リアルタイム制御装置の構成の例を概念的に示す図である。 実施の形態に関する、制御要求テーブルの例を示す図である。 実施の形態に関する、信頼度テーブルの例を示す図である。 実施の形態に関する、最悪実行時間テーブルの例を示す図である。 あるタスクを繰り返し実行した場合の実行時間のヒストグラムを示す図である。 実行時間算出部の動作の例を示すフローチャートである。 スケジューリング装置の動作の例を示すフローチャートである。 リアルタイム制御装置の動作の例を示すフローチャートである。 実施の形態に関する、実行時間算出部の動作の例を示すフローチャートである。 導出される修正最悪実行時間の例を示す図である。 図1、図2および図3に例が示されるスケジューリングシステムを実際に運用する場合のハードウェア構成を概略的に例示する図である。 図1、図2および図3に例が示されるスケジューリングシステムを実際に運用する場合のハードウェア構成を概略的に例示する図である。
以下、添付される図面を参照しながら実施の形態について説明する。以下の実施の形態では、技術の説明のために詳細な特徴なども示されるが、それらは例示であり、実施の形態が実施可能となるためにそれらすべてが必ずしも必須の特徴ではない。
なお、図面は概略的に示されるものであり、説明の便宜のため、適宜、構成の省略、または、構成の簡略化が図面においてなされるものである。また、異なる図面にそれぞれ示される構成などの大きさおよび位置の相互関係は、必ずしも正確に記載されるものではなく、適宜変更され得るものである。また、断面図ではない平面図などの図面においても、実施の形態の内容を理解することを容易にするために、ハッチングが付される場合がある。
また、以下に示される説明では、同様の構成要素には同じ符号を付して図示し、それらの名称と機能とについても同様のものとする。したがって、それらについての詳細な説明を、重複を避けるために省略する場合がある。
また、以下に記載される説明において、ある構成要素を「備える」、「含む」または「有する」などと記載される場合、特に断らない限りは、他の構成要素の存在を除外する排他的な表現ではない。
また、以下に記載される説明において、「第1の」または「第2の」などの序数が用いられる場合があっても、これらの用語は、実施の形態の内容を理解することを容易にするために便宜上用いられるものであり、これらの序数によって生じ得る順序などに限定されるものではない。
<第1の実施の形態>
以下、本実施の形態に関するスケジューリングシステム、および、スケジューリング方法について説明する。
<スケジューリングシステムの構成について>
図1は、本実施の形態に関する、ミックスドクリティカリティシステムの全体構成の例を概念的に示す図である。
図1に例が示されるミックスドクリティカリティシステムは、実行時間測定装置11と、スケジューリング装置10と、リアルタイム制御装置12とを備える。
実行時間測定装置11は、ミックスドクリティカリティシステムを構成する実行可能なタスク群を入力として、当該タスク群におけるそれぞれのタスクのクリティカリティレベルごとの実行時間の統計データを取得する。そして、実行時間測定装置11は、取得されたクリティカリティレベルごとの実行時間の統計データを、スケジューリング装置10へ出力する。
スケジューリング装置10は、実行時間測定装置11において取得された統計データと、ユーザーから入力される最適化問題と、ユーザーから入力されるタスクのクリティカリティレベルごとの統計的信頼度とを入力として、タスクの最適なスケジュール(以下、タスクスケジュールとも称する)を導出する。そして、スケジューリング装置10は、導出された最適なタスクスケジュールをリアルタイム制御装置12に出力する。リアルタイム制御装置12は、入力されたタスクスケジュールにしたがってそれぞれのタスクを実行する。
実行時間測定装置11が取得する統計データは、ミックスドクリティカリティシステム全体で統一的に定義された、クリティカリティレベルごとの統計的信頼度に対応する実行時間であり、それぞれのタスクについて測定されるものである。当該実行時間は、リアルタイム制御装置12における実行時間と同義である。
図2は、本実施の形態に関する実行時間測定装置11の構成の例を概念的に示す図である。図2に例が示されるように実行時間測定装置11は、リアルタイム制御装置12において実行可能な複数のタスクのセット(すなわち、実行可能タスク群)を受け付けるタスク群受け付け部113と、タスク群受け付け部113に受け付けられた実行可能タスク群の、リアルタイム制御装置12における実行時間を繰り返し測定する実行時間測定部111と、実行時間測定部111において測定された実行時間に基づいて、クリティカリティレベルごとの統計的信頼度に対応する実行時間をタスクごとに算出することによって、後述の最悪実行時間テーブル105を作成する実行時間算出部112とを備える。
実行時間測定部111は、リアルタイム制御装置12と同一またはリアルタイム制御装置12を模擬したタスク実行環境を有し、当該環境下でタスクを繰り返し実行することによって当該タスクの実行時間を測定する。
図3は、本実施の形態に関するスケジューリング装置10の構成の例を概念的に示す図である。図3に例が示されるようにスケジューリング装置10は、制約付き最適化問題を解くことによって、ミックスドクリティカリティ保証スケジューリングポリシーを満たすスケジュール(以降、ミックスドクリティカリティスケジュール)を導出する、スケジュール導出部101と、ユーザー(リアルタイム制御装置12の設計者)から入力される最適化問題(目的関数、追加制約など)、タスクごとの制御情報、または、クリティカリティレベルごとの統計的信頼度などを受け付けるインターフェイスである入力IF102と、タスクごとに設定された制御情報を保存する制御要求テーブル103と、クリティカリティレベルごとに設定された統計的信頼度を保存する信頼度テーブル104と、実行時間測定装置11において算出されたクリティカリティレベルごとの統計的信頼度に対応する実行時間を保存する最悪実行時間テーブル105と、修正最悪実行時間テーブル106とを備える。ここで、制御要求テーブル103の情報、および、信頼度テーブル104の情報は、入力IF102から入力される。
図4は、本実施の形態に関するリアルタイム制御装置12の構成の例を概念的に示す図である。図4に例が示されるようにリアルタイム制御装置12は、中央演算処理装置(central processing unit、すなわち、CPU)121と、ランダムアクセスメモリ(random access memory、すなわち、RAM)122と、リードオンリーメモリ(read only memory、すなわち、ROM)123とを備える。ただし、これらの構成は最低限の構成の例であり、本実施の形態に関するリアルタイム制御装置12の構成は上記のものに限定されるものではない。たとえば、本実施の形態に関するリアルタイム制御装置12は、ネットワークインターフェイス、二次記憶装置、専用アクセラレータまたはユーザーインターフェイスなどの、一般的なコンピュータシステムを構成する装置を含んでいてもよい。
なお、ROM123には、タスク実行ファイル群124と、スケジューリング装置10で導出されるスケジュール結果125とが含まれる。
図5は、本実施の形態に関する制御要求テーブル103の例を示す図である。図5に例が示されるように、制御要求テーブル103の要素としては、それぞれのタスクの周期、デッドラインおよびクリティカリティレベルが想定される。ここで、タスクの周期とは、タスクが繰り返し実行される時間間隔を示す。
それぞれのタスクは「ジョブ」と呼ばれるタスク実行単位の繰り返しからなるものであり、それぞれのタスクのk回目のジョブは、ある時刻tを基準(基準時刻t)とし、基準時刻t+周期S×k以降に実行が開始され、デッドラインDまでに完了する。ここで、周期Sは、ジョブが繰り返される周期である。
ここで、基準時刻tはすべてのタスクで同一でもよいし、別々であってもよい。基準時刻tがタスク間で異なる場合には、制御要求テーブル103の要素に基準時刻tも含めて定義する。
クリティカリティレベルは、デッドラインミスが生じた場合にミックスドクリティカリティシステムに与える影響度の大きさを示し、影響度が大きい(すなわち、ミックスドクリティカリティシステムに深刻な影響を与える)タスクほど、より高いクリティカリティレベルに設定される。
図6は、本実施の形態に関する信頼度テーブル104の例を示す図である。図6に例が示されるように、信頼度テーブル104の要素としては、クリティカリティレベルごとの統計的信頼度が想定される。ここで、統計的信頼度とは、それぞれのタスクの実行時間に関する統計的な信頼度を意味する。
図7は、本実施の形態に関する最悪実行時間テーブル105の例を示す図である。図7に例が示されるように、最悪実行時間テーブル105の要素としては、自身のクリティカリティレベルと、クリティカリティレベルごとの実行時間とが想定される。ここで、自身のクリティカリティレベルとは、それぞれのタスクに規定されたクリティカリティレベルで、制御要求テーブル103に定義されているクリティカリティレベルと同一である。また、クリティカリティレベルごとの実行時間は、ミックスドクリティカリティシステムで定義されたクリティカリティレベルの数だけ値が格納される。図7に示される例では、クリティカリティレベル1からクリティカリティレベル5までのそれぞれに対応する最悪実行時間Pから最悪実行時間Pが格納されている。これらの最悪実行時間は、実行時間測定装置11における実行時間算出部112によって、クリティカリティレベルごとの統計的信頼度に基づいて算出される。
ここで、上記の最悪実行時間Pclの算出方法について、図8を参照しつつ説明する。なお、図8は、あるタスクを繰り返し実行した場合の実行時間のヒストグラムを示す図であり、横軸が実行時間を示し、縦軸が対応する実行時間の出現回数を示す。
上記のように実行時間が分布するタスクの、信頼度テーブル104に定義されているクリティカリティレベルclの統計的信頼度がX%であるものとする。この場合、当該タスクの実行時間の分布全体における下位X%(実行時間が短い方からX%)が収まる実行時間(すなわち、Xパーセンタイルに対応する実行時間)を最悪実行時間Pclとする。このような操作をすべてのタスクのすべてのクリティカリティレベルについて行う。
次に、実行時間算出部112が最悪実行時間Pclを算出する手順について、図9を参照しつつ説明する。ここで、図9は、実行時間算出部112の動作の例を示すフローチャートである。
まず、実行時間算出部112は、すべてのタスクの最悪実行時間が算出されたか否かを判断する(ステップST100)。そして、未だ最悪実行時間が算出されていないタスクが残存している場合、すなわち、図9に例が示されるステップST100から分岐する「NO」に対応する場合には、実行時間測定部111は、未だ最悪実行時間が算出されていないタスクiを選定し、当該タスクiの実行時間を所定回数測定する(ステップST101)。そして、ステップST102へ進む。
一方で、すべてのタスクの最悪実行時間が算出されている場合、すなわち、図9に例が示されるステップST100から分岐する「YES」に対応する場合には、ステップST104へ進む。
次に、ステップST102において、実行時間算出部112は、タスクiのすべてのクリティカリティレベルでの最悪実行時間が算出されたか否かを判断する。そして、未だ最悪実行時間が算出されていないクリティカリティレベルが残存している場合、すなわち、図9に例が示されるステップST102から分岐する「NO」に対応する場合には、実行時間算出部112は、未だ最悪実行時間が算出されていないクリティカリティレベルについて、最悪実行時間を算出する(ステップST103)。そして、ステップST102へ戻る。
一方で、タスクiのすべてのクリティカリティレベルでの最悪実行時間が算出されている場合、すなわち、図9に例が示されるステップST102から分岐する「YES」に対応する場合には、ステップST100へ戻る。
そして、すべてのタスクのすべてのクリティカリティレベルでの最悪実行時間が算出された場合、ステップST104において、実行時間算出部112は、算出されたすべての最悪実行時間をスケジューリング装置10の最悪実行時間テーブル105に保存する。そして、処理を終了する。
次に、スケジューリング装置10が最適なスケジュールを導出する手順について、図10を参照しつつ説明する。ここで、図10は、スケジューリング装置10の動作の例を示すフローチャートである。
まず、スケジューリング装置10におけるスケジュール導出部101は、入力IF102を経由してユーザーから入力された目的関数および追加制約を取得する(ステップST400)。そして、スケジュール導出部101は、後述の修正最悪実行時間テーブル106を導出する(ステップST401)。
ここで、修正最悪実行時間の導出方法について、図13を参照しつつ説明する。なお、図13は、導出される修正最悪実行時間の例を示す図である。
図13に例が示されるように、ミックスドクリティカリティシステムにおいてタスクa、タスクbおよびタスクcがある場合に、それぞれのクリティカリティレベルがH、M、Lであるものとする。なお、クリティカリティレベルの高さは、H>M>Lであるものとする。
タスク自身のクリティカリティレベルよりも高いクリティカリティレベルについては、後述の最適化問題を簡略化するため以下のようにする。
Figure 0007237245000001
また、タスク自身のクリティカリティレベルと同じ、または、それ以下のクリティカリティレベルについては、実行時間測定装置11で測定された実行時間を修正最悪実行時間として設定する。
図13に示される例では、タスクaは、自身のクリティカリティレベルが最大のHであるため、H、MおよびLのクリティカリティレベルでの修正最悪実行時間には、実行時間測定装置11で測定された実行時間Pa,H、実行時間Pa,M、実行時間Pa,Lがそれぞれ設定されている。
また、タスクbは、自身のクリティカリティレベルがMであるため、クリティカリティレベルがMまたはM以下の修正最悪実行時間には、実行時間測定装置11で測定された実行時間を設定されている。また、クリティカリティレベルがHの修正最悪実行時間には、以下のように修正最悪実行時間が設定されている。
Figure 0007237245000002
また、タスクcは、自身のクリティカリティレベルがLであるため、クリティカリティレベルがLの修正最悪実行時間には、実行時間測定装置11で測定された実行時間を設定されている。また、クリティカリティレベルがHおよびMの修正最悪実行時間には、以下のように修正最悪実行時間が設定されている。
Figure 0007237245000003
Figure 0007237245000004
図10に戻り、スケジューリング装置10におけるスケジュール導出部101は、目的関数、追加制約、および、後述の基本制約に基づいて最適化問題を解き、最適なスケジュールを導出する(ステップST402)。
目的関数はユーザーが任意で設定するものであり、たとえば、デッドラインまでの余裕時間の最大化、または、消費電力の最小化などが考えられるが、これらに限定されるものではない。
追加制約は、同様にユーザーが任意で設定するものであり、タスク間の依存関係(特定のタスクの完了後に別のタスクを開始するなど)の指定、または、特定のタスクの実行コアの指定などが考えられるが、これらに限定されるものではない。
基本制約は、ユーザーの指定によらずスケジュール導出部101がデフォルトで指定する制約であり、デッドライン制約、周期制約およびコア制約の3つに分けられる。基本制約は、以下の式で表される。
Figure 0007237245000005
Figure 0007237245000006
Figure 0007237245000007
Figure 0007237245000008
Figure 0007237245000009
Figure 0007237245000010
ここで、Ci,m,l,tは、タスクiがクリティカリティレベルlに対応する最悪実行時間を要した場合に、時刻tにコアm上で実行中であるなら1であり、コアm上で実行しないなら0である。
また、zi,l,tは、タスクiがクリティカリティレベルlに対応する実行時間を要した場合に、タスクiが時刻tに実行中であるなら1であり、実行しないなら0である。
ただし、制約式は上記のものに限定されず、以下に示す意図を有する制約であれば、異なる式が用いられてもよい。
(A)デッドライン制約については、タスクが自身のクリティカリティレベルでの最悪実行時間で実行された場合に、タスクがデッドライン前に完了する。
(B)周期制約については、タスクのk番目のジョブの実行開始時刻は、設定周期のk倍以降である。
(C)コア制約については、それぞれのクリティカリティレベルにおいて、それぞれのコア、それぞれの時刻(タイムスロット)で実行されるタスクは1つのみである。
上記のデッドライン制約は、タスクがデッドラインミスを起こさないことを保証するためのものである。それぞれのタスクは、時刻Ti,kにジョブを開始し、自身のクリティカリティレベルでの最悪実行時間Pi,lで実行された場合でも、デッドライン時刻Di,kよりも前に処理を完了する必要がある。
また、上記の周期制約は、ジョブkの実行開始時刻がt+S×kよりも前にならないことを保証するためのものである。
また、上記のコア制約は、それぞれのコア上で同時刻に2つ以上のタスクが実行しないようにすることを保証するものであるが、ミックスドクリティカリティ保証スケジューリングポリシーを満たすため、クリティカリティレベルごとに実行されるタスクが1つであることを判定している。
なお、上記の制約のみでは、同一のジョブにおいて、クリティカリティレベルごとに別々の実行コアが決定される可能性があるが、これを防ぐために、同一時刻に同一ジョブを行うのは同一コアであるようにさらに制約を課してもよい。
次に、リアルタイム制御装置12の動作について、図11を参照しつつ説明する。ここで、図11は、リアルタイム制御装置12の動作の例を示すフローチャートである。
まず、リアルタイム制御装置12は、ROM123に保存されているスケジュール結果125を取得する(ステップST201)。
次に、リアルタイム制御装置12は、クリティカリティレベルの順に、タスクの優先度を設定する(ステップST202)。具体的には、リアルタイム制御装置12は、クリティカリティレベルが高いタスクほど高い優先度を設定し、同一のクリティカリティレベルであるタスクには同一の優先度を設定する。
次に、リアルタイム制御装置12は、実行開始時刻になったタスクがあるか否かを、一定の間隔でチェックする(ステップST203)。ここで、一定の間隔としては、たとえば、ティック周期が想定される。
そして、リアルタイム制御装置12は、実行開始時刻になったタスクがある場合、すなわち、図11に例が示されるステップST203から分岐する「YES」に対応する場合には、ステップST204へ進む。一方で、実行開始時刻になったタスクがない場合、すなわち、図11に例が示されるステップST203から分岐する「NO」に対応する場合には、ステップST203へ戻る。
次に、ステップST204において、実行開始時刻になったタスクを実行可能状態に設定してステップST203へ戻る。
本実施の形態では、事前に繰り返し測定されたそれぞれのタスクの実行時間のうち、クリティカリティレベルごとに定められた統計的信頼度のパーセンタイルに対応する実行時間を、それぞれのタスクのクリティカリティレベルごとの最悪実行時間とする。
そして、上記のクリティカリティレベルごとの最悪実行時間を用いてミックスドクリティカリティシステムにおけるスケジューリングを行う。このようにすることで、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標(すなわち、デッドラインミスを起こさないことがどの程度保証されるかの指標)を定量的に示すことが可能となる。
<第2の実施の形態>
本実施の形態に関するスケジューリングシステム、および、スケジューリング方法について説明する。なお、以下の説明においては、以上に記載された実施の形態で説明された構成要素と同様の構成要素については同じ符号を付して図示し、その詳細な説明については適宜省略するものとする。
<スケジューリングシステムの構成について>
第1の実施の形態では、クリティカリティレベルごとの最悪実行時間が、パーセンタイルを用いて設定された。一方で、クリティカリティレベルごとの最悪実行時間は、統計的信頼区間を用いて設定されてもよい。
以下、実行時間算出部112が最悪実行時間Pclを算出する手順について、図12を参照しつつ説明する。ここで、図12は、本実施の形態に関する、実行時間算出部112の動作の例を示すフローチャートである。
まず、実行時間算出部112は、すべてのタスクの統計的信頼区間が算出されたか否かを判断する(ステップST300)。そして、未だ統計的信頼区間が算出されていないタスクが残存している場合、すなわち、図12に例が示されるステップST300から分岐する「NO」に対応する場合には、実行時間測定部111は、未だ統計的信頼区間が算出されていないタスクiを選定し、当該タスクiの実行時間を所定回数測定する(ステップST301)。そして、ステップST302へ進む。
一方で、すべてのタスクの統計的信頼区間が算出されている場合、すなわち、図12に例が示されるステップST300から分岐する「YES」に対応する場合には、実行時間算出部112は処理を終了する。
次に、ステップST302において、実行時間算出部112は、ステップST301で測定した実行時間を標本として、タスクiの標本の標準偏差を算出する。
次に、実行時間算出部112は、ステップST302で算出された標準偏差に基づいて、信頼度テーブル104に定義されたすべてのクリティカリティレベルに対応する統計的信頼度の信頼区間をそれぞれ算出し、さらに、その上側境界を算出する(ステップST303)。なお、信頼区間は、母集団の確率分布が正規分布であることを仮定して算出する。
実行時間算出部112は、ステップST303で算出された上側境界の値を、タスクiのそれぞれのクリティカリティレベルに対応する最悪実行時間として、最悪実行時間テーブル105に保存する。
本実施の形態によれば、実行時間の標本から推測される母集団の最悪実行時間の平均値を用いて、統計的信頼区間によって最悪実行時間を定義することができる。そのため、母集団の確率分布が正規分布に近いと想定される場合に、最悪実行時間を用いてスケジューリングを行うことができる。
<第3の実施の形態>
本実施の形態に関するスケジューリングシステム、および、スケジューリング方法について説明する。なお、以下の説明においては、以上に記載された実施の形態で説明された構成要素と同様の構成要素については同じ符号を付して図示し、その詳細な説明については適宜省略するものとする。
<スケジューリングシステムの構成について>
第1の実施の形態および第2の実施の形態では、ミックスドクリティカリティ保証スケジューリングポリシーを満たすスケジューリングを行っていた。ただし、単一のクリティカリティレベルのみを有する、通常のリアルタイムシステム向けのスケジューリングを行ってもよい。その場合、コア制約を以下のように置き換える。
Figure 0007237245000011
Figure 0007237245000012
Figure 0007237245000013
ここで、zi,l,tは、タスクiがクリティカリティレベルlに対応する実行時間を要した場合に、タスクiが時刻tに実行中であるなら1であり、それ以外であれば0である。
その他の構成および動作は、第1の実施の形態または第2の実施の形態と同様である。
ただし、制約式は上記のものに限定されず、以下に示す意図を有する制約であれば、異なる式が用いられてもよい。
(D)コア制約について、同時に実行するタスクがコア数以下である。
本実施の形態によれば、ミックスドクリティカリティシステムではない、単一のクリティカリティレベルのみを有する通常のリアルタイムシステムに対しても、デッドライン制約を満たす範囲内で、与えられた目的関数について最適なスケジュールを導出することができる。
<スケジューリングシステムのハードウェア構成について>
図14および図15は、図1、図2および図3に例が示されるスケジューリングシステムを実際に運用する場合のハードウェア構成を概略的に例示する図である。
なお、図14および図15に例示されるハードウェア構成は、図1、図2および図3に例示される構成とは数などが整合しない場合があるが、これは図1、図2および図3に例示される構成が概念的な単位を示すものであることに起因する。
よって、少なくとも、図1、図2および図3に例示される1つの構成が、図14および図15に例示される複数のハードウェア構成から成る場合と、図1、図2および図3に例示される1つの構成が、図14および図15に例示されるハードウェア構成の一部に対応する場合と、さらには、図1、図2および図3に例示される複数の構成が、図14および図15に例示される1つのハードウェア構成に備えられる場合とが想定され得る。
図14では、図1、図2および図3中の実行時間測定部111、実行時間算出部112およびスケジュール導出部101を実現するためのハードウェア構成として、演算を行う処理回路1102Aと、情報を記憶することができる記憶装置1103とが示される。これらの構成は、他の実施の形態においても同様である。
図15では、図1、図2および図3中の実行時間測定部111、実行時間算出部112およびスケジュール導出部101を実現するためのハードウェア構成として、演算を行う処理回路1102Bが示される。当該構成は、他の実施の形態においても同様である。
修正最悪実行時間テーブル106、最悪実行時間テーブル105、制御要求テーブル103および信頼度テーブル104は、記憶装置1103または別の記憶装置(ここでは、図示しない)によって実現される。
記憶装置1103は、たとえば、ハードディスクドライブ(Hard disk drive、すなわち、HDD)、RAM、ROM、フラッシュメモリ、erasable programmable read only memory(EPROM)およびelectrically erasable programmable read-only memory(EEPROM)などの、揮発性または不揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはDVDなどを含むメモリ(記憶媒体)、または、今後使用されるあらゆる記憶媒体であってもよい。
処理回路1102Aは、記憶装置1103、外部のCD-ROM、外部のDVD-ROM、または、外部のフラッシュメモリなどに格納されたプログラムを実行するものであってもよい。すなわち、たとえば、CPU、マイクロプロセッサ、マイクロコンピュータ、デジタルシグナルプロセッサ(digital signal processor、すなわち、DSP)であってもよい。
処理回路1102Aが記憶装置1103、外部のCD-ROM、外部のDVD-ROM、または、外部のフラッシュメモリなどに格納されたプログラムを実行するものである場合、実行時間測定部111、実行時間算出部112およびスケジュール導出部101は、記憶装置1103に格納されたプログラムが処理回路1102Aによって実行されるソフトウェア、ファームウェアまたはソフトウェアとファームウェアとの組み合わせにより実現される。なお、実行時間測定部111、実行時間算出部112およびスケジュール導出部101の機能は、たとえば、複数の処理回路が連携することによって実現されてもよい。
ソフトウェアおよびファームウェアはプログラムとして記述され、記憶装置1103に記憶されるものであってもよい。その場合、処理回路1102Aは、記憶装置1103に格納されたプログラムを読み出して実行することによって、上記の機能を実現する。すなわち、記憶装置1103は、処理回路1102Aに実行されることによって、上記の機能が結果的に実現されるプログラムを記憶するものであってもよい。
また、処理回路1102Bは、専用のハードウェアであってもよい。すなわち、たとえば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、集積回路(application specific integrated circuit、すなわち、ASIC)、field-programmable gate array(FPGA)またはこれらを組み合わせた回路であってもよい。
処理回路1102Bが専用のハードウェアである場合、実行時間測定部111、実行時間算出部112およびスケジュール導出部101は、処理回路1102Bが動作することにより実現される。なお、実行時間測定部111、実行時間算出部112およびスケジュール導出部101の機能は、別々の回路で実現されてもよいし、単一の回路で実現されてもよい。
なお、実行時間測定部111、実行時間算出部112およびスケジュール導出部101の機能は、一部が記憶装置1103に格納されたプログラムを実行するものである処理回路1102Aにおいて実現され、一部が専用のハードウェアである処理回路1102Bにおいて実現されてもよい。
<以上に記載された実施の形態によって生じる効果について>
次に、以上に記載された実施の形態によって生じる効果の例を示す。なお、以下の説明においては、以上に記載された実施の形態に例が示された具体的な構成に基づいて当該効果が記載されるが、同様の効果が生じる範囲で、本願明細書に例が示される他の具体的な構成と置き換えられてもよい。
また、当該置き換えは、複数の実施の形態に跨ってなされてもよい。すなわち、異なる実施の形態において例が示されたそれぞれの構成が組み合わされて、同様の効果が生じる場合であってもよい。
以上に記載された実施の形態によれば、スケジューリング方法において、異なるクリティカリティレベルを有する複数のタスクのスケジューリングを行うリアルタイムシステムにおいて、それぞれのタスクの実行時間を繰り返し測定する。そして、複数回測定されたそれぞれのタスクの実行時間のうち、クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する実行時間を、クリティカリティレベルごとの最悪実行時間として、最悪実行時間に基づいて複数のタスクのスケジューリングを行う。
このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標(すなわち、デッドラインミスを起こさないことがどの程度保証されるかの指標)を定量的に示すことが可能となる。
なお、特段の制限がない場合には、それぞれの処理が行われる順序は変更することができる。
また、上記の構成に本願明細書に例が示された他の構成を適宜追加した場合、すなわち、上記の構成としては言及されなかった本願明細書中の他の構成が適宜追加された場合であっても、同様の効果を生じさせることができる。
また、以上に記載された実施の形態によれば、複数回測定されたタスクの実行時間のうち、クリティカリティレベルごとにあらかじめ定められた統計的信頼度のパーセンタイルに対応する実行時間を、クリティカリティレベルごとの最悪実行時間とする。このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度のパーセンタイルによって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すことが可能となる。
また、以上に記載された実施の形態によれば、複数回測定されたタスクの実行時間を標本とし、かつ、クリティカリティレベルごとにあらかじめ定められた統計的信頼度の信頼区間を標本の母集団が正規分布であるとして算出し、さらに、信頼区間の上側境界に対応する実行時間を、クリティカリティレベルごとの最悪実行時間とする。このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度の信頼区間によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すことが可能となる。
また、以上に記載された実施の形態によれば、スケジューリングは、タスクが自身のクリティカリティレベルに対応する最悪実行時間で実行された場合に、タスクがデッドライン前に完了することを含む制約条件に基づく、制約付き最適化問題を解くことによって行われる。このような構成によれば、デッドライン制約を満たすように最適化問題を解くことによって、適切なリアルタイムスケジューリングを行うことができる。
また、以上に記載された実施の形態によれば、スケジューリングは、タスクがジョブの繰り返しからなる場合に、タスクのk番目のジョブの実行開始時刻は、ジョブが繰り返される周期のk倍以降であることを含む制約条件に基づく、制約付き最適化問題を解くことによって行われる。このような構成によれば、周期制約を満たすように最適化問題を解くことによって、適切なリアルタイムスケジューリングを行うことができる。
また、以上に記載された実施の形態によれば、スケジューリングは、それぞれのクリティカリティレベルにおいて、タスクを実行する特定のコアで実行されるタスクは1つのみであり、かつ、それぞれのクリティカリティレベルにおいて、特定の時刻に実行されるタスクは1つのみであることを含む制約条件に基づく、制約付き最適化問題を解くことによって行われる。このような構成によれば、コア制約を満たすように最適化問題を解くことによって、適切なリアルタイムスケジューリングを行うことができる。
また、以上に記載された実施の形態によれば、スケジューリングは、外部から入力される目的関数、および、追加制約のうちの少なくとも一方に基づく制約付き最適化問題を解くことによって行われる。このような構成によれば、目的関数、および、追加制約のうちの少なくとも一方を満たすように最適化問題を解くことによって、適切なリアルタイムスケジューリングを行うことができる。
以上に記載された実施の形態によれば、スケジューリングシステムは、実行時間測定部111と、実行時間算出部112と、スケジュール導出部101とを備える。実行時間測定部111は、それぞれのタスクの実行時間を繰り返し測定する。実行時間算出部112は、複数回測定されたタスクの実行時間のうち、クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する実行時間を、クリティカリティレベルごとの最悪実行時間として算出する。スケジュール導出部101は、最悪実行時間に基づいて、リアルタイムシステムにおける複数のタスクのスケジューリングを行う。
また、以上に記載された実施の形態によれば、スケジューリングシステムは、処理回路1102Aと、実行されるプログラムを記憶する記憶装置1103とを備える。そして、処理回路1102Aがプログラムを実行することによって、以下の動作が実現される。
すなわち、それぞれのタスクの実行時間が繰り返し測定される。そして、複数回測定されたそれぞれのタスクの実行時間のうち、クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する実行時間が、クリティカリティレベルごとの最悪実行時間とされる。そして、最悪実行時間に基づいて、複数のタスクのスケジューリングが行われる。
また、以上に記載された実施の形態によれば、スケジューリングシステムは、処理回路1102Bを備える。そして、専用のハードウェアである処理回路1102Bは、以下の動作を行う。
すなわち、専用のハードウェアである処理回路1102Bは、それぞれのタスクの実行時間を繰り返し測定する。そして、複数回測定されたそれぞれのタスクの実行時間のうち、クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する実行時間を、クリティカリティレベルごとの最悪実行時間とする。そして、最悪実行時間に基づいて、複数のタスクのスケジューリングを行う。
このような構成によれば、クリティカリティレベルごとの最悪実行時間が、対応する統計的信頼度によって具体的に定められるため、それぞれのクリティカリティレベルで保証される信頼性指標を定量的に示すことが可能となる。
なお、上記の構成に本願明細書に例が示された他の構成を適宜追加した場合、すなわち、上記の構成としては言及されなかった本願明細書中の他の構成が適宜追加された場合であっても、同様の効果を生じさせることができる。
<以上に記載された実施の形態の変形例について>
以上に記載された実施の形態では、それぞれの構成要素の寸法、形状、相対的配置関係または実施の条件などについても記載する場合があるが、これらはすべての局面においてひとつの例であって、限定的なものではないものとする。
したがって、例が示されていない無数の変形例、および、均等物が、本願明細書に開示される技術の範囲内において想定される。たとえば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも1つの実施の形態における少なくとも1つの構成要素を抽出し、他の実施の形態における構成要素と組み合わせる場合が含まれるものとする。
また、矛盾が生じない限り、以上に記載された実施の形態において「1つ」備えられるものとして記載された構成要素は、「1つ以上」備えられていてもよいものとする。
また、本願明細書における説明は、本技術に関連するすべての目的のために参照され、いずれも、従来技術であると認めるものではない。
また、以上に記載された実施の形態で記載されたそれぞれの構成要素は、ソフトウェアまたはファームウェアとしても、それと対応するハードウェアとしても想定され、その双方の概念において、それぞれの構成要素は「部」または「処理回路」(circuitry)などと称される。
また、本願明細書に開示される技術は、それぞれの構成要素が複数の装置に分散して備えられる場合、すなわち、複数の装置の組み合わせとしてのシステムのような態様であってもよいものとする。
10 スケジューリング装置、11 実行時間測定装置、12 リアルタイム制御装置、101 スケジュール導出部、102 入力IF、103 制御要求テーブル、104 信頼度テーブル、105 最悪実行時間テーブル、106 修正最悪実行時間テーブル、111 実行時間測定部、112 実行時間算出部、113 タスク群受け付け部、121 CPU、122 RAM、123 ROM、124 タスク実行ファイル群、125 スケジュール結果、1102A,1102B 処理回路、1103 記憶装置。

Claims (8)

  1. 異なるクリティカリティレベルを有する複数のタスクのスケジューリングを行うリアルタイムシステムにおいて、
    それぞれの前記タスクの実行時間を繰り返し測定し、
    複数回測定されたそれぞれの前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間とし、
    前記最悪実行時間に基づいて、前記複数の前記タスクの前記スケジューリングを行う、
    スケジューリング方法。
  2. 請求項1に記載のスケジューリング方法であり、
    複数回測定された前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度のパーセンタイルに対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間とする、
    スケジューリング方法。
  3. 請求項1に記載のスケジューリング方法であり、
    複数回測定された前記タスクの前記実行時間を標本とし、かつ、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度の信頼区間を前記標本の母集団が正規分布であるとして算出し、さらに、前記信頼区間の上側境界に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間とする、
    スケジューリング方法。
  4. 請求項1から3のうちのいずれか1つに記載のスケジューリング方法であり、
    前記スケジューリングは、
    前記タスクが自身の前記クリティカリティレベルに対応する前記最悪実行時間で実行された場合に、前記タスクがデッドライン前に完了すること
    を含む制約条件に基づく制約付き最適化問題を解くことによって行われる、
    スケジューリング方法。
  5. 請求項1から4のうちのいずれか1つに記載のスケジューリング方法であり、
    前記スケジューリングは、
    前記タスクがジョブの繰り返しからなる場合に、前記タスクのk番目の前記ジョブの実行開始時刻は、前記ジョブが繰り返される周期のk倍以降であること
    を含む制約条件に基づく制約付き最適化問題を解くことによって行われる、
    スケジューリング方法。
  6. 請求項1から5のうちのいずれか1つに記載のスケジューリング方法であり、
    前記スケジューリングは、
    それぞれの前記クリティカリティレベルにおいて、前記タスクを実行する特定のコアで実行される前記タスクは1つのみであり、かつ、それぞれの前記クリティカリティレベルにおいて、特定の時刻に実行される前記タスクは1つのみであること
    を含む制約条件に基づく制約付き最適化問題を解くことによって行われる、
    スケジューリング方法。
  7. 請求項1から6のうちのいずれか1つに記載のスケジューリング方法であり、
    前記スケジューリングは、
    外部から入力される目的関数、および、追加制約のうちの少なくとも一方に基づく制約付き最適化問題を解くことによって行われる、
    スケジューリング方法。
  8. 異なるクリティカリティレベルを有する複数のタスクを有するリアルタイムシステムであり、
    それぞれの前記タスクの実行時間を繰り返し測定する実行時間測定部と、
    複数回測定された前記タスクの前記実行時間のうち、前記クリティカリティレベルごとにあらかじめ定められた統計的信頼度に対応する前記実行時間を、前記クリティカリティレベルごとの最悪実行時間として算出する実行時間算出部と、
    前記最悪実行時間に基づいて、前記リアルタイムシステムにおける前記複数の前記タスクのスケジューリングを行うスケジュール導出部とを備える、
    スケジューリングシステム。
JP2022522168A 2020-05-13 2020-05-13 スケジューリング方法、および、スケジューリングシステム Active JP7237245B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/019109 WO2021229718A1 (ja) 2020-05-13 2020-05-13 スケジューリング方法、および、スケジューリングシステム

Publications (2)

Publication Number Publication Date
JPWO2021229718A1 JPWO2021229718A1 (ja) 2021-11-18
JP7237245B2 true JP7237245B2 (ja) 2023-03-10

Family

ID=78525455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022522168A Active JP7237245B2 (ja) 2020-05-13 2020-05-13 スケジューリング方法、および、スケジューリングシステム

Country Status (2)

Country Link
JP (1) JP7237245B2 (ja)
WO (1) WO2021229718A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019064348A1 (ja) 2017-09-26 2019-04-04 三菱電機株式会社 コントローラ

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094351A (ja) * 2002-08-29 2004-03-25 Denso Corp QoS制御装置、プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019064348A1 (ja) 2017-09-26 2019-04-04 三菱電機株式会社 コントローラ

Also Published As

Publication number Publication date
WO2021229718A1 (ja) 2021-11-18
JPWO2021229718A1 (ja) 2021-11-18

Similar Documents

Publication Publication Date Title
US9430288B2 (en) Job scheduling based on historical job data
US7793294B2 (en) System for scheduling tasks within an available schedule time period based on an earliest possible end time of the task
US9990229B2 (en) Scheduling method and apparatus for applying laxity correction based on task completion proportion and preset time
US9430388B2 (en) Scheduler, multi-core processor system, and scheduling method
US10528389B2 (en) Method and apparatus for executing real-time tasks
US7793296B2 (en) System and method for scheduling a multi-threaded processor
KR101686082B1 (ko) 결정적 프로그레스 인덱스 기반 락 제어 및 스레드 스케줄링 방법 및 장치
WO2012099643A2 (en) Integrated environment for execution monitoring and profiling of applications running on multi-processor system-on-chip
EP3097492B1 (en) Method and apparatus for preventing bank conflict in memory
WO2022257435A1 (zh) 一种批量任务处理方法、装置、计算设备及存储介质
Blin et al. Maximizing parallelism without exploding deadlines in a mixed criticality embedded system
CN112930524A (zh) 来源驱动的作业相关性评估
JP7237245B2 (ja) スケジューリング方法、および、スケジューリングシステム
JP5585330B2 (ja) 情報処理装置、情報処理方法およびコンピュータ・プログラム
WO2021044810A1 (ja) コア割当装置及びコア割当方法
US20160299787A1 (en) System, method and managing device
US8943503B2 (en) Apparatus and method for thread progress tracking using deterministic progress index
JP6156379B2 (ja) スケジューリング装置、及び、スケジューリング方法
CN110663051A (zh) 解决车辆调度中的跨车辆依赖性的计算机化系统和方法
CN114356571A (zh) 一种处理方法及装置
US11055206B2 (en) Non-transitory computer-readable storage medium, generation method, and information processing apparatus
JP6753521B2 (ja) 計算資源管理装置、計算資源管理方法、及びプログラム
JP7012905B1 (ja) スケジュール生成装置、スケジュール生成方法及びスケジュール生成プログラム
JP7454700B2 (ja) 演算装置及び検査方法
Yip et al. Optimized Buffering of Time-Triggered Automotive Software

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220415

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: 20230131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230228

R150 Certificate of patent or registration of utility model

Ref document number: 7237245

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150