JP5770721B2 - 情報処理システム - Google Patents
情報処理システム Download PDFInfo
- Publication number
- JP5770721B2 JP5770721B2 JP2012517104A JP2012517104A JP5770721B2 JP 5770721 B2 JP5770721 B2 JP 5770721B2 JP 2012517104 A JP2012517104 A JP 2012517104A JP 2012517104 A JP2012517104 A JP 2012517104A JP 5770721 B2 JP5770721 B2 JP 5770721B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- real
- load amount
- group
- task group
- 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
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Description
以下、本発明の一実施形態である情報処理システム1000について説明する。
図1は、本実施の形態における情報処理システム1000の構成を示す図である。情報処理システム1000は、複数の物理CPU1a、1b、1cと、入出力装置2と、負荷分散装置3とから構成されている。負荷分散装置3は、ランダムアクセスメモリ(RAM)やフラッシュメモリなどのメモリを有し、実行する各種のプログラムやデータを格納している。
負荷分散装置3は、複数のOS毎に仮想計算機を構築し、各OSで生成される複数のタスクの実行を、対応付けられた1つの物理CPUに実行させるものである。
OS20aは、図1に示すように、仮想計算機4aを構成するものであり、OS20aにはタスクキュー100a、100b、タスク負荷分散部101、タスク登録部102、タスク情報通知部103が備えられている。また、OS20bは、仮想計算機4bを構成するものであり、図1では図示していないが、OS20aと同様の構成である。
タスクキュー100a、100bそれぞれは、OS20aで生成されたタスクを格納するものであり、後述する仮想CPUを形成する。
タスク負荷分散部101は、生成されたリアルタイムタスクや通常のタスクの分散を決定する。ここで、リアルタイムタスクとは、例えばデッドラインまでの実行の完了といったリアルタイム性能を要求するタスクであり、例えば、優先度を高くするといった手法で通常のタスクより先に実行されるものである。なお、以降においてRTタスクと記述し、リアルタイム性能を要求しない通常のタスクを単に通常タスクと記述する。なお、RTタスクと通常タスクとを区別する必要がない場合には、単に、タスクと記述する。
タスク登録部102は、タスク負荷分散部101の決定を受け、決定されたタスクキューに生成されたタスクを登録する。
タスク情報通知部103は、新たに生成されたタスクが通常タスクであるかRTタスクであるかを判断し、RTタスクであると判断する場合には、RTタスクの登録先をハイパバイザ5に通知する。この時、タスク情報通知部103は、タスク登録部102から呼び出され、タスク登録部102を実行した物理CPUで即座に実行されるものとする。
ハイパバイザ5は、仮想計算機4a、4bそれぞれにおける各仮想CPUについて物理CPUの割り当ての管理やタスクをOSに実行させる制御を行う。
仮想CPU負荷決定部200は、各仮想CPU6a〜6dの負荷を決定するものである。
仮想CPU負荷分散部201は、物理CPU1a、1b、1cそれぞれについて仮想計算機4a、4bそれぞれのタスクキュー(仮想CPU)の分配を決定し、実行するものである。
仮想CPUスケジュール部202は、個々の物理CPUに分配された仮想CPUの実行の順番を決定するものである。
物理CPU1a、1b、1cは、ハイパバイザ5の制御により分配された1又は複数のタスクキューに登録されたタスクを、仮想CPUスケジュール部202でスケジュールされた処理順番に従って処理する。
入出力装置2は、外部からの指示を受け付け、受け付けた指示を物理CPU1a、1b、1c及び負荷分散装置3へ通知するものである。
ここでは、各タスクキュー(仮想CPU)の分配の変更について、具体例を用いて説明する。
(生成されたタスクを仮想CPUへの分配する具体例)
図2は、分配の一例を示すものである。図2では、仮想計算機4aのタスクキュー100a(仮想CPU6a)は物理CPU1aに分配され、タスクキュー100b(仮想CPU6b)は物理CPU1bに分配されている。また、仮想計算機4bのタスクキュー100c(仮想CPU6c)は物理CPU1bに分配され、タスクキュー100d(仮想CPU6d)は物理CPU1cに分配されている。つまり、物理CPU1bには、2つのタスクキュー100b、100cが分配されている状態である。そして、図2では、この分配状態において仮想CPU6aにてRTタスク30が生成されたものとする。
図4(a)では、物理CPU1bに2つの仮想CPU6b、6cが分配されており、仮想CPU6bにはRTタスク30が、仮想CPU6cにはRTタスク30cが、それぞれ登録されている。そして、他の仮想CPU6a、6dにはRTタスクは登録されていない。この場合、仮想CPU負荷分散部201は、物理CPU1bにRTタスクの個数の偏りが生じているので、偏りが生じないように物理CPU1a、1b、1cそれぞれについてタスクキュー(仮想CPU)の分配を決定し、決定された分配となるよう変更する。図4(b)は、その結果の一例を示すものであり、仮想CPU6bに対する物理CPUの割り当てを変更している。これにより、物理CPU1aと、物理CPU1bとに対して、RTタスクが登録されたタスクキュー(仮想CPU6b、仮想CPU6c)をそれぞれ個別に分配しているので、RTタスクの偏りが生じないようになっている。これにより、RTタスク30を持つ仮想CPUは、物理CPUごとに高々一つになる。
ここでは、情報処理システム1000の動作について説明する。
まず、処理の概要について、図5に示す流れ図を用いて説明する。
ここでは、図5で示した処理の詳細を、図6に示す流れ図を用いて説明する。なお、ここでは、仮想計算機4aにて新たなRTタスクが生成されたものとして説明する。
(1)第1の変形例
第1の変形例において、第1の実施の形態と異なる点は、仮想CPU負荷分散部での分配方法である。以下の説明において、第1の実施の形態と同様の構成要素については、同じ符号を用いて説明する。
ここで、上記で説明した仮想CPU負荷分散部の機能を適用した分配方法の具体例について説明する。
ここでは、第1の変形例に係る情報処理システムの動作について、第1の実施の形態と異なる点を中心に、図8に示す流れ図を用いて説明する。
第1の変形例において、第1の実施の形態と異なる点は、仮想タスク負荷分散部での分配方法である。以下の説明において、第1の実施の形態と同様の構成要素については、同じ符号を用いて説明する。
ここで、上記で説明した本変形例に係る仮想CPU負荷分散部の機能を適用した分配方法の具体例について説明する。
ここでは、第2の変形例に係る情報処理システムの動作について、図10に示す流れ図を用いて説明する。なお、ここでは、仮想計算機4aにて新たなタスクが生成されたものとして説明する。
以上により、本実施の形態に係る情報処理システム1000は、一の仮想CPUでRTタスクが生成されると、各仮想CPUが分配されている物理CPUについてRTタスクが重複しないよう再割付を行うので、RTタスクの競合を避け、RTタスクの実行要求を満たせるように、仮想CPUの負荷を物理CPU間で分散できる。
ここでは、第1の実施の形態と異なる点を中心に説明する。なお、第1の実施の形態と同一の構成要素については同一の符号を付するものとする。
ここでは、仮想CPU負荷決定部203及び割り込み通知部204について説明する。
仮想CPU負荷決定部203は、第1の実施の形態で示す仮想CPU負荷決定部200の機能と同様の機能とともに、以下の機能を有する。
特定し、その結果を割り込み通知部204に通知する。
割り込み通知部204は、入出力装置2からの割り込みを受け付けると、割り込みの対象である仮想CPUを特定する。そして、割り込み通知部204は、仮想CPU負荷決定部203により特定した仮想CPUに対する割り込み通知指示を受け取ると、割り込みの通知を即座に行う。
仮想CPUの分配に係る動作は、第1の実施の形態で示す図5、6と同様の動作で実現できるので、ここでの説明は省略する。
ここでは、第3の実施の形態について、第1の実施の形態と異なる点を中心に説明する。なお、第1の実施の形態と同一の構成要素については同一の符号を付するものとする。
以下、リアルタイムタスク実行通知部104、仮想CPU負荷決定部205及び仮想CPU負荷分散部206それぞれの機能について説明する。
リアルタイムタスク実行通知部104は、RTタスクの動作が開始された時間を示す時間情報を仮想CPU負荷決定部205に通知するものである。
仮想CPU負荷決定部205は、RTタスクの時間情報を受け取ると、受け取った時間情報と、前回受け取った時間情報とから当該RTタスクの動作周期(起動周期)を算出し、算出した動作周期を、当該RTタスクを保持する仮想CPUの負荷として記録する。
仮想CPU負荷分散部206は、第1の実施の形態における仮想CPU負荷分散部201の機能に、以下に示す機能を備える。
以下において、本実施の形態での各仮想CPUの分散の方法の例である。
ここでは、第3の実施の形態に係る情報処理システム1000bの動作について説明する。
ここでは、仮想CPU負荷決定部205がRTタスク毎に管理している動作周期の更新の処理の動作について、図15に示す流れ図を用いて説明する。
ここでは、情報処理システム1000bで行われるタスクの生成・移動処理の動作について、第1の実施の形態と異なる点を中心に、図16に示す流れ図を用いて説明する。
ここでは、第4の実施の形態について、第1の実施の形態と異なる点を中心に説明する。なお、第1の実施の形態と同一の構成要素については同一の符号を付するものとする。
(1)仮想CPU処理能力通知部207
仮想CPU処理能力通知部207は、仮想CPUスケジュール部202より仮想CPUにどれだけの物理CPU時間を割り当てるかの情報を取得する。例えば、物理CPU時間の50%を割り当てるといった情報である。
タスク負荷分散部105は、CPUの処理能力を考慮してタスクの分散を決定するものである。具体的には、タスク負荷分散部105は、仮想CPU処理能力通知部207から仮想CPU6aから6dそれぞれの処理能力に係る情報を受け取ると、各仮想CPU6aから6dそれぞれの処理能力に基づいて、処理能力が他より低い仮想CPUにはタスクの分配を抑制する。
ここで、情報処理システム1000cで行われるタスク生成・移動処理は、図6で示す動作におけるステップS100を、各仮想CPU6aから6dそれぞれの処理能力に基づいて新たなタスクの格納先を決定するように変更するだけで実現できるので、ここでの詳細な説明は省略する。
以上、実施の形態及び変形例に基づいて説明したが、本発明は上記の実施の形態及び変形例に限られない。例えば、以下のような変形例が考えられる。
(1)本発明の一態様である、情報処理システムは、処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、前記ハイパバイザは、各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有することを特徴とする。
2 入出力装置
3 負荷分散装置
4a、4b 仮想計算機
5 ハイパバイザ
6a〜6d 仮想CPU
100a〜100d タスクキュー
101 タスク負荷分散部
102 タスク登録部
103 タスク情報通知部
200 仮想CPU負荷決定部
201 仮想CPU負荷分散部
202 仮想CPUスケジュール部
1000 情報処理システム
Claims (11)
- 処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、
複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、
前記ハイパバイザは、
各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、
前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有し、
前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、
前記変更手段は、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更し、
タスクグループに含まれるリアルタイムタスクに係る前記処理負荷量は、当該タスクグループに含まれるリアルタイムタスクの個数であり、
前記変更手段は、各プロセッサ間で当該プロセッサで処理すべきリアルタイムタスクの個数に偏りが生じているときには、処理すべきリアルタイムタスクの個数が分散されるようプロセッサとタスクグループの対応付けを変更する
ことを特徴とする情報処理システム。 - 処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、
複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、
前記ハイパバイザは、
各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、
前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有し、
前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、
前記変更手段は、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更し、
前記変更手段は、
複数のタスクグループが対応付けられたプロセッサにおいて、少なくとも2つのタスクグループそれぞれにリアルタイムタスクを含んでいる場合に、当該プロセッサについてリアルタイムタスクに係る処理負荷量の偏りが生じていると判断し、
当該プロセッサにおける前記少なくとも2つのタスクグループそれぞれを個別のプロセッサへ対応付ける
ことを特徴とする情報処理システム。 - 処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、
複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、
前記ハイパバイザは、
各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、
前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有し、
前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、
前記変更手段は、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更し、
前記変更手段は、
複数のタスクグループが対応付けられたプロセッサにおいて、1つのタスクグループにリアルタイムタスクが属している場合に、当該プロセッサについて処理負荷量の偏りが生じていると判断し、
当該プロセッサと前記1つのタスクグループのみと対応付け、当該プロセッサに対応付けられていた他のタスクグループを他のプロセッサへ対応付ける
ことを特徴とする情報処理システム。 - 処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、
複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、
前記ハイパバイザは、
各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、
前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有し、
前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、
前記変更手段は、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更し、
前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイムタスクの動作間隔を示す値であり、
前記変更手段は、
一のプロセッサに対して動作間隔の短いリアルタイムタスクが属する第1タスクグループと他のリアルタイムタスクが属する第2タスクグループとが対応付けられている場合に、当該一のプロセッサについて処理負荷量の偏りが生じていると判断し、
前記第2タスクグループの対応付けを、動作間隔が前記第1タスクグループの動作間隔よりも長いタスクグループが属する第3タスクグループが対応付けられているプロセッサへ変更する
ことを特徴とする情報処理システム。 - 処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、
複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、
前記ハイパバイザは、
各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、
前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有し、
前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、
前記変更手段は、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更し、
前記ハイパバイザは、さらに、
割り込みを受け付けると、リアルタイムタスクを含むタスクグループに含まれるタスクのものである場合には、当該リアルタイムタスクを含むタスクグループの実行制御を行うOSに当該割り込みの通知を即座に行う
ことを特徴とする情報処理システム。 - 処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、
複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、
前記ハイパバイザは、
各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、
前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有し、
前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、
前記変更手段は、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更し、
前記ハイパバイザは、さらに、
各OSに対して、当該OSに属する各タスクグループについて、当該タスクグループが割り当てられたプロセッサにおける当該タスクグループの処理能力を通知する通知手段を備え、
各OSは、新たなタスクを生成すると、通知された処理能力のうち高い処理能力を有するタスクグループに前記新たなタスクを割り当てる
ことを特徴とする情報処理システム。 - 前記ハイパバイザは、
各プロセッサにおいて、当該プロセッサに対応付けられた1又は複数のタスクグループの処理スケジュールを決定するスケジュール決定手段を備え、
前記処理能力は、前記各タスクグループに対する処理スケジュールに基づく処理時間を示すものである
ことを特徴する請求項6に記載の情報処理システム。 - 処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、
複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備える情報所処理システムにおいて、前記ハイパバイザで用いられる処理方法であって、
各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得ステップと、
前記取得ステップにより逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更ステップとを有し、
前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、
前記変更ステップは、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更し、
タスクグループに含まれるリアルタイムタスクに係る前記処理負荷量は、当該タスクグループに含まれるリアルタイムタスクの個数であり、
前記変更ステップは、各プロセッサ間で当該プロセッサで処理すべきリアルタイムタスクの個数に偏りが生じているときには、処理すべきリアルタイムタスクの個数が分散されるようプロセッサとタスクグループの対応付けを変更する
ことを特徴とする処理方法。 - 処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、
複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備える情報所処理システムにおいて前記ハイパバイザで用いられる処理プログラムであって、
コンピュータに、
各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得ステップと、
前記取得ステップにより逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更ステップとを実行させ、
前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、
前記変更ステップでは、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更させ、
タスクグループに含まれるリアルタイムタスクに係る前記処理負荷量は、当該タスクグループに含まれるリアルタイムタスクの個数であり、
前記変更ステップでは、各プロセッサ間で当該プロセッサで処理すべきリアルタイムタスクの個数に偏りが生じているときには、処理すべきリアルタイムタスクの個数が分散されるようプロセッサとタスクグループの対応付けを変更させる
ための処理プログラム。 - 前記処理プログラムは、
コンピュータ読み取り可能な記録媒体に記録されている
ことを特徴とする請求項9に記載の処理プログラム。 - 処理対象の各タスクを何れかのタスクグループに属するものと定めて同一タスクグループに属する全タスクが同一プロセッサ上で実行されるよう各タスクの実行制御を行うOSを複数含むOS群と、
複数のプロセッサ各々に、前記各OSのタスクグループのうち1又は複数を対応付け、前記各OSに、タスクグループに対応付けたプロセッサ上で当該タスクグループに属するタスクを実行させるようタスクの実行制御を行わせるハイパバイザとを備え、
前記ハイパバイザは、
各OSについてのタスクグループ各々の処理負荷量を示す負荷情報を逐次取得する取得手段と、
前記取得手段により逐次取得した負荷情報が示す処理負荷量を参照して、各プロセッサ間で処理負荷量に偏りが生じているときには、プロセッサとタスクグループの対応付けを変更する変更手段とを有し、
前記処理負荷量は、各タスクグループについて当該タスクグループに含まれるリアルタイム性の処理が要求されるリアルタイムタスクに係る処理負荷量であり、
前記変更手段は、各プロセッサ間でリアルタイムタスクに係る処理負荷量に偏りが生じているときには、リアルタイムタスクに係る処理負荷量が分散されるようプロセッサとタスクグループの対応付けを変更し、
タスクグループに含まれるリアルタイムタスクに係る前記処理負荷量は、当該タスクグループに含まれるリアルタイムタスクの個数であり、
前記変更手段は、各プロセッサ間で当該プロセッサで処理すべきリアルタイムタスクの個数に偏りが生じているときには、処理すべきリアルタイムタスクの個数が分散されるようプロセッサとタスクグループの対応付けを変更する
ことを特徴とする集積回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012517104A JP5770721B2 (ja) | 2010-05-24 | 2011-04-20 | 情報処理システム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010117905 | 2010-05-24 | ||
JP2010117905 | 2010-05-24 | ||
PCT/JP2011/002311 WO2011148563A1 (ja) | 2010-05-24 | 2011-04-20 | 情報処理システム |
JP2012517104A JP5770721B2 (ja) | 2010-05-24 | 2011-04-20 | 情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011148563A1 JPWO2011148563A1 (ja) | 2013-07-25 |
JP5770721B2 true JP5770721B2 (ja) | 2015-08-26 |
Family
ID=45003564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012517104A Expired - Fee Related JP5770721B2 (ja) | 2010-05-24 | 2011-04-20 | 情報処理システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8719834B2 (ja) |
JP (1) | JP5770721B2 (ja) |
CN (1) | CN102473118B (ja) |
WO (1) | WO2011148563A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7295485B2 (ja) | 2020-02-27 | 2023-06-21 | 日本製鉄株式会社 | 冷却装置及び冷却方法 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9032401B2 (en) * | 2011-05-16 | 2015-05-12 | Panasonic Intellectual Property Corporation Of America | Virtual computer system having a first virtual computer that executes a protected process, a second virtual computer that executes an unprotected process, and a hypervisor that controls the first and second virtual computers |
CN103930875B (zh) | 2011-06-16 | 2017-05-03 | 尤塞瑞斯公司 | 用于加速业务数据处理的软件虚拟机 |
US9459898B2 (en) * | 2011-10-06 | 2016-10-04 | Hitachi, Ltd. | Virtual server processing control method, system, and virtual server processing control management server |
JP6169615B2 (ja) | 2012-01-27 | 2017-07-26 | マーベル ワールド トレード リミテッド | システムコントローラのfifoコマンドキューを動的に管理する方法、集積回路およびシステム |
JP5624084B2 (ja) * | 2012-06-04 | 2014-11-12 | 株式会社日立製作所 | 計算機、仮想化機構、及びスケジューリング方法 |
KR20140080058A (ko) * | 2012-12-20 | 2014-06-30 | 삼성전자주식회사 | 멀티코어를 위한 로드 밸런싱 방법 및 휴대 단말 |
US9069594B1 (en) * | 2012-12-27 | 2015-06-30 | Emc Corporation | Burst buffer appliance comprising multiple virtual machines |
US9396012B2 (en) * | 2013-03-14 | 2016-07-19 | Qualcomm Incorporated | Systems and methods of using a hypervisor with guest operating systems and virtual processors |
AU2014311461B2 (en) * | 2013-08-26 | 2017-02-16 | VMware LLC | CPU scheduler configured to support latency sensitive virtual machines |
US9250953B2 (en) | 2013-11-12 | 2016-02-02 | Oxide Interactive Llc | Organizing tasks by a hierarchical task scheduler for execution in a multi-threaded processing system |
CN103825842B (zh) * | 2014-02-28 | 2017-06-23 | 新华三技术有限公司 | 一种多cpu系统的数据流处理方法和装置 |
US10175885B2 (en) * | 2015-01-19 | 2019-01-08 | Toshiba Memory Corporation | Memory device managing data in accordance with command and non-transitory computer readable recording medium |
JP6447217B2 (ja) * | 2015-02-17 | 2019-01-09 | 富士通株式会社 | 実行情報通知プログラム、情報処理装置および情報処理システム |
JP6547363B2 (ja) * | 2015-03-26 | 2019-07-24 | 日本電気株式会社 | 管理装置、管理装置の制御方法、及びプログラム |
US10002016B2 (en) * | 2015-07-23 | 2018-06-19 | Red Hat, Inc. | Configuration of virtual machines in view of response time constraints |
ITUA20161426A1 (it) * | 2016-03-07 | 2017-09-07 | Ibm | Dispaccio di lavori per esecuzione in parallelo da processori multipli |
CN105955807B (zh) * | 2016-04-20 | 2023-10-31 | 上海瀚银信息技术有限公司 | 一种任务处理系统及方法 |
US11281482B2 (en) * | 2016-12-14 | 2022-03-22 | Intel Corporation | I/O emulation with abortion in virtualized environments including transfer of portions of non-real time I/O emulation to work threads prior to switching contexts |
US10789097B2 (en) * | 2017-02-16 | 2020-09-29 | Nasdaq Technology Ab | Methods and systems of scheduling computer processes or tasks in a distributed system |
CN112005177A (zh) * | 2018-04-27 | 2020-11-27 | 三菱电机株式会社 | 数据处理装置、任务控制方法及程序 |
US11726827B2 (en) * | 2021-02-19 | 2023-08-15 | Vast Data Ltd. | Hierarchical workload allocation in a storage system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242512A (ja) * | 1999-02-19 | 2000-09-08 | Hitachi Ltd | 複数のオペレーティングシステムを実行する計算機 |
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
JP2003157177A (ja) * | 2001-11-22 | 2003-05-30 | Hitachi Ltd | 仮想計算機システム及びプログラム |
JP2007018268A (ja) * | 2005-07-07 | 2007-01-25 | Sumitomo Heavy Ind Ltd | タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム |
JP2008152594A (ja) * | 2006-12-19 | 2008-07-03 | Hitachi Ltd | マルチコアプロセッサ計算機の高信頼化方法 |
JP2009237858A (ja) * | 2008-03-27 | 2009-10-15 | Chugoku Electric Power Co Inc:The | サーバタスク管理プログラム及びサーバタスク管理方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6148324A (en) * | 1998-01-05 | 2000-11-14 | Lucent Technologies, Inc. | Prioritized load balancing among non-communicating processes in a time-sharing system |
US20020099759A1 (en) * | 2001-01-24 | 2002-07-25 | Gootherts Paul David | Load balancer with starvation avoidance |
US20050108717A1 (en) * | 2003-11-18 | 2005-05-19 | Hong Steve J. | Systems and methods for creating an application group in a multiprocessor system |
JP3862715B2 (ja) * | 2004-06-01 | 2006-12-27 | 株式会社ソニー・コンピュータエンタテインメント | タスク管理方法、タスク管理装置、半導体集積回路、電子装置、およびタスク管理システム |
EP1615141B1 (en) * | 2004-07-01 | 2018-03-07 | Harman Becker Automotive Systems GmbH | A computing architecture for a mobile multimedia system used in a vehicle |
JP4410661B2 (ja) * | 2004-11-09 | 2010-02-03 | 株式会社日立製作所 | 分散制御システム |
US8468533B2 (en) * | 2008-04-28 | 2013-06-18 | Panasonic Corporation | Virtual machine control device, method, and program wherein a switching task used to switch to the highest priority virtual machines is the highest priority task in the current virtual machine and the virtual machine that is the switching target |
WO2011027302A1 (en) * | 2009-09-02 | 2011-03-10 | Plurality Ltd. | Associative distribution units for a high flow-rate synchronizer/scheduler |
-
2011
- 2011-04-20 JP JP2012517104A patent/JP5770721B2/ja not_active Expired - Fee Related
- 2011-04-20 WO PCT/JP2011/002311 patent/WO2011148563A1/ja active Application Filing
- 2011-04-20 CN CN201180002951.7A patent/CN102473118B/zh not_active Expired - Fee Related
- 2011-04-20 US US13/383,291 patent/US8719834B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000242512A (ja) * | 1999-02-19 | 2000-09-08 | Hitachi Ltd | 複数のオペレーティングシステムを実行する計算機 |
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
JP2003157177A (ja) * | 2001-11-22 | 2003-05-30 | Hitachi Ltd | 仮想計算機システム及びプログラム |
JP2007018268A (ja) * | 2005-07-07 | 2007-01-25 | Sumitomo Heavy Ind Ltd | タスクスケジューリング方法、タスクスケジューリング装置、及びタスクスケジューリングプログラム |
JP2008152594A (ja) * | 2006-12-19 | 2008-07-03 | Hitachi Ltd | マルチコアプロセッサ計算機の高信頼化方法 |
JP2009237858A (ja) * | 2008-03-27 | 2009-10-15 | Chugoku Electric Power Co Inc:The | サーバタスク管理プログラム及びサーバタスク管理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7295485B2 (ja) | 2020-02-27 | 2023-06-21 | 日本製鉄株式会社 | 冷却装置及び冷却方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102473118B (zh) | 2016-10-12 |
WO2011148563A1 (ja) | 2011-12-01 |
US8719834B2 (en) | 2014-05-06 |
JPWO2011148563A1 (ja) | 2013-07-25 |
US20120117567A1 (en) | 2012-05-10 |
CN102473118A (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5770721B2 (ja) | 情報処理システム | |
US10733026B2 (en) | Automated workflow selection | |
JP6294586B2 (ja) | 命令スレッドを組み合わせた実行の管理システムおよび管理方法 | |
JP3678414B2 (ja) | 多重プロセッサ・システム | |
CN109997112B (zh) | 数据处理 | |
US8190864B1 (en) | APIC implementation for a highly-threaded x86 processor | |
JP5643190B2 (ja) | 局所的集合内のタスクを汎用的集合に割り当てるための方法及びコンピュータ読取可能記録媒体 | |
US9858115B2 (en) | Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium | |
KR20180053359A (ko) | 다중-버전형 태스크들의 효율적 스케줄링 | |
KR101640848B1 (ko) | 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치 | |
US20090064165A1 (en) | Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks | |
US20150121387A1 (en) | Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium | |
JP4992408B2 (ja) | ジョブ割当プログラム、方法及び装置 | |
Yao et al. | New scheduling algorithms for improving performance and resource utilization in hadoop YARN clusters | |
WO2007020739A1 (ja) | スケジューリング方法およびスケジューリング装置 | |
JP6010975B2 (ja) | ジョブ管理装置、ジョブ管理方法、及びプログラム | |
JP2007316710A (ja) | マルチプロセッサシステム、ワークロード管理方法 | |
JP2019114173A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
JP5577745B2 (ja) | クラスタシステム、プロセス配置方法、及びプログラム | |
JP2010218151A (ja) | 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法 | |
JP6285850B2 (ja) | プロセスマイグレーション方法及びクラスタシステム | |
Liu et al. | Improving resource utilization of a cloud-based testing platform for android applications | |
JP2014078214A (ja) | スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム | |
CN116157778A (zh) | 共享物理主机上混合集中分布式调度的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131017 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20140606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150407 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150512 |
|
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: 20150602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150625 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5770721 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |