JP6271123B2 - 運用体制で動的に先占区間を調整する装置及び方法 - Google Patents

運用体制で動的に先占区間を調整する装置及び方法 Download PDF

Info

Publication number
JP6271123B2
JP6271123B2 JP2012266608A JP2012266608A JP6271123B2 JP 6271123 B2 JP6271123 B2 JP 6271123B2 JP 2012266608 A JP2012266608 A JP 2012266608A JP 2012266608 A JP2012266608 A JP 2012266608A JP 6271123 B2 JP6271123 B2 JP 6271123B2
Authority
JP
Japan
Prior art keywords
mode
current
preemptive
preoccupation
preemption
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.)
Expired - Fee Related
Application number
JP2012266608A
Other languages
English (en)
Other versions
JP2013120602A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2013120602A publication Critical patent/JP2013120602A/ja
Application granted granted Critical
Publication of JP6271123B2 publication Critical patent/JP6271123B2/ja
Expired - Fee Related 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/22Microcontrol or microprogram arrangements
    • 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/54Interprogram communication
    • 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
    • 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
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)

Description

本発明は、各種の運用体制で多様な応用及びサービスによって動的に先占区間を調整する技術に関する。
最近、コンピュータ技術の発達につれて、運用体制も発展しつつある。現在の運用体制は、特定のアプリケーションの要求事項に最適化されてデザインされており、大きく性能を極大化するための運用体制とリアルタイム性を極大化するための運用体制とに分類されうる。前者としては、サーバやデスクトップまたはモバイル用運用体制として、ウィンドウズ(登録商標)、リナックス(登録商標)、アンドロイド、MacOSなどがあり、後者としては、Nucleus、RTLinux(登録商標)、VxWorksなどがある。今後のコンピューティング環境は、最近増加しているIT融複合化傾向によって、多様なアプリケーションが混在する趨勢である。しかし、現在の一般的な運用体制は、特定の目的に最適化されるように設計されていて、スマートカーまたはパーソナルヘルス機器のように、リアルタイム性を要求するアプリケーションと処理効率性を優先する一般アプリケーションなど多様なアプリケーションの要求事項を満足させるのに限界がある。
本発明の目的は、運用体制で動的に先占区間を調整する装置及び方法を提供することである。
本発明の一態様によれば、運用体制で動的に先占区間を調整する装置は、システムコンテキスト(System Context)の変更有無をモニタリングし、現在のシステムコンテキストが変更されれば、その変更されたシステムコンテキストによって、現在先占モードを設定して、カーネルの先占区間(Preemption Section)を動的に調整するプリエンプションマネージャー(Preemption Manager)を含む。
この際、現在先占モードは、システムコンテキストのリアルタイム処理要求程度によって、細分化された非先占モード(Non Preemption Mode)、一般先占モード(General Preemption Mode)、及び完全先占モード(Fully Preemption Mode)のうちの何れか1つであり得る。
各先占モードは、システムコンテキストのリアルタイム処理要求程度によって、再び細部的な先占レベルに区分され、プリエンプションマネージャーは、設定された現在先占モードの細部的な先占レベルをさらに設定して、カーネルの先占区間を動的に調整することができる。
その装置は、設定された現在先占モードによって、ISR(Interrupt Service Routine)の処理方法を動的に変更するインタラプトコンテキストマネージャー(Interrupt Context Manager)をさらに含みうる。
ハードウェアインタラプトが発生する時、そのインタラプトコンテキストは、現在先占モードをチェックし、インタラプトコンテキストマネージャーは、設定された現在先占モードが非先占モードであれば、インタラプトコンテキストモード(Interrup Context Mode)でISRを引き続き行わせ、非先占モードでなければ、インタラプトスレッドモード(Interrupt Thread Mode)でISRを行わせうる。
その装置は、カーネルサービスルーチン(Kernel Service Routine)で、カーネルのカーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、現在スレッドの再スケジュールチェック如何を動的に変更するプリエンプションポイントマネージャー(Preemption Point Manager)をさらに含みうる。
プリエンプションポイントは、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションを含みうる。プリエンプションポイントマネージャーは、現在先占モードによって、現在スレッドの再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止または許容することができる。
プリエンプションポイントマネージャーは、カーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、現在先占モードが非先占モードであるか否かを決定することができる。その決定の結果、現在先占モードが非先占モードであれば、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止し、現在先占モードが非先占モードでなければ、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を許容することができる。
その装置は、カーネルがスピンロック(Spin Lock)を有したタスクを行う時、現在先占モードによって、そのタスクを行うカーネルに、動的にスピンロックミューテックス(mutex)を使わせるプリエンプティブロックマネージャー(Preemptive Lock Manager)をさらに含みうる。
その装置は、IPC(Inter−Process Communication)が行われれば、現在先占モードによって、IPCのタイムアウトを動的に調整し、システムコールが生成されれば、現在先占モードによって、そのシステムコールを同期式または非同期式に行わせるプリエンプティブIPC/SysCallマネージャーをさらに含みうる。
プリエンプティブIPC/SysCallマネージャーは、現在先占モードが非先占モードであるか否かを決定し、その結果、現在先占モードが非先占モードであれば、そのシステムコールを非同期式に行わせ、現在先占モードが非先占モードでなければ、そのシステムコールを同期式に行わせうる。
その装置は、設定された現在先占モードによって、リアルタイム処理が要求されるタスクが、TLB(Translation Lookaside Buffer)でフラッシュ(flush)されないように動的にTLBロックダウン(Lockdown)を設定または解除するプリエンプティブHWマネージャーをさらに含みうる。
本発明の一態様によれば、運用体制で動的に先占区間を調整する方法は、システムコンテキストの変更有無をモニタリングする段階と、モニタリング結果、現在システムコンテキストが変更されれば、その変更されたシステムコンテキストによって、現在先占モードを設定して、カーネルの先占区間を動的に調整する段階と、を含む。
この際、現在先占モードは、システムコンテキストのリアルタイム処理要求程度によって、細分化された非先占モード、一般先占モード、及び完全先占モードのうちの何れか1つであり得る。
各先占モードは、システムコンテキストのリアルタイム処理要求程度によって、再び細部的な先占レベルに区分され、カーネルの先占区間を動的に調整する段階は、設定された現在先占モードの細部的な先占レベルをさらに設定して、カーネルの先占区間を動的に調整することができる。
その方法は、現在先占モードによって、ISRの処理方法を動的に変更する段階をさらに含みうる。
ISRの処理方法を変更する段階は、ハードウェアインタラプトが発生すれば、設定された現在先占モードを確認する段階と、確認の結果、現在先占モードが非先占モードであれば、インタラプトコンテキストモードでISRを引き続き行わせ、非先占モードでなければ、インタラプトスレッドモードでISRを行わせる段階と、を含みうる。
その方法は、カーネルサービスルーチンで、カーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、現在スレッドの再スケジュールチェック如何を動的に変更する段階をさらに含みうる。
プリエンプションポイントは、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションを含みうる。現在スレッドが、再スケジュール要否をチェックするか否かを動的に変更する段階は、現在先占モードによって、現在スレッドの再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止または許容する段階を含みうる。
コードセクションの実行を防止または許容する段階は、カーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、現在先占モードが非先占モードであるか否かを決定し、その決定の結果、現在先占モードが非先占モードであれば、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止し、現在先占モードが非先占モードでなければ、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を許容することができる。
その方法は、カーネルがスピンロックを有したタスクを行う時、現在先占モードによって、そのカーネルに、動的にスピンロックまたはミューテックスを使って、タスクを行わせる段階をさらに含みうる。
その方法は、IPCが行われれば、現在先占モードによって、IPCのタイムアウトを動的に調整し、システムコール(System Call)が生成されれば、現在先占モードによって、そのシステムコールを同期式または非同期式に行わせる段階をさらに含みうる。
システムコールを同期式または非同期式に行わせる段階は、現在先占モードが非先占モードであるか否かを決定する段階と、その結果、現在先占モードが非先占モードであれば、そのシステムコールを非同期式に行わせる段階と、現在先占モードが非先占モードでなければ、そのシステムコールを同期式に行わせる段階と、を含みうる。
その方法は、現在先占モードによって、リアルタイム処理が要求されるタスクが、TLBでフラッシュされないように動的にTLBロックダウンを設定する段階をさらに含みうる。
本発明の一実施形態によって運用体制で動的に先占区間を調整する装置のブロック図である。 本発明の一実施形態によって運用体制で動的に先占区間を調整する方法の例示図である。 本発明の一実施形態によってISR遂行方法を動的に調整する方法を示す図である。 本発明の一実施形態によってプリエンプションポイント遂行手続きを動的に調整する方法を示す図である。 本発明の一実施形態によってシステムのロック方法が動的に調整される例示図である。 本発明の一実施形態によってシステムコール遂行方法を動的に調整する例示図である。 本発明の一実施形態によってTLBロックダウンを動的に設定する方法の例示図である。
その他の実施形態の具体的な事項は、詳細な説明及び図面に含まれている。本発明の利点及び特徴、そして、それらを果たす方法は、添付される図面と共に詳細に後述されている実施形態を参照すると、明確になる。しかし、本発明は、以下で開示される実施形態に限定されるものではなく、互いに異なる多様な形態で具現され、単に本実施形態は、本発明の開示を完全にし、当業者に発明の範疇を完全に知らせるために提供されるものであり、本発明は、請求項の範疇によって定義されるだけである。明細書の全体に亘って同じ参照符号は、同じ構成要素を指称する。
以下、実施形態によって、運用体制で動的に先占区間を調整する装置及び方法を説明するために、図面を参考にして詳しく説明する。
図1は、本発明の一実施形態による運用体制で動的に先占区間を調整する装置のブロック図である。本実施形態による動的に先占区間を調整する装置100は、ハードウェアまたはハードウェアとソフトウェアとの組み合わせであり、その装置100の各構成は、ハードウェア構成、ソフトウェア構成またはハードウェアとソフトウェアとの組み合わせの構成で具現可能である。
図1に示したように、動的に先占区間を調整する装置100は、プリエンプションマネージャー110を含む。オペレーティング区間(operating section)で先占区間は、運用体制(operating system)で現在行われる1つのプロセス(process)が他のプロセスが行われることを可能にする、特定の条件下で先占する区間(section)である。プリエンプションマネージャー110は、システムコンテキストの変更有無をモニタリングする。現在システムコンテキストが変更されれば、その変更されたシステムコンテキストによって、現在先占モード(Current Preemption Mode)を設定して、カーネル(Kernel)の先占区間を動的に調整することができる。
この際、システムコンテキストは、ユーザ選好度、デバイスコンテキスト(例:デバイスとセンサーの状態)、サービスコンテキスト(例:現在のQoS状態)、及び周辺環境(例:リアルタイム性タスク、システムオーバーヘッド、位置など)を含みうる。すなわち、プリエンプションマネージャー110は、システムコンテキストによって、カーネルが如何なる先占モードで動作するかを設定するものであって、カーネルのアーキテクチャーによって、ユーザまたはカーネルレイヤで動作可能になるように具現可能である。
プリエンプションマネージャー110は、リアルタイム性タスクが登録されるか、デバイスコンテキストの変更のようにシステムコンテキストが変更されれば、これをモニタリングして、変更されたシステムコンテキストに適した先占モードを現在の先占モードとして設定する。この際、先占モードは、システムコンテキストのリアルタイム処理が要求される程度によって、非先占モード、一般先占モード、及び完全先占モードの3段階に大きく細分化されうる。但し、これは、1つの例示に過ぎず、先占モードの細分化程度は、システムコンテキスト、すなわち、システムが処理する各アプリケーションや各種のタスク、インタラプトなどのリアルタイム処理要求程度によって、ユーザまたは開発者などが多様な段階にあらかじめ調節することができる。
非先占モードは、エンベデッドサーバ(Embedded server)やデータストリーミング(Data Streaming)アプリケーションのように、リアルタイム処理よりも高い処理効率性が要求されるアプリケーションが実行される環境で設定しうる。
一般先占モードは、マルチメディア、ゲームなどの一般アプリケーションと普通のリアルタイム処理を要求するアプリケーションとが混在されて実行される環境で設定しうる。
完全先占モードは、ヘルスケアモニタリングや運転者監視、カークラッシュアラーム(Car−crash alarm)などの処理効率よりもリアルタイム処理が非常に重要なアプリケーションが実行される環境で設定しうる。
一方、運用体制で使える先占区間を全体100%と仮定すれば、完全先占モードは100%、一般先占モードは80%、非先占モードは20%の先占区間を使用できるように設定しうる。このように、システムコンテキストによって、前記の先占区間を多様に細分化し、動的に設定することによって、多様な運用体制で多様なアプリケーション環境の要求事項を最適に保証することができる。
各先占モードは、再び細部的な先占レベルに区分されうる。すなわち、100%の先占区間を使える完全先占モードとして設定されるアプリケーションの場合にも、リアルタイム処理要求程度は異なるので、そのアプリケーションのリアルタイム処理要求程度によって、先占区間の80%から100%の間をさらに細部的な先占レベル(例:1%、5%または10%単位など)に細分化することができる。同様に、一般先占モードは、リアルタイム処理と処理効率の調和の要求程度によって、先占区間の20%から80%範囲内で細部的な先占レベル(例:1%、5%または10%単位)に区分されうる。また、非先占モードは、処理効率の要求程度によって、先占区間の0%から20%範囲内で多数の詳細先占レベルに区分されうる。プリエンプションマネージャー110は、現在先占モードを設定し、その現在先占モードの細部的な先占レベルをさらに設定して、カーネルの先占区間を動的に調整することができる。前記の特定パーセントは、単純な例に過ぎず、それ以上の多様なパーセントが状況に応じて使われる。
本発明の追加的な態様によれば、動的に先占区間を調整する装置100は、インタラプトコンテキストマネージャー120をさらに含みうる。インタラプトコンテキストマネージャー120は、プリエンプションマネージャー110によって設定された現在先占モードによって、ISRの処理方法を動的に変更することができる。さらに具体的に、インタラプトコンテキストマネージャー120は、ハードウェアインタラプトが発生すれば、現在先占モードを確認して、現在先占モードが非先占モードであれば、インタラプトコンテキストモードでISRを引き続き行わせ、非先占モードでなければ、例えば、現在先占モードが一般先占モードであるか、完全先占モードであれば、インタラプトスレッドモードでISRが行われるように変更することができる。
特定インタラプトがシステムに印加されれば、ハードウェアによって定められたインタラプトベクトル(interrupt vector)に分岐され、インタラプト前処理器は、インタラプトコンテキストモードで現在先占モードを確認する作業を行う。ここで、インタラプトベクトルとは、インタラプトが発生した時、そのインタラプトを処理することができるサービスルーチンのアドレスを有している空間を言う。現在先占モードが非先占モードである場合には、リアルタイム性が重要視されない環境であるので、インタラプトコンテキストモードでISRを処理し、一般先占モードや完全先占モードである場合には、インタラプトスレッドモードでISRが処理されるようにインタラプトスレッドをスケジューリングし、ISRを処理する。インタラプトスレッドを利用すれば、インタラプト自体がスレッドに処理されるために、先占がいつでも可能であり、優先順位によってスケジューリングを変更することもできるために、処理効率に対するオーバーヘッドは多少存在するが、リアルタイム性が向上する。
また、動的に先占区間を調整する装置100は、プリエンプションポイントマネージャー130をさらに含みうる。プリエンプションポイントマネージャー130は、現在先占モードによって、カーネルサービスルーチンに挿入されたプリエンプションポイントで現在スレッドの再スケジュールチェック如何を動的に変更することができる。プリエンプションポイントは、実行時間が長くかかるカーネルサービスルーチンの初盤に挿入され、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションを含みうる。
カーネルサービスルーチンの実行がプリエンプションポイントに到逹すれば、プリエンプションポイントマネージャー130は、現在先占モードが非先占モードであるか否かを確認し、その結果、現在先占モードが非先占モードであれば、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止して、カーネルサービスルーチンが現在スレッドを引き続き行わせ、現在先占モードが非先占モードでなければ、現在スレッドの再スケジュール有無をチェックするコードセクションの実行を許容することができる。したがって、非先占モードである場合、毎度再スケジュール有無を確認しないので、リアルタイム性は多少低下するが、処理効率性は向上させうる。
動的に先占区間を調整する装置100は、プリエンプティブロックマネージャー140をさらに含みうる。プリエンプティブロックマネージャー140は、カーネルがスピンロックを有したタスクを行う時、プリエンプションマネージャー110によって設定された現在先占モードによって、動的にスピンロックまたはミューテックスのうちの何れか1つを使って、そのタスクを処理するように変更することができる。スピンロックとは、他のスレッドがロックを返還して、ロックが可能になるまで反復的にチェックし、待機することを言う。ミューテックスとは、相互排除(Mutual Exclusion)とも言うが、クリティカルセクション(Critical Section)を有したスレッドの実行時間が互いに重ならないように、それぞれ単独で実行させる技術である。多重プロセスの共有リソースに対する接近を調律するために、ロック(lock)とアンロック(Unlock)とを使う。
プリエンプティブロックマネージャー140は、設定された現在先占モードが完全先占モードであれば、スピンロックの代わりに、ミューテックスを使うように動的に調整することができる。これは、スピンロックを有している低い優先順位のタスクが遂行中である時、同じコードを行うリアルタイム性タスクが同じスピンロックを要しない場合、既にロックを有したタスクを先占して遂行可能にする。この際、同じロックをリアルタイム性タスクが必要とする場合には、待たなければならない。ミューテックスは、処理効率面では、オーバーヘッドが存在するので、プリエンプションマネージャー110によって現在先占モードが非先占モードとして設定されれば、プリエンプションロックマネージャー140は、ミューテックスコードをスピンロックコードでポインティングされるように調整して、繁忙待機(busy waiting)を行うが、処理効率面では、性能が相対的に優れたスピンロックコードを行わせうる。
本発明の追加的な態様によれば、動的に先占区間を調整する装置100は、プリエンプティブIPC/SysCallマネージャー150をさらに含みうる。プリエンプティブIPC/SysCallマネージャー150は、IPC処理時、プリエンプションマネージャー110によって設定された現在先占モードによって、IPCのタイムアウトを動的に調整するか、システムコールが行われれば、現在先占モードによって、同期式(Synchronous)または非同期式(asynchronous)に行われるように動的に調整することができる。
例えば、プリエンプティブIPC/SysCallマネージャー150は、システムコールが行われれば、現在行われたタスクが、リアルタイム性が要求されるタスクであるか否かを把握する。すなわち、プリエンプションマネージャー110によって設定された現在先占モードが、完全先占モードとしてリアルタイム処理が要求されるタスクである場合、非同期式にシステムコールを行わせ、設定された現在先占モードが、非先占モードのようにリアルタイム処理が要求されないタスクであり、同期式にシステムコールが行われるように調整することができる。
本発明の追加的な態様による動的に先占区間を調整する装置100は、プリエンプティブHWマネージャー160をさらに含みうる。プリエンプティブHWマネージャー160は、プリエンプションマネージャー110によって設定された現在先占モードによって、リアルタイム処理が要求されるリアルタイム性タスクが、TLBでフラッシュされないように動的にTLBロックダウンを設定または解除することができる。また、そのリアルタイム性タスクでページフォールト(page fault)が発生しないように、タイムクリティカル(time−critical)メモリページをピニング(pinning)することができる。TLBは、運用体制及びアプリケーションの仮想アドレスを物理アドレスに変換する時に発生するページテーブル変換オーバーヘッド(page table translation overhead)を減らすための制限されたハードウェアリソースを言う。TLBフラッシュは、内部的なアルゴリズムによって動作するために、リアルタイム処理が重要な瞬間にフラッシュが発生すれば、レイテンシー(latency)を誘発することができる。したがって、プリエンプティブHWマネージャー160は、設定された現在先占モードが完全先占モードであれば、重要なリアルタイム性アプリケーションが常にTLBに含まれるように動的にロックダウンすることができる。TLB、TLBフラッシュ及びTLBロックダウンは、この分野で既に知られた技術であるので、詳しい説明は省略する。
動的に先占区間を調整する装置100は、ユーザレベルサーバ及びタスクマネージャー(User level Server & task manager)170をさらに含みうる。ユーザレベルサーバ及びタスクマネージャー170は、プリエンプションマネージャー110によって現在先占モードが設定されれば、該設定された現在先占モードに合うように動的にユーザレイヤのプリエンプター(preempter)、インタラプトスレッド、ページャー(pager)、スケジューラなどの遂行方法を調整することができる。
図2は、本発明の一実施形態によって運用体制で動的に先占区間を調整する方法の例示図である。図2を参照して、動的に先占区間を調整する方法を具体的に説明すれば、まず、プリエンプションマネージャー110は、現在のシステムコンテキストが変更されるかをモニタリングし(段階111)、システムコンテキストが変更されれば、そのシステムコンテキストを分析する(段階121)。次いで、変更されたシステムコンテキストがヘルスケアモニタリングや運転者監視、カークラッシュアラームなどのアプリケーションが実行される場合のように、処理効率よりもリアルタイム処理が非常に重要な環境であれば(段階131)、現在先占モードを完全先占モードとして設定することができる(段階141)。
もし、分析の結果、そのシステムコンテキストが、エンベデッドサーバやデータストリーミングのように、リアルタイム処理よりも処理効率性がさらに高く要求されるアプリケーションが実行される環境であれば(段階132)、現在先占モードを非先占モードとして設定し(段階142)、そうでなければ、現在先占モードを一般先占モードとして設定することができる(段階143)。
但し、前述したように、各先占モードは、コンテキストによって多様な段階のモードに細分化されることができるので、変更されたシステムコンテキストが非常に高いリアルタイム処理要求環境であるか、処理効率性が非常に高い環境ではない一般的な環境、すなわち、多様なアプリケーションが混在されている環境では、一般先占モードをさらに細分化して設定することができる。
図3は、本発明の一実施形態によってISR遂行方法を動的に調整する方法を示す図である。プリエンプションマネージャー110によって設定された現在先占モードによって、ISR遂行方法を動的に調整する手続きについて説明する。まず、インタラプトコンテキストマネージャーは、ハードウェアでインタラプトが発生すれば(段階210)、そのインタラプトをインタラプトベクトルに分岐する(段階220)。次いで、インタラプト前処理器(interrupt pre−processing)を通じてインタラプトコンテキストモードで現在先占モードを確認し(段階230)、非先占モードであるか否かを決定する(段階240)。
もし、現在先占モードが非先占モードであれば(段階240)、リアルタイム処理が重要ではない環境であるので、そのままインタラプトコンテキストモードでISRを処理する(段階290)。
もし、現在先占モードが非先占モードでなければ、すなわち、一般先占モードであるか、完全先占モードであれば(段階240)、インタラプトスレッドモードでISRが処理されるようにインタラプトスレッドを活性化する(段階250)。次いで、現在インタラプトスレッドを優先順位によって再スケジューリングするかを判断し(段階260)、再スケジュールが必要であれば、インタラプトスレッドを再スケジューリングし(段階270)、ISRを再スケジューリング結果によって、適切な時期にインタラプトスレッドモードで行わせる(段階280)。もし、判断の結果、再スケジュールが必要でなければ、インタラプト優先順位による再スケジュールはせず、インタラプトスレッドモードでISRを行わせる(段階280)。
インタラプトスレッドを利用すれば、インタラプト自体がスレッドに処理されるために、先占がいつでも可能であり、優先順位によってスケジューリングを変更することもできるために、処理効率面でオーバーヘッドは多少存在するが、リアルタイム処理が向上する。
図4は、本発明の一実施形態によってプリエンプションポイント遂行手続きを動的に調整する方法を示す図である。図1と図4とを参照すると、プリエンプションポイントは、実行時間が長くかかるカーネルサービスルーチンの初盤に挿入されうる。プリエンプションポイントは、現在スレッドの再スケジューリングをチェックするか否かを動的に調整するコードセクションを含みうる。カーネルサービスルーチンの実行がプリエンプションポイントに到逹する時(段階310)、プリエンプションポイントマネージャー130は、現在先占モードが非先占モードであるか否かを確認する(段階320)。
確認の結果、現在先占モードが非先占モードであれば、カーネルサービスルーチンが現在スレッドの再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止して、カーネルサービスルーチンが現在スレッドを引き続き行わせ、次の動作を行わせる(段階350)。
現在先占モードが非先占モードでなければ、プリエンプションポイントマネージャー130は、カーネルサービスルーチンが現在スレッドの再スケジュールが必要であるか否かをチェックするコードセクションの実行を許容する(段階330)。
現在スレッドの再スケジュール有無をチェックして、再スケジューリングが必要であれば、カーネルサービスルーチンは、現在スレッドを再スケジューリングする(段階340)。現在スレッドの再スケジュールが必要でなければ、カーネルサービスルーチンは、現在スレッドを引き続き行い、その次の動作を行う(段階350)。
したがって、現在先占モードが非先占モードである場合、毎度再スケジューリング有無を確認する必要がないので、リアルタイム処理は多少低下するが、処理効率は向上させうる。
図5は、本発明の一実施形態によってシステムのロック方法が動的に調整される例示図である。プリエンプティブロックマネージャー140は、カーネルがスピンロックを有したタスクを行う時、設定された現在先占モードによって、動的にスピンロックまたはミューテックスを使って、そのタスクを行うように変更することができる。例えば、プリエンプティブロックマネージャー140は、設定された現在先占モードが完全先占モードであれば、スピンロックの代わりに、ミューテックスを使うように調整することができる。すなわち、スピンロックを有している低い優先順位のタスクが遂行中である時、同じコードを行うリアルタイム性タスクが同じスピンロックを要しない場合、既にロックを有したタスクを先占して行わせうる。ミューテックスは、処理効率面では、オーバーヘッドが存在するので、プリエンプションマネージャー110によって現在先占モードが非先占モードとして設定されれば、プリエンプションロックマネージャー140は、ミューテックスコードをスピンロックコードにポインティングされるように調整して、繁忙待機を行うが、処理効率面では、性能が相対的に優れたスピンロックコードを行わせうる。
図6は、本発明の一実施形態によってシステムコール遂行方法を動的に調整する例示図である。プリエンプティブIPC/SysCallマネージャー150は、IPC処理時、設定された現在先占モードによって、IPCのタイムアウトを動的に調整することができる。また、システムコールが行われれば、現在先占モードによって、同期式または非同期式に行われるように動的に調整することができる。
図6を参照して、システムコール遂行時、現在先占モードによって、システムコールを行う手続きを説明する。まず、システムコールが行われれば(段階410)、プリエンプティブIPC/SysCallマネージャー150は、設定された現在先占モードを確認し(段階420)、現在先占モードが非先占モードであるか否かを決定する(段階430)。
現在先占モードが、完全先占モードとして現在行われたタスクがリアルタイム処理が要求されるタスクであれば、プリエンプティブIPC/SysCallマネージャー150は、非同期的にシステムコールを行うように調整し(段階440)、現在先占モードが非先占モードであれば、同期的にシステムコールが行われるように調整することができる(段階450)。
図7は、本発明の一実施形態によってTLBロックダウンを動的に設定する方法の例示図である。プリエンプティブHWマネージャー160は、設定された現在先占モードによって、リアルタイム性タスクがTLBでフラッシュされないように動的にTLBロックダウンを設定または解除することができる。また、プリエンプティブHWマネージャー160は、リアルタイム性タスクでページフォールトが発生しないように、タイムクリティカルメモリページをピニングすることができる。
さらに具体的に、TLBロックダウンを動的に設定する方法を説明すれば、リアルタイム処理が要求されるタスクが登録されれば(段階510)、プリエンプティブHWマネージャー160は、現在先占モードが非先占モードとして決定されることによって、TLBロックダウンが必要であるか否かを判断する(段階520)。
段階520の決定の結果、現在先占モードが非先占モードであれば、プリエンプティブH/Wマネージャー160は、リアルタイム処理が要求されるタスクを一般的に処理させる(段階550)。
段階520の決定の結果、現在先占モードが非先占モードでなければ、例えば、完全先占モードであるか、一般先占モードであれば、プリエンプティブHWマネージャー160は、リアルタイム処理が要求されるタスクの優先順位をチェックし、リアルタイム処理が要求されるアプリケーションやタスクを常にTLBに含める(段階530)。
段階530の判断の結果、リアルタイム処理を要求するタスクが高い優先順位である場合、プリエンプティブHWマネージャーは、リアルタイム処理を要求するタスクのために、TLBロックダウンを設定する(段階540)。
段階530の判断の結果、リアルタイム処理が要求されるタスクが優先順位が高くなければ、プリエンプティブHWマネージャー160は、リアルタイム処理が要求されるタスクをTLBロックダウンの設定なしに行わせうる。
当業者は、本発明が、その技術的思想や必須的な特徴を変更せずとも、他の具体的な形態で実施されることを理解できるであろう。したがって、前述した実施形態は、あらゆる面で例示的なものであり、限定的ではないということを理解しなければならない。本発明の範囲は、前記詳細な説明よりは後述する特許請求の範囲によって表われ、特許請求の範囲の意味及び範囲、そして、その均等概念から導出されるあらゆる変更または変形された形態が、本発明の範囲に含まれると解析しなければならない。
本発明は、運用体制で動的に先占区間を調整する装置及び方法関連の技術分野に適用可能である。

Claims (22)

  1. システムコンテキスト(System Context)の変更有無をモニタリングし、現在のシステムコンテキストが変更されれば、その変更されたシステムコンテキストによって、現在先占モードを設定して、カーネルの先占区間(Preemption Section)を動的に調整するプリエンプションマネージャー(Preemption Manager)を含み、さらに、
    カーネルサービスルーチン(Kernel Service Routine)で、カーネルのカーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、現在スレッドの再スケジュールチェック如何を動的に変更するプリエンプションポイントマネージャー(Preemption Point Manager)を含む、
    運用体制で動的に先占区間を調整する装置。
  2. 前記現在先占モードは、
    システムコンテキストのリアルタイム処理要求する程度によって、細分化された非先占モード(Non Preemption Mode)、一般先占モード(General Preemption Mode)、及び完全先占モード(Fully Preemption Mode)のうちの何れか1つである、
    請求項1に記載の装置。
  3. 前記各先占モードは、
    システムコンテキストのリアルタイム処理要求する程度によって、細部的な先占レベルに区分され、
    前記プリエンプションマネージャーは、
    前記現在先占モードの細部的な先占レベルをさらに設定して、カーネルの先占区間を動的に調整する、
    請求項2に記載の装置。
  4. 前記設定された現在先占モードによって、ISR(Interrupt Service Routine)の処理方法を動的に変更するインタラプトコンテキストマネージャー(Interrupt Context Manager)をさらに含む
    請求項1に記載の装置。
  5. 前記インタラプトコンテキストマネージャーは、
    ハードウェアインタラプトが発生すれば、現在先占モードをチェックし、
    前記インタラプトコンテキストマネージャーは、
    前記現在先占モードが非先占モードであれば、インタラプトコンテキストモード(Interrup Context Mode)でISRを引き続き行わせ、非先占モードでなければ、インタラプトスレッドモード(Interrupt Thread Mode)でISRを行わせる
    請求項4に記載の装置。
  6. 前記プリエンプションポイントは、
    現在先占モードが非先占モードではない場合、現在スレッドの再スケジュール有無をチェックするコードセクションを含み、
    前記プリエンプションポイントマネージャーは、
    現在先占モードによって、現在スレッドの再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止または許容する
    請求項に記載の装置。
  7. 前記プリエンプションポイントマネージャーは、
    カーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、現在先占モードが非先占モードであるか否かを決定し、その決定の結果、現在先占モードが非先占モードであれば、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止する設定を行い、現在先占モードが非先占モードでなければ、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を許容する設定を行う、
    請求項に記載の装置。
  8. カーネルがスピンロック(Spin Lock)を有したタスクを行う時、現在先占モードによって、動的にスピンロックまたはミューテックス(mutex)を使って、そのタスクを行わせるプリエンプティブロックマネージャー(Preemptive Lock Manager)をさらに含む
    請求項1に記載の装置。
  9. IPC(Inter−Process Communication)処理時、前記現在先占モードによって、IPCのタイムアウトを動的に調整し、システムコールが行われれば、現在先占モードによって、同期式または非同期式に前記システムコールを行わせるプリエンプティブIPC/SysCallマネージャーをさらに含む
    請求項1に記載の装置。
  10. 前記プリエンプティブIPC/SysCallマネージャーは、
    現在先占モードが非先占モードであるか否かを決定し、その結果、現在先占モードが非先占モードであれば、そのシステムコールを非同期式に行わせ、現在先占モードが非先占モードでなければ、そのシステムコールを同期式に行わせる
    請求項に記載の装置。
  11. 前記現在先占モードによって、リアルタイム処理が要求されるタスクが、TLB(Translation Lookaside Buffer)でフラッシュ(flush)されないように動的にTLBロックダウン(Lockdown)を設定するプリエンプティブHWマネージャーをさらに含む
    請求項1に記載の装置。
  12. コンピュータによって、運用体制で動的に先占区間を調整する方法であって、
    システムコンテキストの変更有無をモニタリングする段階と、
    現在システムコンテキストが変更されれば、その変更されたシステムコンテキストによって、現在先占モードを設定して、カーネルの先占区間を動的に調整する段階と、
    を含み、さらに、
    前記現在先占モードによって、カーネルサービスルーチンで、カーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、現在スレッドの再スケジュールチェック如何を動的に変更する段階、
    を含む、方法。
  13. 前記現在先占モードは、
    システムコンテキストのリアルタイム処理要求する程度によって、細分化された非先占モード、一般先占モード、及び完全先占モードのうちの何れか1つである
    求項12に記載の方法。
  14. 前記各先占モードは、
    システムコンテキストのリアルタイム処理要求する程度によって、再び細部的な先占レベルに区分され、
    前記カーネルの先占区間を動的に調整する段階は、
    前記設定された現在先占モードの細部的な先占レベルをさらに設定して、カーネルの先占区間を動的に調整する
    求項12に記載の方法。
  15. 前記設定された現在先占モードによって、ISRの処理方法を動的に変更する段階をさらに含む
    求項12に記載の方法。
  16. 前記ISRの処理方法を変更する段階は、
    ハードウェアインタラプトが発生すれば、前記設定された現在先占モードを確認する段階と、
    前記確認の結果、現在先占モードが非先占モードであれば、インタラプトコンテキストモードでISRを引き続き行わせ、非先占モードでなければ、インタラプトスレッドモードでISRを行わせる段階と、
    を含む
    求項15に記載の方法。
  17. 前記プリエンプションポイントは、
    プリエンプションポイントは、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションを含み、
    前記現在スレッドの再スケジュールチェック如何を動的に変更する段階は、
    現在先占モードによって、現在スレッドの再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止または許容する段階を含む
    求項12に記載の方法。
  18. 前記コードセクションの実行を防止または許容する段階は、
    カーネルサービスルーチンの実行がプリエンプションポイントに到逹する時、
    現在先占モードが非先占モードであるか否かを決定する段階と、
    その決定の結果、現在先占モードが非先占モードであれば、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を防止する設定を行う段階と、
    現在先占モードが非先占モードでなければ、現在スレッドが、再スケジュールが必要であるか否かをチェックするコードセクションの実行を許容する設定を行う段階と、
    を含む
    求項17に記載の方法。
  19. カーネルがスピンロックを有したタスクを行う時、前記現在先占モードによって、動的にスピンロックまたはミューテックスを使って、前記タスクを行わせる段階をさらに含む
    求項12に記載の方法。
  20. IPC処理時、現在先占モードによって、動的にIPCのタイムアウトを調整する段階と、
    システムコール(System Call)が行われれば、前記現在先占モードによって、そのシステムコールを同期式または非同期式に行わせる段階と、
    をさらに含む
    求項12に記載の方法。
  21. 前記システムコールを同期式または非同期式に行わせる段階は、
    現在先占モードが非先占モードであるか否かを決定する段階と、
    その結果、現在先占モードが非先占モードであれば、そのシステムコールを非同期式に行わせる段階と、
    現在先占モードが非先占モードでなければ、そのシステムコールを同期式に行わせる段階と、
    を含む
    求項20に記載の方法。
  22. 前記設定された現在先占モードによって、リアルタイム処理が要求されるタスクが、TLBでフラッシュされないように動的にTLBロックダウンを設定する段階をさらに含む
    求項12に記載の方法。
JP2012266608A 2011-12-07 2012-12-05 運用体制で動的に先占区間を調整する装置及び方法 Expired - Fee Related JP6271123B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110130407A KR20130063825A (ko) 2011-12-07 2011-12-07 운영체제에서 동적으로 선점 구간을 조정하는 장치 및 방법
KR10-2011-0130407 2011-12-07

Publications (2)

Publication Number Publication Date
JP2013120602A JP2013120602A (ja) 2013-06-17
JP6271123B2 true JP6271123B2 (ja) 2018-01-31

Family

ID=47563007

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012266608A Expired - Fee Related JP6271123B2 (ja) 2011-12-07 2012-12-05 運用体制で動的に先占区間を調整する装置及び方法

Country Status (5)

Country Link
US (1) US9424105B2 (ja)
EP (1) EP2602714A1 (ja)
JP (1) JP6271123B2 (ja)
KR (1) KR20130063825A (ja)
CN (1) CN103218258B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2568292C2 (ru) 2013-12-27 2015-11-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ выбора синхронного или асинхронного межпроцессного взаимодействия
GB2532424B (en) 2014-11-18 2016-10-26 Ibm An almost fair busy lock
KR101639947B1 (ko) 2015-04-14 2016-07-15 성균관대학교산학협력단 하둡 선점 데드라인 제약 스케줄링 방법 및 그 방법을 수행하는 컴퓨터프로그램과, 그 프로그램이 기록된 매체
CN105630875A (zh) * 2015-12-17 2016-06-01 曙光信息产业(北京)有限公司 文件修复方法及装置
US10338953B2 (en) * 2016-03-18 2019-07-02 Intel Corporation Facilitating execution-aware hybrid preemption for execution of tasks in computing environments
US10423464B2 (en) * 2016-09-30 2019-09-24 Hewlett Packard Enterprise Patent Development LP Persistent ticket operation
US10939382B2 (en) * 2018-03-30 2021-03-02 Comcast Cable Communications, Llc Power control for wireless communications associated with preempted resources
CN109582379B (zh) * 2018-12-05 2022-03-11 北京和利时系统工程有限公司 基于微内核操作系统的可编程逻辑控制器系统、控制方法
US11556374B2 (en) 2019-02-15 2023-01-17 International Business Machines Corporation Compiler-optimized context switching with compiler-inserted data table for in-use register identification at a preferred preemption point
US11204767B2 (en) 2020-01-06 2021-12-21 International Business Machines Corporation Context switching locations for compiler-assisted context switching
CN112702275A (zh) * 2020-12-29 2021-04-23 迈普通信技术股份有限公司 基于每包转发的方法、装置、网络设备及计算机存储介质

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630128A (en) * 1991-08-09 1997-05-13 International Business Machines Corporation Controlled scheduling of program threads in a multitasking operating system
US5515538A (en) * 1992-05-29 1996-05-07 Sun Microsystems, Inc. Apparatus and method for interrupt handling in a multi-threaded operating system kernel
JPH06250849A (ja) * 1993-02-26 1994-09-09 Fujitsu Ltd タスクスケジューリング方式
US5428789A (en) * 1993-08-27 1995-06-27 Waldron, Iii; Theodore C. Method and apparatus for optimizing user response time in a priority preemptive operating system
US5528513A (en) * 1993-11-04 1996-06-18 Digital Equipment Corp. Scheduling and admission control policy for a continuous media server
US5835964A (en) * 1996-04-29 1998-11-10 Microsoft Corporation Virtual memory system with hardware TLB and unmapped software TLB updated from mapped task address maps using unmapped kernel address map
US5995745A (en) * 1996-12-23 1999-11-30 Yodaiken; Victor J. Adding real-time support to general purpose operating systems
US7451447B1 (en) * 1998-08-07 2008-11-11 Arc International Ip, Inc. Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls
US6457008B1 (en) 1998-08-28 2002-09-24 Oracle Corporation Pluggable resource scheduling policies
US7996843B2 (en) * 1999-08-25 2011-08-09 Qnx Software Systems Gmbh & Co. Kg Symmetric multi-processor system
US6332163B1 (en) * 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
US7165134B1 (en) * 2000-06-28 2007-01-16 Intel Corporation System for selectively generating real-time interrupts and selectively processing associated data when it has higher priority than currently executing non-real-time operation
EP1182567B1 (en) * 2000-08-21 2012-03-07 Texas Instruments France Software controlled cache configuration
EP1213648A1 (en) 2000-12-05 2002-06-12 Infineon Technologies AG Method for coordinating tasks in a GSM network
US7072956B2 (en) 2000-12-22 2006-07-04 Microsoft Corporation Methods and systems for context-aware policy determination and enforcement
KR20030077696A (ko) 2002-03-26 2003-10-04 주식회사 현대시스콤 실시간 운영체제에서 타스크 레벨 인터럽트 처리 방법
US7360216B2 (en) * 2002-07-03 2008-04-15 Nvidia Corporation Method and system for real-time multitasking
US20040088704A1 (en) * 2002-10-30 2004-05-06 Advanced Simulation Technology, Inc. Method for running real-time tasks alongside a general purpose operating system
CN1802635A (zh) 2003-04-14 2006-07-12 皇家飞利浦电子股份有限公司 资源管理方法以及设备
US7721291B2 (en) * 2004-10-15 2010-05-18 International Business Machines Corporation Apparatus, system, and method for automatically minimizing real-time task latency and maximizing non-real time task throughput
US20060168214A1 (en) * 2004-10-29 2006-07-27 International Business Machines Corporation System for managing logical partition preemption
US8387052B2 (en) * 2005-03-14 2013-02-26 Qnx Software Systems Limited Adaptive partitioning for operating system
CA2538503C (en) 2005-03-14 2014-05-13 Attilla Danko Process scheduler employing adaptive partitioning of process threads
US8255912B2 (en) * 2005-04-13 2012-08-28 Qualcomm Incorporated Techniques for setting events in a multi-threaded system
US7844970B2 (en) * 2006-08-22 2010-11-30 International Business Machines Corporation Method and apparatus to control priority preemption of tasks
JP2008108075A (ja) * 2006-10-25 2008-05-08 Matsushita Electric Ind Co Ltd タスク切替え制御方法及びコンピュータシステム
KR20080097819A (ko) 2007-05-03 2008-11-06 김인철 동적 환경을 위한 상황-민감 형 에이전트 구조
US8589943B2 (en) * 2007-08-15 2013-11-19 Sony Computer Entertainment Inc. Multi-threaded processing with reduced context switching
KR101610828B1 (ko) * 2009-09-23 2016-04-08 삼성전자주식회사 멀티코어 프로세서의 인터럽트 온/오프 관리 장치와 방법
CN102667725B (zh) * 2010-01-13 2015-09-16 马维尔以色列(M.I.S.L.)有限公司 用于媒体处理的硬件虚拟化

Also Published As

Publication number Publication date
CN103218258B (zh) 2018-01-26
CN103218258A (zh) 2013-07-24
US9424105B2 (en) 2016-08-23
US20130152096A1 (en) 2013-06-13
JP2013120602A (ja) 2013-06-17
EP2602714A1 (en) 2013-06-12
KR20130063825A (ko) 2013-06-17

Similar Documents

Publication Publication Date Title
JP6271123B2 (ja) 運用体制で動的に先占区間を調整する装置及び方法
JP6381734B2 (ja) グラフィックス計算プロセススケジューリング
JP6199477B2 (ja) ゲストオペレーティングシステムおよび仮想プロセッサとともにハイパーバイザを使用するシステムおよび方法
US8963933B2 (en) Method for urgency-based preemption of a process
US10242420B2 (en) Preemptive context switching of processes on an accelerated processing device (APD) based on time quanta
JP6086868B2 (ja) ユーザモードからのグラフィックス処理ディスパッチ
JP2007537504A (ja) コンピュータ装置用のオペレーティング・システムの、またはそれに関する改良
JP4840945B2 (ja) ユーザ・モード・ドライバへ割り込みを配送する方法
WO2009147802A1 (ja) 優先度制御装置及び優先度制御方法
JP2013546097A (ja) グラフィックス処理計算リソースのアクセシビリティ
US9256465B2 (en) Process device context switching
Kim et al. A server-based approach for predictable GPU access control
US9164799B2 (en) Multiprocessor system
US20060212840A1 (en) Method and system for efficient use of secondary threads in a multiple execution path processor
US9367349B2 (en) Multi-core system and scheduling method
EP1693743A2 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
US20200356410A1 (en) Cpu scheduling methods based on relative time quantum for dual core environments
US11301304B2 (en) Method and apparatus for managing kernel services in multi-core system
US20130160019A1 (en) Method for Resuming an APD Wavefront in Which a Subset of Elements Have Faulted
Li et al. PEP: Proactive checkpointing for efficient preemption on GPUs
Yang et al. A Linux kernel with fixed interrupt latency for embedded real-time system
Rothberg Interrupt handling in Linux
US11403138B2 (en) Method and electronic device for handling relative priority based scheduling procedure
Cucinotta Priority inheritance on condition variables
CN114846446A (zh) 用于分配处理器资源的方法、计算单元和视频监控装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171227

R150 Certificate of patent or registration of utility model

Ref document number: 6271123

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees