(57)【要約】      （修正有）【課題】環境的に調整されたスラックを割り当てるためのシステム及び方法を提供する。【解決手段】リアルタイム・オペレーティングシステムであって、スケジューラが、少なくとも第１の割り当ての時間を第１のバジェットされた時間分割化したエンティティ（ＴＰＥ）に割り当てることによって、第１のバジェットされたＴＰＥを実行するための処理時間の所定の時間長をさらにバジェットする、リアルタイム・オペレーティングシステムとを含む。ここで、スケジューラは、使用されていない処理時間の少なくとも一部分を利用して、第１のバジェットされたＴＰＥ又は任意の他のバジェットされたＴＰＥを、環境的に調整されたスラックとして実行し、処理コアに関連付けられた１つ又は複数の動作環境パラメータの測定値に基づいて、環境的に調整されたスラックの少なくとも一部分を、１つ又は複数のスラック消費ＴＰＥに割り当てる。【選択図】図１
2017062779.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの処理コア（１１２）と、
前記少なくとも１つの処理コア（１１２）に結合されたメモリ（１１４）と、
前記少なくとも１つの処理コア（１１２）のための処理時間を複数の時間期間に分割化するように構成されたスケジューラ（１１６）を含むリアルタイム・オペレーティングシステム（１１１）であって、前記スケジューラ（１１６）が、少なくとも第１の割り当ての時間を第１のバジェットされた時間分割化したエンティティ（ＴＰＥ）に割り当てることによって、前記第１のバジェットされたＴＰＥを実行するための処理時間の所定の時間長をさらにバジェットする、リアルタイム・オペレーティングシステム（１１１）と
を含む時間分割化した処理システムであって、
前記スケジューラ（１１６）が、使用されていない前記複数の時間期間内の処理時間の少なくとも一部分を利用して、前記第１のバジェットされたＴＰＥ又は任意の他のバジェットされたＴＰＥを、環境的に調整されたスラックとして実行し、
前記スケジューラ（１１６）が、前記少なくとも１つの処理コア（１１２）に関連付けられた１つ又は複数の動作環境パラメータの測定値に基づいて、環境的に調整されたスラックの少なくとも一部分を、１つ又は複数のスラック消費ＴＰＥに割り当てる、
時間分割化した処理システム。
【請求項２】
前記スケジューラ（１１６）と通信している環境モニタ（１１８）と、
前記環境モニタ（１１８）に結合された少なくとも１つの動作環境センサ（１２０）であって、前記少なくとも１つの処理コア（１１２）に関連付けられた前記１つ又は複数の動作環境パラメータのうちの少なくとも１つを測定し、前記１つ又は複数の動作環境パラメータに基づいて動作環境状態を前記環境モニタ（１１８）が判定する、少なくとも１つの動作環境センサ（１２０）と、
前記スケジューラ（１１６）にアクセス可能なスラック割り当てポリシー（１１９）であって、環境的に調整されたスラックを割り当てるためのルールを定義するスラック割り当てポリシー（１１９）と
をさらに含み、
前記スケジューラ（１１６）が、前記環境モニタ（１１８）によって判定された前記動作環境状態及び前記スラック割り当てポリシー（１１９）に基づいて、環境的に調整されたスラックを、前記１つ又は複数のスラック消費ＴＰＥに割り当てる、
請求項１に記載のシステム。
【請求項３】
現在の時間期間の開始時に、バジェットされたＴＰＥを実行するステップと、
前記現在の時間期間に残された利用可能な時間により、前記バジェットされたＴＰＥがいつ実行を完了したかを判定するステップと、
時間分割化した処理システム（１００）上で実行するために、少なくとも１つのスラック消費する時間分割化したエンティティ（ＴＰＥ）が、いつスラック時間の割り当てを要求しているかを判定するステップと、
少なくとも１つの動作環境センサ（１２０）からのデータに基づいて、現在の動作環境状態を計算するステップと、
前記現在の動作環境状態及びスラック割り当てポリシー（１１９）に基づいて、前記時間分割化した処理システム上で実行するために、第１の時間期間において利用可能な環境的に調整されたスラックを、前記少なくとも１つのスラック消費ＴＰＥに割り当てるステップであって、前記スラック割り当てポリシー（１１９）が、前記現在の動作環境状態に基づいて、前記環境的に調整されたスラックを割り当てるための基準を定義する、割り当てるステップと
を含む、時間分割化した処理システム（１００）用のスラック割り当ての環境的調整のための方法であって、
現在の動作環境状態を計算するステップが、
動作環境センサ（１２０）から、前記時間分割化した処理システムの少なくとも１つの処理コア（１１２）に関連付けられた１つ又は複数の動作環境パラメータを入力するステップ
をさらに含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、環境的に調整されたスラックを割り当てるためのシステム及び方法に関する。
【背景技術】
【０００２】
[0001]時間分割化した処理システム（ｔｉｍｅ  ｐａｒｔｉｔｉｏｎｅｄ  ｐｒｏｃｅｓｓｉｎｇ  ｓｙｓｔｅｍ）は、クリティカルなタスクが実行する時間を保証されることを必要とする安全クリティカルなリアルタイム・アプリケーションのために、通常使用される。時間分割化が適用される粒度は、スケジューリング・パラダイムの間で異なり、いくつかのパラダイムでは、ある数のタスクが共通の時間バジェット（ｂｕｄｇｅｔ）を共有し、他のパラダイムでは、各タスクが独立したバジェットを有する。本開示では、そのようなタスクを、時間分割化したエンティティ（ｔｉｍｅ  ｐａｒｔｉｔｉｏｎｅｄ  ｅｎｔｉｔｙ）、すなわち「ＴＰＥ」と呼ぶことにする。ＴＰＥは、たとえば、複数のタスクを包含する６５３分割であってもよいし、時間分割化したＲＭＡスレッドであってもよい。それに応じて、そのようなＴＰＥは、その中でＴＰＥが実行される、保証された処理時間バジェットでの時間期間を割り当てられる。各ＴＰＥのためのバジェットは、最悪の場合のキャッシュ条件、及び最悪の場合のコードパスについての根拠のもとに確立されて、なおもいくらかの追加のマージン・パディングを含んで、ＴＰＥがバジェットされたタスクを完了するのに十分な処理時間を提供することを確実にする。しかしながら、ＴＰＥはしばしば、その割り当てられた分割内に余った時間でそのバジェットされたタスクを完了し、利用可能なスラック時間を残す。実際、ホストされたアプリケーションによっては、バジェットされたＴＰＥの実行が完了した後に、ときに大量のスラック時間が分割内に残ることがある。マルチコア・システムにおいては、ＴＰＥの実行時間の変動が増加傾向にあり、メモリ相互作用に対して最悪の場合の相互コア干渉が想定される、リアルタイム・オペレーティングシステムのクリティカルなセクションがコア間で最悪の場合のタイミング相互作用を想定する、などの理由で、バジェットのパディングが過度になることがある。これらの最悪の場合の推定値が、バジェットされたＴＰＥを実行するためのバジェットに組み込まれて、分割内で利用可能なスラック時間が、時間分割化したシステムにおいてバジェットされかつ使用される両方の時間量をときに超えることがあると、経験が示している。このような理由のために、多くのリアルタイムの安全クリティカルなオペレーティングシステムは、バジェットが十分利用できないことから生じたスラック処理時間を再割り当てするための手段を有し、その固定されたバジェット全体を使用し終えてもなお一層多くのＣＰＵ時間を所望することがある他のＴＰＥに、スラック処理時間を与えている。設計関連要因が、スラック発生に大いに寄与し得ることに留意されたい。あるＴＰＥは、変動する反復的な作業負荷パターンを有し、１つのフレーム内ではそれにそのバジェットのほとんどを使用させ、しかし別のフレーム内ではずっと少ないバジェットを使用させることがある。他のＴＰＥは、非常にモーダルであって、なんらかの外部刺激を待ちながら、長い時間の期間の間に大量のスラックを生成することがある。
【０００３】
[0002]しかしながら、利用可能なスラックをこの時間の使用を所望するＴＰＥに再割り当てすることにより、全体のプロセッサー利用率がプロセッサーの容量限度に向かって押し上げられ得るという、１つの問題が持ち上がる。一組のアプリケーションをホストする時間分割化したシステムのプロセッサーの熱及び電力使用量は、信頼できる、高い確実性のソフトウェアの規則的な使用量パターンに基づいて、大いに予測可能であり得る、又は少なくとも範囲設定可能（ｂｏｕｎｄａｂｌｅ）であり得るのに対して、スラックが許可されるときには、熱及び電力の予測可能性が損なわれることがある。場合によりアプリケーションエラーに起因してさえ、すべての利用可能なスラックを消費することによって、単一の低い重要度（ｃｒｉｔｉｃａｌｉｔｙ）のスラック消費物が、ＣＰＵ利用率を無期限に１００％まで追いやることもある。このシナリオにより、システム設計者は、最悪の場合の熱及び電力ソリューションを提供するか、スラックスケジューリングの恩恵を諦めるかの、いずれかを余儀なくされる。プロセッサーが単により熱く稼働してより多くの電力を利用することに加えて、プロセッサー動作温度とローカルな周囲環境との間の熱マージン、及び／又は処理システムの放熱容量が減少する。これは、動作環境の温度を急速に増加させ得るイベントの間に動作を継続するのに利用可能な熱マージンを減少させる。実際、熱ソリューションが、高い周囲条件の間、継続的な１００％のＣＰＵ利用率に対処するようなサイズでない場合、際限のないスラック利用率がプロセッサーの熱過負荷を招くことがあり、その結果、スラック時間の間の非クリティカルなタスクのスケジューリングにより、安全クリティカルなＴＰＥを実行するシステムの能力を損なう恐れがある。
【０００４】
[0003]上述された理由のために、かつ本明細書を読み、理解する際に当業者に明らかになるであろう後述される他の理由のために、当技術分野において、環境的に調整されたスラックを割り当てるためのシステム及び方法の必要性が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
[0004]本発明の実施形態は、環境的に調整されたスラックを割り当てるための方法及びシステムを提供し、以下の明細書を読み、検討することによって理解されるであろう。
【課題を解決するための手段】
【０００６】
[0005]一実施形態において、時間分割化した処理システムが、少なくとも１つの処理コアと、少なくとも１つの処理コアに結合されたメモリと、少なくとも１つの処理コアのための処理時間を複数の時間期間に分割化するように構成されたスケジューラを含むリアルタイム・オペレーティングシステムであって、スケジューラが、少なくとも第１の割り当ての時間を第１のバジェットされた時間分割化したエンティティ（ＴＰＥ）に割り当てることによって、第１のバジェットされたＴＰＥを実行するための処理時間の所定の時間長（ｄｕｒａｔｉｏｎ）をさらにバジェットする、リアルタイム・オペレーティングシステムとを含む。ここで、スケジューラは、使用されていない複数の時間期間内の処理時間の少なくとも一部分を利用して、第１のバジェットされたＴＰＥ又は任意の他のバジェットされたＴＰＥを、環境的に調整されたスラックとして実行し、スケジューラは、少なくとも１つの処理コアに関連付けられた１つ又は複数の動作環境パラメータの測定値に基づいて、環境的に調整されたスラックの少なくとも一部分を、１つ又は複数のスラック消費ＴＰＥ（ｓｌａｃｋ  ｃｏｎｓｕｍｉｎｇ  ＴＰＥ）に割り当てる。
【０００７】
[0006]好ましい実施形態の説明及び以下の図面に照らして考慮されるとき、本発明の実施形態は、より容易に理解され、そのさらなる利点及び使用が、よりすみやかに明らかとなり得る。
【図面の簡単な説明】
【０００８】
【図１】[0007]本開示の一実施形態の時間分割化したオペレーティングシステムを示す図である。
【図２】[0008]環境的に調整されたスラックを含む、本開示の一実施形態の周期的に繰り返し生じる分割を示す図である。
【図２Ａ】[0009]環境的に調整されたスラックを含む、本開示の一実施形態の周期的に繰り返し生じる時間期間のシーケンスを示す図である。
【図２Ｂ】[0010]環境的に調整されたスラックを含む、本開示の一実施形態の周期的に繰り返し生じる時間期間の別のシーケンスを示す図である。
【図３】[0011]図３Ａは、環境的に調整されたスラックが制限されたスラック時間として指定されている、本開示の一実施形態の周期的に繰り返し生じる時間期間のシーケンスを環境的に示す図である。図３Ｂは、環境的に調整されたスラックが制限されたスラック時間として指定されている、本開示の一実施形態の周期的に繰り返し生じる時間期間のシーケンスを環境的に示す図である。
【図４】[0012]本開示の一実施形態の、スラック消費ＴＰＥへの環境的に調整されたスラック割り当ての優先度ベースによる切り詰めを示す表の図である。
【図５】[0013]本開示の一実施形態の方法を示す流れ図である。
【発明を実施するための形態】
【０００９】
[0014]一般的な慣例に従って、説明されるさまざまな特徴は、原寸に比例して示されておらず、本発明に関係した特徴を強調するように示されている。参照文字は、図面及びテキスト全体を通して同様の要素を表す。
【００１０】
[0015]以下の詳細な説明において、参照は、詳細な説明の一部を形成する添付の図面に対して行われ、その中で本発明が実践され得る特定の例証的な実施形態を介して示される。これらの実施形態は、当業者が本発明を実践することができるように十分詳細に説明され、本発明の範囲から逸脱せずに、他の実施形態が利用されてもよく、かつ論理的、機械的、及び電気的変更が行われてもよいことが理解されるべきである。したがって、以下の詳細な説明は、限定する意味において取られるべきではない。
【００１１】
[0016]本開示の実施形態は、スラック時間の割り当てを所望する時間分割化したエンティティに、いつ（及び／又はどのくらいの）スラック時間が割り当てられてよいかを判断するために、時間分割化した処理システムによって利用される環境モニタを導入するシステム及び方法を提供する。環境モニタを利用することによって、システムのタスクスケジューラは、時間分割化したシステムによって生成された大量のスラック時間をうまく利用し、熱及び／又は電力制約などの環境的制約に基づいて調整されたスラックを形作る能力を提供することができる。したがって、本明細書で説明される実施形態は、システムの熱特性及び熱マージンを不利に追いやるスラック消費物からの保護を提供する。いくつかの実施形態において、スラック時間の使用の環境的な抑制（ｔｈｒｏｔｔｌｅ）に起因してスケジュールされ得る有用な作業がないときには、緩やかなプロセッサーのスリープ状態がまた、それらのスラック時間の間に命じられてもよい。本明細書で使用されるとき、用語「時間分割化したエンティティ」、すなわち「ＴＰＥ」は、実行可能なコンピュータ命令の任意のセグメント（すなわち、プログラムのセグメント）を指すことが意図されており、これらは、必ずしも限定はされないが、時間分割化したＲＭＡにおけるスレッド、マルチスレッドアプリケーション、ＡＲＩＮＣ６５３分割、複数のタスクが時間持ち分を共有するなんらかの他の時間窓において実行されるタスクなどであり、共通のバジェットを共有する単一のタスク又はタスクのグループを指すことができることを理解されたい。同様に、用語「分割化した」は、アビオニクス・アプリケーション標準ソフトウェアインターフェースＡＲＩＮＣ（６５３）によって定義されるように、安全クリティカルなアビオニクス・リアルタイム・オペレーティングシステムにおいて空間及び時間を分割化することを含むことができるが、そのように限定はされない。それらは、ＴＰＥの実行のためにプロセッサー上でバジェットされた時間期間の任意の所定の時間長を指すことができる。
【００１２】
[0017]図１は、本開示の一実施形態の時間分割化した処理システムを１００で示す図である。システム１００は、メモリ１１４に結合された１つ又は複数の処理コア１１２と、リアルタイム・オペレーティングシステム（ＲＴＯＳ：ｒｅａｌ−ｔｉｍｅ  ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）１１１とを含む。ＲＴＯＳ１１１が１つ又は複数の処理コア１１２へのアクセスを分割化し、その結果、本明細書でバジェットされたＴＰＥと呼ばれる高い優先度のタスクが、これらのＴＰＥの実行に対して時間バジェットされた所定の時間長を有する時間期間に実行されるという点において、システム１００は、時間分割化した処理システムである。いくつかの実施形態において、１つ又は複数の処理コア１１２のすべてが時間分割化され、一方、他の実施形態においては、コアの全体数のサブセットのみが時間分割化される。他の実施形態において、コア１１２のうちの１つ又は複数のための処理時間ラインのある部分は時間分割化されてよく、一方、時間ラインの別のセグメントは時間分割化されない。時間バジェットは、他のタスクの実行からの干渉又は破損（ｃｏｒｒｕｐｔｉｏｎ）がなければ、そのバジェットされたタスクを完了するのに十分な時間を提供する。１つ又は複数の処理コア１１２上での（固定されたバジェットで実行されるＴＰＥと、スラックで実行されるＴＰＥの両方のための）ＴＰＥの実行のスケジューリングは、スケジューラ１１６によって実施され、スケジューラ１１６は、ＲＴＯＳ１１１のコンポーネントであってよい。本開示の実施形態では、スケジューラ１１６は、他の動作考慮事項に基づいて、スラック時間処理リソースを所望するＴＰＥにスラック時間を割り当てる。すなわち、スケジューラ１１６は、どのスラック時間が利用可能であるか、かつどのＴＰＥがそのスラック時間へのアクセスを要求しているかを考慮することに加えて、環境パラメータ（１つ又は複数の処理コア１１２の動作温度、もしくはシステム１００の他の要素の動作温度、又は周囲温度など）、及び／又は動作パラメータ（電力制約など）もまた考慮する。その目的のために、図１に示される実施形態において、スケジューラ１１６は、動作環境モニタ１１８を含むか、そうでない場合には動作環境モニタ１１８とインターフェースを取り、動作環境モニタ１１８は、少なくとも１つのプロセッサー動作環境センサ１２０及びスラック割り当てポリシー１１９に結合される。代替実施形態においては、環境モニタ１１８及びスラック割り当てポリシー１１９は、リアルタイム・オペレーティングシステム１１１の一部であってもよく、又は、環境モニタ１１８及びスラック割り当てポリシー１１９の１つもしくは両方が、代替的にボード・サポート・パッケージとして実装されてもよいことを認識されたい。動作環境センサ１２０は、電圧センサ、電流センサ、電力センサ、もしくは温度センサ、又はそれらの組合せなどのセンシングデバイスを含むことができ、動作環境センサ１２０は、プロセッサーコア１１２と一体型でもよいし、別個のハードウェアコンポーネントを使用して実装されてもよい。環境モニタ１１８は、センサ１２０からのデータを受信し、処理する。一実施形態において、環境モニタ１１８は、セ��サ１２０からのデータに基づいて、センサデータを、考え得る動作条件のさまざまな所定の分類と比較し、そこから、スケジューラ１１６に伝達され得る現在の動作環境状態を判定する。たとえば、センサ１２０からのデータが、既定の正常な動作範囲内での温度及び電力引き込みを指し示す場合、環境モニタ１１８は、現在の動作環境状態を「正常」と指し示すことができる。代わりに、センサ１２０からのデータが、ＣＰＵ温度が既定の動作閾値を超えて中程度上昇した温度範囲で動作していることを指し示す場合、環境モニタ１１８は、現在の動作環境状態を、中程度の温度閾値を超えていると指し示すことができる。異なる複数の考え得る動作状態の分類は、センサ１２０によって測定されたパラメータの異なる閾値及び異なる範囲について確立されてよい。スラック時間割り当てポリシー１１９は、環境モニタ１１８によって定義された現在の動作条件に応じて、スラック消費ＴＰＥがあればどのスラック消費ＴＰＥが実行され得るか、及び／又は、スラック消費ＴＰＥがいつ実行され得るかを指し示すスケジューラ１１６によって適用される基準又はルールを規定する。
【００１３】
[0018]一実施形態において、電力限度は、電力引き込み、電流引き込みに基づいて、又は電圧レベルもしくは電圧変動によって、あるいはそれらのなんらかの組合せで、環境モニタ１１８によって評価されてよい。電力関連閾値は、瞬時に評価されても、なんらかの時間の期間にわたって平均化されてもよい。同様に、温度値は、ユニット温度、ボード温度、又はプロセッサーコアもしくはパッケージセンサから測定された温度として評価されてよい。一実施形態において、これらの温度は、周期的な瞬時値を取ること、もしくはなんらかの時間の期間にわたって温度読み取り値を平均化することによって、又はいくつかの温度読み取り値を考慮に入れることによってでさえ、モニタリングする目的のために評価されてよい。検出は、ソフトウェア、ハードウェアによって、又はハードウェアとソフトウェアのなんらかの組合せを通して遂行されてよい。代替実装形態においては、電力閾値及び／又は温度閾値に、履歴現象により、又は履歴現象なしで、実効性を持たせる（ｅｎｆｏｒｃｅ）ことができる。
【００１４】
[0019]図２は、システム１００のためにスケジューラ１１６によってスケジュールされる周期的で恣意的な時間期間２０２の例を、２００で示す図である。いくつかの実施形態において、時間期間２０２は、繰り返し生じる時間スロットなどの、より大きなフレームの繰り返し生じる時間期間であってよい。しかしながら、これが必ずしも当てはまるわけではなく、なんらかの他の原則で割り当てられたＴＰＥを実行するために時間バジェットされた単なるいくらかの時間長であってもよい。図２において、バジェットされたＴＰＥ２１０は、時間期間２０２の間に実行されるようにスケジュールされ、そのタスクを完了するために時間期間２０２の全時間を、スケジューラ１１６によって保証される。バジェットされたＴＰＥ２１０が時間期間２０２の完了よりも前にそのタスクを完了した場合、時間期間２０２に残っている時間の残余（２０５で示される）は、環境的に調整されたスラック（ＥＲＳ：ｅｎｖｉｒｏｎｍｅｎｔａｌｌｙ  ｒｅｇｕｌａｔｅｄ  ｓｌａｃｋ）２２０を含む。ＥＲＳ２２０は、時間期間２０２に残っている時間の全部又は一部を占めるように、スラック消費ＴＰＥに割り当てられてよいスラック時間を含む。スラック消費ＴＰＥを実行するためにＥＲＳ２２０が割り当てられるか否かは、環境モニタ１１８によって定義された現在の動作状態に、スラック時間割り当てポリシー１１９を適用することに基づいて、スケジューラ１１６によって判定される。
【００１５】
[0020]図２Ａは、バジェットされたＴＰＥ、スラック消費ＴＰＥ、又はそれらのなんらかの組合せを実行するために、スケジューラ１１６によってスケジュールされてよい別個の時間期間（２０２Ａ、２０２Ｂ、２０２Ｃ・・・２０２Ｑで示される）の別のシーケンスを２５０で示す。いくつかの実施形態において、図２Ａに示される時間期間の各個は等しい時間長であってよいが、他の実施形態においては必ずしもそうであるわけではない。２５２で示されるように、シーケンスにおける第１の時間期間２０２Ａでは、バジェットされたＴＰＥ「Ｘ」が実行され、ＴＰＥ「Ｘ」は、スケジューラ１１６が割り当てるためのスラック時間を残さずに、その時間期間の全体を消費する。ＴＰＥ「Ｘ」は、そのクリティカルなタスクを実施するのに十分なバジェットされた時間を提供されながらも、補助的なタスクを実行するための追加的な時間を所望し、その目的のためにスケジューラ１１６にスラック時間を要求することもまたできることに留意されたい。したがって、それ自体のバジェットされた時間期間の間に「バジェットされたＴＰＥ」として分類されるＴＰＥは、他のバジェットされたＴＰＥにバジェットされる他の時間期間のスラック時間の間に実行された場合、又はスラック消費ＴＰＥのために取っておかれた時間期間の間に実行された場合に、スラック消費ＴＰＥとして分類されてよい。いくつかの場合において、他のＴＰＥは、純粋なスラック消費であってよく、もっぱら利用可能なスラック時間の間に実行されてよい。そのような純粋なスラック消費は、いかなる実行時間も決して保証されない優先度の低いタスクである。時間期間２０２Ｂ及び２０２Ｃは、それぞれのバジェットされたＴＰＥ  Ｙ及びＴＰＥ  Ｚを実行する。これらの時間期間の各個において環境的に調整されたスラックのために利用可能な処理時間の残余は、それぞれのバジェットされたＴＰＥ  Ｙ及びＴＰＥ  Ｚによってどのくらいの時間期間が消費されたかに依存することになる。時間期間２０２Ｑの例によって示されるように、いくつかの時間期間は、オプションで、スラック消費ＴＰＥを実行するための環境的に調整されたスラックとして完全に専用であってもよく、クリティカルなＴＰＥにバジェットされなくてよい。したがって、実行時間を保証される特定のスラック消費ＴＰＥがなくとも、現在の動作環境状態が許せば、時間期間２０２Ｑを用意することにより、分割のサイクルごとに、少なくともなんらかのスラック時間が利用可能になることを提供する。また、１つ又は複数の時間期間が、条件付きでスケジュールされるＴＰＥのために確保されてもよい。そのような時間期間は、特定のＥＲＳ消費ＴＰＥのために使用されることになる、またそうでない場合には制限されたスラックとなる、時間ラインにおいて確保された時間の時間長を提示する。
【００１６】
[0021]図２Ｂに２６０で示されるなどの別の実施形態において、バジェットＴＰＥ（たとえば、ＴＰＥ  Ａ）がそのバジェットされた時間期間２０２のすべてを使用できない場合、ＴＰＥ  Ａは、早めに完了することになり、次のＴＰＥ（たとえば、ＴＰＥ  Ｂ）が、時間の中に移動して早めに開始することを許可される。その場合、その時間ラインの中にいくつかのより少ないスラック時間機会を発生させるのではなく、バジェットされたＴＰＥを実行するための各連続した時間期間が、（そのように構成されている場合）早めに開始する機会を有する。バジェットＴＰＥ  Ｂもまたスラック消費物として構成されている場合、ＴＰＥ  Ｂは、時間期間２０２Ｅのその元々構成された終了時間を超えてまでその実行時間を延長することはできないが、潜在的には、そのスケジュールされた時間長（すなわち、その元々の時間期間２０２Ｅの時間長）を超えて、時間ラインにおいてより早い時間期間から積み上げられたスラックを使い切ることができる。同様に、時間ラインの終了時にスケジュールされてよい「クリーンアップ」時間期間は、そのときまでに積み上げられたスラック時間の全部を引き継ぐ。図２Ａの時間期間２０２Ｑは、そのような目的のために実装されてよい。さらに別の実施形態において、時間分割化したＲＭＡは、専用の時間スロットを全く有さなくてもよい。むしろ、ＴＰＥバジェットの総合計が、処理コア１１２の容量の１００％又はそれ以下に合わなければならない場合、異なる時間期間からのＴＰＥの集まりが存在する。この場合、そのバジェットされた時間の分け前よりも少なく使用するＴＰＥは、スラックプールに献上する。後ほどＴＰＥは、そのように構成されている場合、スラック消費物としてその時間を使用することができる。バジェットされていないＣＰＵ時間は、当然ながら、デフォルトでスラックプールに含まれる。
【００１７】
[0022]動作においては、現在の動作環境状態が一層厳しくなり、スラック時間を使用するためのマージンが一層制約されるようになる条件の間、スラック時間がどのように抑制されるか、又は切り詰められるかにおいて柔軟性を提供するように、スラック時間割り当てポリシー１１９が適応され得る。スラック消費ＴＰＥのスケジューリングは、温度又は電力使用量が増加するにつれて、必須でないタスク活動が、徐々に規模を縮小し、完全に却下さえされるやり方で制御されてよい。スラック時間割り当てポリシー１１９に規定される特定の閾値は、実装依存であってよい。環境的に調整されたスラックの切り詰めは、時間ラインパーセンテージ、優先度値、もしくはスケジューラ１１６が解釈する数値表示（ｎｕｍｅｒｉｃ  ｉｎｄｉｃａｔｉｏｎ）を介して、又は一定のフレーム内のみで必須でないスケジューリングを許可するようにスケジューラ１１６に伝えられるフレームマップを介して、又は特定のアプリケーションもしくはスケジューリング能力（プロセッサースラックなど）を無効にする／却下するコマンドを通して、遂行され得る。たとえば、一実装形態において、ますます厳しくなる動作環境状態の階層に基づいて、環境的に調整されたスラックの割り当てが、ますます切り詰められてよい。
【００１８】
[0023]スラック時間割り当てポリシー１１９の適用に起因して、スラック消費ＴＰＥを実行するためにオフリミットである環境的に調整されたスラックは、本明細書で、制限されたスラック時間と呼ばれる。いくつかの実装形態において、環境的に調整されたスラックが制限されたスラック時間として指定されるとき、制限されたスラック時間期間の間に実行するように許可されるＴＰＥはなく、プロセッサー１１２に休止することを許可する。いくつかの実施形態においては、制限されたスラック時間の間、プロセッサー１１２は、プロセッサー電力消費及び熱発生をさらに減少させるスリープ状態に置かれてもよい。たとえば、一実施形態において、すべての環境的に調整されたスラックが切り詰められる時間期間、又はそうでなければ割り当てられないままでいる時間期間の間に、オプションのボード・サポート・パッケージ（図１に１１３で示され、プロセッサー１１２に結合されている）が呼び出されてよい。これは、通例、次の割り込みまで、又は周期的な分割スケジューリング時点が生じるまで、プロセッサー１１２をスリープにする機会を提供する。他の実装形態においては、制限されたスラック時間の間、環境的に調整されたスラックが、スラック消費ＴＰＥの限定された既定のサブセットのみへの割り当てに制限される。
【００１９】
[0024]図３Ａは、現在の動作環境状態のために、時間期間３１０Ｑが、現在の動作環境状態に起因して、完全に制限されたスラック時間となるようにスケジューラ１１６によって指定される、例示的な一実装形態を３００で示す。この例において、スケジューラ１１６は、ＴＰＥを実行するために時間期間３１０Ｑのうちの少しも割り当てず、その結果、プロセッサー１１２は、分割のこのサイクルの間、少なくとも時間期間３１０Ｑの時間長を休止期間として提供されることが確実である。図３Ｂは、スラック消費ＴＰＥがいくつかの分割の中では割り当てられることを許され、しかし他の分割の中では許されない、別の例示的な実装形態を３５０で示す。たとえば、環境的に調整されたスラックは、時間期間３６０Ａにおいて（バジェットされたＴＰＥ  Ｗが完了した後に）、及び３６０Ｃにおいて（バジェットされたＴＰＥ  Ｙが完了した後に）利用可能であるが、時間期間３６０Ａ及び３６０Ｃに残っている時間のこれらの未使用の残余は、制限されたスラック時間として指定される。一方で、環境的に調整されたスラックはまた、時間期間３６０Ｂにおいて（バジェットされたＴＰＥ  Ｘが完了した後に）、及び３６０Ｄにおいて（バジェットされたＴＰＥ  Ｚが完了した後に）利用可能であり、ここでは、環境的に調整されたスラックは、制限されたスラック時間として指定されないが、代わりに、スケジューラ１１６がスラック消費ＴＰＥに割り当てるために利用可能である。このスキームを使用すると、制限されたスラック時間を有するとして指定された時間スロットのパーセンテージを調整することによって、割り当てのためにスケジューラ１１６に利用可能な環境的に調整されたスラックのパーセンテージが、少なくともおおまかには制御可能になる。他の実施形態において、スケジューラ１１６は、任意の利用可能な環境的に調整されたスラックを、分割のある完全なサイクル（すなわち、あるフレーム）の時間期間の間、割り当てることを許されてよく、一方、次のサイクルの間は制限されてもよい。スラック消費ＴＰＥを実行するために使用するスラック時間をコンパイルするために使用される個別のスキームにかかわらず、本開示の実施形態では、そのスラック時間がいつ、及びどのように利用されてよいかは、システム１００の動作環境状態に基づいて、さらに調整されることに留意されたい。
【００２０】
[0025]さらに他の実施形態において、スラック消費ＴＰＥは、システム１００の動作環境状態に基づいて、いつ実行されてよいかをさらに調整するのに使用される、優先度値を付与されてよい。正常な動作環境状態の間は、すべてのスラック消費ＴＰＥがスケジュールするのに適格である。たとえば、そのような一実装形態において、動作環境状態が一層厳しくなるとき、比較的優先度の低いＴＰＥが切り詰められることになり、その結果、より優先度の高いスラック消費ＴＰＥのみが、環境的に調整されたスラック時間の間、スケジュールするのに適格である。環境的に調整されたスラックの優先度ベースによるスケジューリングを実装するスラック割り当てポリシー１１９の一例が、図４の例示的なポリシー４００において提供される。４１０で第１のコラムに示されるように、環境モニタ１１８によって付与された動作環境状態は、動作環境センサ１２０から受信された動作環境データに基づいた、いくつかの状態のうちの１つであってよい。この個別の例では、４つの状態、すなわち、正常、低レベルでの閾値超え、中レベルでの閾値超え、及び高レベルでの閾値超えが、環境モニタ１１８によって定義される。他の実装形態においては、考え得る動作環境状態の数は、４つよりも少なくても多くてもよい。コラム４２０は、コラム４１０に指し示された動作環境状態に応じて、環境的に調整されたスラックの割り当てを切り詰めるように実装されることになる優先度ベースによるルールを示す。この例では、潜在的なスラック消費ＴＰＥの母集団における各ＴＰＥが、分類され、優先度を付与される。この例では、潜在的なスラック消費ＴＰＥは、優先度１、２、又は３のいずれかとして分類され、優先度１のＴＰＥが最も高い優先度であり、優先度３のＴＰＥが最も低い優先度である。他の実装形態においては、潜在的なスラック消費ＴＰＥに付与される考え得る優先度レベルの数は、３つよりも少なくても多くてもよい。環境モニタ１１８によって判定された動作環境状態が正常である（たとえば、温度及び／又は電力関連閾値を超えるものがないことを指し示す）とき、その場合、制限されたスラック時間として指定される環境的に調整されたスラックはなく、スケジューラ１１６は、動作環境問題を緩和する必要なしに、スラック消費ＴＰＥを自由にスケジュールする。指定された低レベルでの１つ又は複数の閾値を超えたとき、その場合、優先度３のスラック消費ＴＰＥが、制限されたスラック時間の間、スラックを利用するのを許可されないことになり、一方で、優先度１及び２のＴＰＥは、スケジューラ１１６によってスラックを利用するようにスケジュールされ続けてよい。指定された中レベルでの１つ又は複数の閾値を超えたとき、その場合、優先度２及び優先度３のスラック消費ＴＰＥが、制限されたスラック時間の間、スラックを利用するのを許可されないことになる。優先度１のＴＰＥのみが、制限されたスラック時間の間、スケジューラ１１６によってスケジュールされ続けてよい。指定された高レベルでの１つ又は複数の閾値を超えたとき、その場合、優先度１、２、及び優先度３のスラック消費ＴＰＥが、制限されたスラック時間の間、スラックを利用するのを許可されないことになる。いくつかの実装形態においては、優先度ベースによるスラック割り当てポリシーは、図３Ａ及び／又は図３Ｂに関して上で論じられるなどの分割ベースによる割り当ての切り詰めと組み合わされてもよいことに留意されたい。すなわち、そのような実装形態においては、優先度ベースによるスラック割り当てポリシーは、制限されたスラック時間として指定された環境的に調整されたスラックを含む時間期間にのみ適用され、制限されたスラック時間として指定されていない環境的に調整されたスラックを含む時間期間には適用されないことになる。
【００２１】
[0026]図５は、本開示の一実施形態の方法５００を示す流れ図である。方法５００は、上で説明された実施形態のうちのいずれか１つを使用して実装されてよいことを理解されたい。したがって、方法５００の要素は、上で説明された実施形態の要素と併せて、組み合わせて、又は上で説明された実施形態の要素の代わりに、使用されてよい。さらに、上で説明されたそのような実施形態についての機能、構造、及び要素の他の説明が、方法５００の同様の名前の付いた要素に適用されてもよく、その逆もまた同じである。一実施形態において、方法は、現在の時間期間の開始時に、バジェットされたＴＰＥを実行するステップによる５１０で始まり、現在の分割の中に残された利用可能な時間により、バジェットされたＴＰＥがいつ実行を完了したかを判定するステップを含む５２０へと進む。図２にあらかじめ示されたように、時間期間の間に実行するようにスケジュールされているバジェットされたＴＰＥは、そのタスクを完了するために時間期間の全時間を、システムスケジューラによって保証される。バジェットされたＴＰＥが、その利用可能な時間のすべてを使用する前にそのタスクを完了するとき、その時間期間に残っている時間の残余は、目下再割り当てのために自由な環境的に調整されたスラック（ＥＲＳ）を含む。本開示の実施形態では、１つ又は複数のシステム処理コアに関連付けられた１つ又は複数の動作環境パラメータの測定値（たとえば、温度及び／又は電力の測定値）に基づいて、その環境的に調整されたスラックが、スラック消費ＴＰＥを実行するために割り当てられるかどうかが判定される。この判定は、現在の動作状態によって指図されたとおりに、スラック時間割り当てポリシーにおいて定義されたルールを適用することに基づいて行われてよい。方法は、５１０で始まり、５２０へと進むことができるが、いくつかの実装形態においては、方法は、代わりに５３０で始まることがあり、たとえば、その間に実行されるバジェットされたＴＰＥがない、上で論じられた時間期間２０２Ｑなどの時間期間について当てはまることになる。
【００２２】
[0027]５３０で、方法は、時間分割化した処理システム上で実行するために、少なくとも１つのスラック消費ＴＰＥが、いつスラック時間の割り当てを要求しているかを判定するステップに進む。要求していない場合、割り当てを行う必要は存在しない。要求している場合、方法は、少なくとも１つの動作環境センサからのデータに基づいて、現在の動作環境状態を計算するステップによる５４０へと進む。上で論じられたように、現在の動作環境状態が正常であるとき、環境的に調整されたスラックの割り当ては、制限なしに許されてよいが、１つ又は複数の動作閾値を超えていることを現在の動作環境状態が指し示すときには、抑制される、又は切り詰められる。そのようなもとで、これらの割り当ての切り詰めは、損傷又は劣化を回避するために十分なマージンを維持しながら、プロセッサーが動作し続け、クリティカルなバジェットされたＴＰＥを実行し続けることを可能にする。それに応じて、方法は、現在の動作環境状態及びスラック割り当てポリシーに基づいて、時間分割化した処理システム上で実行するために、第１の時間期間において利用可能な環境的に調整されたスラックを少なくとも１つのスラック消費ＴＰＥに割り当てるステップによる５５０へと進み、ここで、スラック割り当てポリシーは、現在の動作環境状態に基づいて、環境的に調整されたスラックを割り当てるための基準を定義する。上で論じられたように、スラック消費ＴＰＥへの割り当てが切り詰められることになるとき、スラック消費ＴＰＥに割り当てられてよい時間を抑制することに基づいて、スラック消費ＴＰＥの各個に付与された優先度に基づいて、又はそれらのなんらかの組合せに基づいて、スラック割り当てポリシーは、そうするためのポリシーを実装することができる。現在の時間期間の時間長が完了すると、方法は、（５６０で示されるように）次の時間期間のために再び実施されてよい。
例示的な実施形態
[0028]時間分割化した処理システムが、少なくとも１つの処理コアと、少なくとも１つの処理コアに結合されたメモリと、少なくとも１つの処理コアのための処理時間を複数の時間期間に分割化するように構成されたスケジューラを含むリアルタイム・オペレーティングシステムであって、スケジューラが、少なくとも第１の割り当ての時間を第１のバジェットされた時間分割化したエンティティ（ＴＰＥ）に割り当てることによって、第１のバジェットされたＴＰＥを実行するための処理時間の所定の時間長をさらにバジェットする、リアルタイム・オペレーティングシステムとを含む。ここで、スケジューラは、使用されていない複数の時間期間内の処理時間の少なくとも一部分を利用して、第１のバジェットされたＴＰＥ又は任意の他のバジェットされたＴＰＥを、環境的に調整されたスラックとして実行し、スケジューラは、少なくとも１つの処理コアに関連付けられた１つ又は複数の動作環境パラメータの測定値に基づいて、環境的に調整されたスラックの少なくとも一部分を、１つ又は複数のスラック消費ＴＰＥに割り当てる。
【００２３】
[0029]例２は、例１のシステムを含み、ここで、第１のバジェットされたＴＰＥの実行が完了した後に残っている第１の時間期間における任意の時間の残余は、環境的に調整されたスラックとしてスケジューラによって利用される。
【００２４】
[0030]例３は、例１から例２のいずれかのシステムを含み、ここで、複数の時間期間のうちの少なくとも１つの時間期間は、バジェットされたＴＰＥをスケジュールするために利用されず、環境的に調整されたスラックとして利用される。
【００２５】
[0031]例４は、例１から例３のうちのいずれかのシステムを含み、システムは、スケジューラと通信している環境モニタと、環境モニタに結合された少なくとも１つの動作環境センサであって、少なくとも１つの処理コアに関連付けられた１つ又は複数の動作環境パラメータのうちの少なくとも１つを測定し、１つ又は複数の動作環境パラメータに基づいて動作環境状態を環境モニタが判定する、少なくとも１つの動作環境センサと、スケジューラにアクセス可能なスラック割り当てポリシーであって、環境的に調整されたスラックを割り当てるためのルールを定義するスラック割り当てポリシーとをさらに含む。ここで、スケジューラは、環境モニタによって判定された動作環境状態及びスラック割り当てポリシーに基づいて、環境的に調整されたスラックを、１つ又は複数のスラック消費ＴＰＥに割り当てる。
【００２６】
[0032]例５は、例４のシステムを含み、ここで、動作環境閾値を超えることを動作環境状態が指し示すとき、スケジューラは、環境的に調整されたスラックの部分を、環境的に調整されたスラックの前記部分のスラック消費ＴＰＥへの割り当てがその間に少なくとも部分的に切り詰められる、制限されたスラック時間として指定する。
【００２７】
[0033]例６は、例４から例５のいずれかのシステムを含み、ここで、スケジューラは、優先度に基づいて、環境的に調整されたスラックのスラック消費ＴＰＥへの割り当てを切り詰める。
【００２８】
[0034]例７は、例４から例６のうちのいずれかのシステムを含み、ここで、スケジューラは、割り当てに適格な環境的に調整されたスラックのパーセントを減少させることによって、環境的に調整されたスラックのスラック消費ＴＰＥへの割り当てを切り詰める。
【００２９】
[0035]例８は、例４から例７のうちのいずれかのシステムを含み、ここで、環境モニタによって判定された動作環境状態及びスラック割り当てポリシーに基づいて、少なくとも１つのスラック消費ＴＰＥに割り当てられていない環境的に調整されたスラックの期間の間、少なくとも１つの処理コアがスリープ状態に置かれる。
【００３０】
[0036]例９は、少なくとも１つの処理コアに結合されたボード・サポート・パッケージをさらに含む例８のシステムを含み、ここで、ボード・サポート・パッケージは、割り込みまで、又は周期的な分割スケジューリング時点が生じるまで、少なくとも１つの処理コアをスリープ状態に置く。
【００３１】
[0037]例１０は、例１から例９のうちのいずれかのシステムを含み、ここで、少なくとも１つの処理コアに関連付けられた１つ又は複数の動作環境パラメータは、温度測定値、少なくとも１つの処理コアによって引き込まれた電力もしくは電流の測定値、電圧レベルの測定値、電流の測定値、電力もしくは電圧の変動、又は少なくとも１つの処理コアへの電力供給の出力の測定値のうちの、少なくとも１つを含む。
【００３２】
[0038]例１１は、時間分割化した処理システム用のスラック割り当ての環境的調整のための方法を含み、方法は、時間分割化した処理システム上で実行するために、少なくとも１つのスラック消費する時間分割化されたエンティティ（ｓｌａｃｋ  ｃｏｎｓｕｍｉｎｇ  ｔｉｍｅ  ｐａｒｔｉｔｉｏｎｅｄ  ｅｎｔｉｔｙ）（ＴＰＥ）が、いつスラック時間の割り当てを要求しているかを判定するステップと、少なくとも１つの動作環境センサからのデータに基づいて、現在の動作環境状態を計算するステップと、現在の動作環境状態及びスラック割り当てポリシーに基づいて、時間分割化した処理システム上で実行するために、第１の時間期間において利用可能な環境的に調整されたスラックを、少なくとも１つのスラック消費ＴＰＥに割り当てるステップとを含む。ここで、スラック割り当てポリシーは、現在の動作環境状態に基づいて、環境的に調整されたスラックを割り当てるための基準を定義する。
【００３３】
[0039]例１２は、現在の時間期間の開始時に、バジェットされたＴＰＥを実行するステップと、現在の時間期間に残された利用可能な時間により、バジェットされたＴＰＥがいつ実行を完了したかを判定するステップとをさらに含む例１１の方法を含み、ここで、利用可能な環境的に調整されたスラックを割り当てるステップは、現在の時間期間内に環境的に調整されたスラックを割り当てるステップを含む。
【００３４】
[0040]例１３は、例１１から例１２のいずれかの方法を含み、ここで、現在の動作環境状態を計算するステップは、動作環境センサから、時間分割化した処理システムの少なくとも１つの処理コアに関連付けられた１つ又は複数の動作環境パラメータを入力するステップをさらに含む。
【００３５】
[0041]例１４は、例１３の方法を含み、ここで、少なくとも１つの動作環境センサは、時間分割化した処理システムの内部にある。
[0042]例１５は、例１１から例１４のうちのいずれかの方法を含み、ここで、現在の動作環境状態を計算するステップは、時間分割化した処理システムの少なくとも１つの処理コアに関連付けられた１つ又は複数の動作環境パラメータを測定するステップをさらに含み、１つ又は複数の動作環境パラメータは、温度測定値、少なくとも１つの処理コアによって引き込まれた電力もしくは電流の測定値、電圧レベルの測定値、電流の測定値、電力もしくは電圧の変動、又は少なくとも１つの処理コアへの電力供給の出力の測定値のうちの、少なくとも１つを含む。
【００３６】
[0043]例１６は、動作環境閾値を超えることを動作環境状態が指し示すとき、少なくとも１つのスラック消費ＴＰＥに関連付けられた優先度に基づいて、環境的に調整されたスラックのスラック消費ＴＰＥへの割り当てを切り詰めるステップをさらに含む、例１１から例１５のうちのいずれかの方法を含む。
【００３７】
[0044]例１７は、動作環境閾値を超えることを動作環境状態が指し示すとき、割り当てに適格な環境的に調整されたスラックのパーセントを減少させることによって、環境的に調整されたスラックのスラック消費ＴＰＥへの割り当てを切り詰めるステップをさらに含む、例１１から例１６のうちのいずれかの方法を含む。
【００３８】
[0045]例１８は、少なくとも１つのスラック消費ＴＰＥに割り当てられていない環境的に調整されたスラックの期間の間、時間分割化した処理システムの少なくとも１つの処理コアをスリープ状態に置くステップをさらに含む、例１１から例１７のうちのいずれかの方法を含む。
【００３９】
[0046]例１９は、例１８の方法を含み、ここで、少なくとも１つの処理コアをスリープ状態に置くステップは、少なくとも１つの処理コアに結合されたボード・サポート・パッケージを呼び出すステップをさらに含み、ボード・サポート・パッケージは、割り込みまで、又は周期的な分割スケジューリング時点が生じるまで、少なくとも１つの処理コアをスリープ状態に置く。
【００４０】
[0047]さまざまな代替実施形態において、この開示全体を通して説明されたシステム要素、方法ステップ、又は例（たとえば、時間分割化した処理システム、スケジューラ、環境モニタ、動作環境センサ、又はそれらのサブ部品など）は、１つ又は複数のコンピュータシステム、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）、システム・オン・チップ（ＳＯＣ）、グラフィック処理ユニット（ＧＰＵ）、特定用途向け集積回路（ＡＳＩＣ）、又は（たとえば、図１に示されるなどの）メモリに結合されたプロセッサーを含む同様のデバイスを使用して、かつそれらの要素を実現するためのコード、プロセス、又は例を実行して実装されてよく、前記コードは、非一時的なデータストレージデバイス上に記憶されてよい。したがって、本開示の他の実施形態は、コンピュータ可読媒体上に常駐するプログラム命令を含む要素を含むことができ、そのようなコンピュータシステムによって実装されるときに、要素が、本明細書で説明された実施形態を実装するのを可能にする。本明細書で使用されるとき、用語「コンピュータ可読媒体」は、非一時的な物理的形態を有する、有形のメモリストレージデバイスを指す。そのような非一時的な物理的形態は、限定はされないが、パンチカード、磁気ディスクもしくは磁気テープ、任意の光学データストレージシステム、フラッシュ読み出し専用メモリ（ＲＯＭ）、不揮発性ＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能なプログラマブルＲＯＭ（Ｅ−ＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、又は、物理的で有形な形態を有する、任意の他の形態の永続的、半永続的、もしくは一時的なメモリストレージシステムもしくはデバイスなどの、コンピュータメモリデバイスを含むことができる。プログラム命令は、限定はされないが、コンピュータシステムプロセッサーによって実行されるコンピュータ実行可能命令、及び超高速集積回路（ＶＨＳＩＣ）ハードウェア記述言語（ＶＨＤＬ）などのハードウェア記述言語を含む。
【００４１】
[0048]特定の実施形態が本明細書において示され、説明されてきたが、同じ目的を達成するために計算される任意の構成（ａｒｒａｎｇｅｍｅｎｔ）が、示された特定の実施形態の代わりにされてもよいことは、当業者によって認識されるであろう。本出願は、本発明の任意の改造物又は変形物を対象として含むことが意図される。したがって、本発明は、特許請求の範囲及びその均等物によってのみ限定されることが明白に意図される。
【符号の説明】
【００４２】
１００  時間分割化した処理システム
１１１  リアルタイム・オペレーティングシステム
１１２  処理コア、プロセッサーコア、プロセッサー
１１３  ボード・サポート・パッケージ
１１４  メモリ
１１６  スケジューラ
１１８  動作環境モニタ
１１９  スラック割り当てポリシー、スラック時間割り当てポリシー
１２０  プロセッサー動作環境センサ、動作環境センサ
２０２  時間期間
２０２Ａ  第１の時間期間
２０２Ｂ  時間期間
２０２Ｃ  時間期間
２０２Ｅ  時間期間
２０２Ｑ  時間期間
２０５  時間の残余
２１０  バジェットされたＴＰＥ
２２０  環境的に調整されたスラック
３１０Ｑ  時間期間
３６０Ａ  時間期間
３６０Ｂ  時間期間
３６０Ｃ  時間期間
３６０Ｄ  時間期間
【図１】
2017062779.tif 000003
【図２】
2017062779.tif 000004
【図２Ａ】
2017062779.tif 000005
【図２Ｂ】
2017062779.tif 000006
【図３】
2017062779.tif 000007
【図４】
2017062779.tif 000008
【図５】
2017062779.tif 000009
【外国語明細書】
2017062779000001.pdf