JP2007188212A - マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム - Google Patents

マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム Download PDF

Info

Publication number
JP2007188212A
JP2007188212A JP2006004655A JP2006004655A JP2007188212A JP 2007188212 A JP2007188212 A JP 2007188212A JP 2006004655 A JP2006004655 A JP 2006004655A JP 2006004655 A JP2006004655 A JP 2006004655A JP 2007188212 A JP2007188212 A JP 2007188212A
Authority
JP
Japan
Prior art keywords
load
multiprocessor
unit
operating system
operating systems
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.)
Withdrawn
Application number
JP2006004655A
Other languages
English (en)
Inventor
Mitsunari Todoroki
晃成 轟
Katsuya Tanaka
克哉 田中
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006004655A priority Critical patent/JP2007188212A/ja
Publication of JP2007188212A publication Critical patent/JP2007188212A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】処理の状況に応じて各OSにかかる負荷を調整することによって高い処理効率を得るマルチプロセッサを提供する。
【解決手段】 複数のオペレーティングシステム(OS)が分担して複数の単位プロセッサを動作させるマルチプロセッサにおいて、OS−A、OS−Bが、自OSにかかる負荷をレディキュー303の待機状態のタスクによって判定し、自OSにかかる負荷が大きいと判断された場合、複数のOS間で管理する単位プロセッサの数を調整し、自OSにかかる負荷を調整する。
【選択図】図2

Description

本発明は、複数のプロセッサを組合わせて構成されるマルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムに係り、特に複数のプロセッサを複数のOSを使って動作させるマルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムに関する。
特定の用途に用いられるソフトウェアとハードウェアとを組合わせた構成は、組み込みシステムと呼ばれている。近年では、組込みシステムにマルチ形式のプロセッサであるマルチプロセッサやマルチスレッドプロセッサが採用されることも多い。マルチ形式のプロセッサ(以降マルチプロセッサと記す)の採用は、装置の低クロック化や応答性の向上に有利である。また、特に携帯型の装置では、消費電力を低減することにも有利であるためマルチプロセッサの採用の要請が強い。
ところで、新たに開発したソフトウェアが正常に動作するか否かの判断に時間及びコストがかかる。このため、ソフトウェアの分野では、使用した結果実績のあるプロセッサのソフトウェアが流用可能であるならば、これを流用することが望ましいとされている。したがって、組込みシステムをマルチプロセッサ化する場合、先に使用されていたシングルプロセッサのソフトウェアを流用する要求がある。
シングルプロセッサのソフトウェアをマルチプロセッサに流用する従来技術として、例えば、特許文献1がある。特許文献1の発明は、μITRON(登録商標)をベースにしたシングルプロセッサ用のオペレーティングシステム(OS:Operating System)をマルチプロセッサに移植するものである。
ただし、特許文献1の発明は、マルチプロセッサのシステムをSMP(Symmetric Multi Processor)型のみのプロセッサで構築すると、シングルプロセッサの資産であるアプリケーションの移植作業の作業量が膨大になるという欠点がある。また、既に開発済みのアプリケーションを複数動作させる場合、マルチプロセッサ向けに統合作業を行うよりも、複数のOSを動作させて対応することが考えられる。
特開平8−297581号公報
マルチプロセッサにおいて複数のOSを使用する場合、複数のOSの各々が複数のプロセッサを分担して制御することになる。各OSが制御するプロセッサ及び数は、OSが起動した時点でOSに認識され、以降再起動するまで変化しない。
しかしながら、マルチプロセッサでは、各プロセッサに割り当てられる処理量が常に均等であるとは限らない。このため、複数OSを使用するマルチプロセッサにあっては、1つのOSに処理が集中した場合、このOSの処理が滞ってマルチプロセッサ全体の稼動に影響がでるおそれがある。
本発明は、このような点に鑑みてなされたものであり、複数のプロセッサを複数のOSが各々分担して制御する場合、処理の状況に応じて各OSにかかる負荷を調整することができ、処理効率の高いマルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
以上の課題を解決するため、本発明のマルチプロセッサは、複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサであって、前記複数のオペレーティングシステムの各々にかかる負荷を判定する負荷判定手段と、前記負荷判定手段によって少なくとも一のオペレーティングシステムにかかる負荷が大きいと判断された場合、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々にかかる負荷を調整する負荷調整手段と、を備えることを特徴とする。
このような発明によれば、複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサにおいて、複数のオペレーティングシステムの各々にかかる負荷を判定し、少なくとも一のオペレーティングシステムにかかる負荷が大きい場合、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々にかかる負荷を調整し、このオペレーティングシステムの負荷を軽減することができる。
このため、本発明は、処理の状況に応じて各OSにかかる負荷を調整することができ、処理効率の高いマルチプロセッサを提供することができる。
また、本発明のマルチプロセッサは、前記負荷判定手段が、複数のオペレーティングシステムのうちの1つにかかる負荷についてのみ大きいか否か判定し、前記負荷調整手段は、前記負荷判定手段による判定の結果に基づいて該オペレーティングシステムに対する他のオペレーティングシステムによる負荷の調整の要求に対応することを特徴とする。
このような構成によれば、本実施形態は、負荷判定手段が、各OSにおいてこのOSの負荷の判定及び調整を実行することによって複数のOS間で負荷の調整を行うことができる。このため、複数のOS間における負荷の判定及び調整を比較的簡易に行うことができる。
また、本発明のマルチプロセッサは、前記負荷判定手段が、一のオペレーティングシステムが担当して実行する処理の数によって一のオペレーティングシステムにかかる負荷を判定することを特徴とする。
このような発明によれば、各オペレーティングシステムにかかる負荷を比較的簡易に、かつ正確に判定することができる。
また、本発明のマルチプロセッサは、一のオペレーティングシステムが担当して実行する処理をタスクとして管理するスケジュール手段を備え、前記負荷判定手段は、前記スケジュール手段によって管理されるタスクを単位にして一のオペレーティングシステムにかかる負荷を判断することを特徴とする。
このような発明によれば、オペレーティングシステムにかかる負荷を処理の種別によらず正確にかつ簡易に判定することができる。
また、本発明のマルチプロセッサは、前記負荷調整手段が、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々が担当して動作させる単位プロセッサの数を調整することによってオペレーティングシステムの各々にかかる負荷を調整することを特徴とする。
このような発明によれば、オペレーティングシステムが処理をするのに使用できる単位プロセッサの数を増減するという比較的簡単な方法によってオペレーティングシステムの負荷を調整することができる。このため、本発明は、比較的簡易な制御でありながら確実にマルチプロセッサ上で動作する複数のオペレーティングシステムの負荷を調整することができる。
また、本発明のマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムは、複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムであって、前記複数のオペレーティングシステムの各々おいて、該オペレーティングシステムにかかる負荷を判定する負荷判定ステップと、前記負荷判定ステップにおいてオペレーティングシステムにかかる負荷が大きいと判断された場合、他のオペレーティングシステムとの間で該オペレーティングシステムが担当する単位プロセッサの数を調整する負荷調整ステップと、を含むことを特徴とする。
このような発明によれば、複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサにおいて、複数のオペレーティングシステムの各々において、該オペレーティングシステムかかる負荷を判定し、オペレーティングシステ間でオペレーティングシステムの各々にかかる負荷を調整し、このオペレーティングシステムの負荷を軽減することができる。
このため、本発明は、処理の状況に応じて各OSにかかる負荷を調整することによって高い処理効率を得るマルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムを提供することができる。
以下、図を参照して本発明に係るマルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムの一実施の形態を説明する。
図1は、本発明の一実施形態のマルチプロセッサの構成を説明するための図である。本実施形態のマルチプロセッサは、複数のプロセッサ(プロセッサを構成するプロセッサであるため単位プロセッサと記す)P0、P1、P2、P3と、メモリ103とを備えている。メモリ103は、単位プロセッサP0〜P3を動作させる複数のOS(オペレーティングシステム:Operating System)A、Bを保存している。また、メモリ103の少なくとも一部は、単位プロセッサP0〜P3によって共有される共有メモリ101である。
図2ないし4は、本実施形態のマルチプロセッサの構成及びOSの負荷調整の動作を説明するための図である。特に図2は、本実施形態のマルチプロセッサの負荷調整の開始動作を示し、図3は負荷調整の完了、図4は完了した負荷調整を再度調整前の状態に戻す動作を示している。
図2に示したように、本実施形態のマルチプロセッサは、複数のOS−A及びOS−Bと、複数のOS−A、Bが分担して動作させる複数の単位プロセッサP0〜P3を備えている。図2に示した例では、OS−Aが単位プロセッサP0、単位プロセッサP1を担当して動作させ(以下管理すると記す)、OS−Bが単位プロセッサP2、単位プロセッサP3を管理している。
また、OS−A、OS−Bは、いずれも担当するプロセッサで処理されるタスクのスケジュールを管理するためのOS管理テーブル203を備えている。OS管理テーブル203は、タスクを実行の順序にしたがって記録するレディキュー204を作成する。レディキュー204におけるタスクの実行順序は、タスクの切替え等の発生によって変更され得る。レディキュー204におけるタスクの実行順序の変更を再スケジューリングとも記す。
スケジューラ201a、201bは、レディキュー204に基づいてタスクの実行順序を制御するプログラムであって、本実施形態ではレディキュー204にあるタスクの数から自OSにかかる負荷を判定する構成としても機能するものとする。負荷の判定は、1つのOSが管理するプログラムの処理の数によって行われる。本実施形態では、処理の数をタスクと呼ばれるプログラムの処理単位を単位にして定義する。
OS−A、OS−Bは、自OSのスケジューラ201a、201bに基づいて一のOS(自OSである)にかかる負荷が大きいと判断された場合、複数のOSのうち少なくとも一部のOSの各々にかかる負荷を調整する。本実施形態は、複数のOSのうち少なくとも一部のオペレーティングシステムの各々が担当して動作させる単位プロセッサの数を加減して調整することにより負荷の調整を実行する。なお、各OSが現在管理している単位プロセッサの数は、OS管理テーブル203のプロセッサ数記録部205に保存されている。
以上の構成において、OS−A、OS−Bは、複数のOSの各々にかかる負荷を判定する負荷判定手段として機能する。また、OS−A、OS−Bは、自OSにかかる負荷を調整する負荷調整手段として機能する。なお、本実施形態は、OS−A、OS−Bが、1つのOSにかかる負荷についてのみ大きいか否か判定し、判定の結果に基づいて自OSに対する他のオペレーティングシステムによる負荷の調整の要求に対応する。
このような構成によれば、本実施形態は、各OSが自OSの負荷の判定及び調整を実行することができる。このため、複数のOS間における負荷の判定及び調整を比較的簡易に行うことができる。
以上述べた構成は、以下のように動作する。すなわち、マルチプロセッサが起動することにより、マルチプロセッサに保存されているOS−A、OS−Bがそれぞれ起動する。OS−A、OS−Bは、起動直後に初期化され、このときに自OSが動作を担当すべき単位プロセッサの数を取得する。取得された単位プロセッサの数は、各OSのOS管理テーブル203において管理される。
マルチプロセッサの動作中、スケジューラ201は、レディキュー204として実行が予定されているタスクの数に基づいて自OSにかかる負荷の高低を判定する。この判定は、例えば、レディキュー204で実行が予定されているタスクの数が所定の数より多いか否かによって実現できる。
所定のタスク数は、予めOS管理テーブル203に設定しておくものであってもよいし、OS−A、OS−Bが初期化されるたびに設定されるものであってもよい。また、初期化の際、所定のタスク数を、OS−A、OS−Bが初期化時に管理している単位プロセッサの数によって変化することも考えられる。
例えば、OS−Bにおいてレディキュー204に記録されたタスクが所定の数になった場合、スケジューラ201bがOS−Bにかかる負荷が大きくなったと判断する。このような場合、スケジューラ201bは、OS−Aに対してOS−Aが使用できる単位プロセッサの増加を要求する。
単位プロセッサ増加の要求は、例えば、OS−Bが単位プロセッサを要求すること、OS−Bが現在使用している単位プロセッサの数、自OSの識別情報等を共有メモリ101に書き込むことによって実現することができる。OS−Aは、共用メモリ101を参照し、OS−Bが単位プロセッサの増加を要求していることを認識できる。
OS−Aは、OS−Bの要求を受付けるか否か判定する(この判定を受付判定とも記す)。受付判定は、例えば、OS−Aの負荷をOS−Aのレディキュー204のタスク数等から判断することによって実現することができる。そして、OS−Bの負荷と比べ、OS−Aにかかる負荷が軽いと判断した場合にのみ要求を受付けるようにしてもよい。
受付判定において、OS−AがOS−Bの要求を受付けると判定した場合(A)、図3に示すように、スケジューラ201aは、OS−Aが管理しているプロセッサ数記録部205に記録されているプロセッサ数を1つ減じる。そして、減じた単位プロセッサがスリープあるいはコンテキストスイッチしたタイミングでさらにタスクを割り当てないようOS−Aがスケジューリングする。
なお、受付判定において、OS−Aは、自OSにかかる負荷が大きい(OS−Aにおいてレディキューのタスクが所定の数以上)と判定した場合にはOS−Bの単位プロセッサの要求に応じない。このような本実施形態は、各OSが個別に自OSにのみかかる負荷を判定する。そして、判定の結果に基づいて自OSに対する他のOSによる負荷の調整の要求に対応することにより複数のOS間で負荷を調整することができる。
また、OS−Bは、プロセッサ数記録部205に記録されているプロセッサ数を1つ増加する。そして、増加した単位プロセッサに対し、レディキュー204に記録されているタスクを割り当てるようスケジューリングしなおす。以上の処理により、OS−AからOS−Bへの単位プロセッサの移動が完了する。
さらに、本実施形態のマルチプロセッサは、OSにかかる負荷が軽くなった場合、いったん増加させた単位プロセッサを移動前に管理されていたOSに戻すこともできる。OSの負荷が軽くなったか否かの判断は、例えば、次のようにして実行することができる。
すなわち、本実施形態では、OS−Bにおいて、スケジューラ201bがレディキュー204において単位プロセッサの割当を待つ状態(待機状態)のタスクがない状態が継続した時間を計時する。そして、計時された時間が所定の時間に達した場合、OS−Bにかかる負荷が軽減されたと判断する。さらに、本実施形態では、OS−Bが起動時に管理していた単位プロセッサの数と現在管理している単位プロセッサの数とを比較する。
比較の結果、現在管理されている単位プロセッサの数が起動時に管理していた単位プロセッサの数よりも多い場合には、本実施形態では、OS−BがOS−Aに要求した単位プロセッサをOS−Aに返すものとする。
また、OS−Bにかかる負荷の軽減、単位プロセッサの返却は、レディキュー204のタスクの数が所定の数より少なくなった場合に行ってもよい。この場合、所定のタスク数は、予めOS管理テーブル203に設定しておくものであってもよいし、OS−A、OS−Bが初期化されるたびに設定されるものであってもよい。また、初期化の際、所定のタスク数を、OS−A、OS−Bが初期化時に管理している単位プロセッサの数によって変化することも考えられる。
例えば、OS−Bにおいてレディキュー204に記録されたタスクが所定の数以下になった場合、スケジューラ201bがOS−Bにかかる負荷が軽くなったと判断する。このような場合、スケジューラ201bは、OS−Aに対してOS−Aに要求した単位プロセッサを返却することを通知する。
単位プロセッサ返却の通知は、例えば、OS−Bが単位プロセッサを返却すること、OS−Bが現在使用している単位プロセッサの数、自OSの識別情報等を共有メモリ101に書き込むことによって実現することができる。OS−Aは、共用メモリ101を参照し、OS−Bから単位プロセッサの返却通知があったことを認識できる。
OS−Aは、受付判定において、OS−AがOS−Bの単位プロセッサ返却を受付けると判定した場合、図4に示すように、スケジューラ201bは、OS−Aに増加を要求して現在自OSが管理している単位プロセッサに対し、この単位プロセッサがスリープあるいはコンテキストスイッチしたタイミングでさらにタスクを割り当てないようスケジューリングする。またOS−Aは、プロセッサ数記録部205に記録されているプロセッサ数を1つ減じる。
一方、OS−Aは、プロセッサ数記録部205に記録されているプロセッサ数を1つ増加する。そして、増加した単位プロセッサに対し、レディキュー204に記録されているタスクを割り当てるようスケジューリングしなおす。以上の処理により、OS−BからOS−Aへの単位プロセッサの返却が完了する。
図5及び図6は、以上述べた本実施形態のマルチプロセッサで実行される制御方法をコンピュータに実行させるためのプログラムを説明するためのフローチャートである。OS(OS−AまたはOS−Bのいずれであってもよい)は、起動時に初期化され(S501)、実行状態になってイベントの発生に備えて待機する(S502)。なお、図5のフローチャートでいうイベントは、OS内部の要求を抽象化した概念である。
OSは、イベント発生すると、発生したイベントの内容を判定する(S503)。そして、この判定の結果得られたイベントの内容に応じて動作する。先ず、発生したイベントがプロセッサの追加を通知するものであった場合(S504:Yes)、OSは、プロセッサ数記録部205に保存されている単位プロセッサの数を1つ加算する(S505)。そして、スケジューラにスケジューリングを要求する(S506)。なお、スケジューリングの要求は、定期的にも実行されている。
また、OSは、イベントがスケジューリング要求であると判定した場合(S507:Yes)、レディキュー204にあるタスクを取り出して自OSが管理している複数の単位プロセッサの各々に割り当てる(S508)。次に、単位プロセッサの切り離し(一のOSによって管理されていた単位プロセッサをこのOSによる管理対象から除外する)の要求が通知されたか、または単位プロセッサの切り離しを要求する処理の実行中であるかを判断する(S509)。ステップS509の判断において、切り離し要求、切り離し要求の処理の実行中のいずれかであった場合(S509:Yes)、要求に沿って単位プロセッサを切り離す。そして、単位プロセッサを切り離したことを、切り離しを要求したOSに通知する(S510)。
また、発生したイベントが、レディキュー204に所定の数(X個)以上の待機状態のタスクがあることを示すものである場合(S511:Yes)、OSは、他のOSに単位プロセッサを要求する(S512)。
また、OSは、図6に示したように、レディキュー204において待機しているタスクがない状態が継続しているか否か判断する(S601)。そして、自OSが現在管理している単位プロセッサの数が起動時に管理していた単位プロセッサの数より多いか否か判断する(S602)。判断の結果、現在管理している単位プロセッサの数の方が多い場合(S602:Yes)、自OSが管理している単位プロセッサを切り離し、この単位プロセッサを要求したOSに移動(返却)する(S603)。
なお、本実施形態では、ステップS602において、OSによって管理されている単位プロセッサの増加がないと判断された場合(S602:No)、単位プロセッサの返却は行わないものとする。
さらに、OSは、単位プロセッサの切り離し、または単位プロセッサの要求のイベントが発生したか否か判断する(S604)。OSは、切り離し要求、単位プロセッサの要求いずれがなされた場合にも、自OSの負荷が軽いか否か判断する(S605)。ステップS605の判断は、例えば、レディキュー204おける待機状態のタスクの数等によって実現できる。ステップS605において、自OSの負荷が軽くないと判断された場合(S605:No)、OSは再び実行状態に戻る。
このような動作により、本実施形態は、単位プロセッサが要求された場合であっても、OSは、自OSにかかる負荷が大きい場合には他のOSに単位プロセッサを提供することはない。また、OSは、自OSにかかる負荷が大きい場合に単位プロセッサを返却することがない。
ステップS605において、負荷が軽いと判断された場合、OSは、プロセッサ数記録部205に保存されている単位プロセッサの数を1つ減じる(S606)。そして、スケジューラに対してスケジューリングを要求する(S607)。
なお、以上の動作において、各イベントの発生の判断においてイベントが発生していないと判断された場合(S504,S507,S509,S511,S602,S604:No)、再度実行状態に戻ってイベントの判定を繰り返す。
以上述べた本実施形態によれば、複数のOSが分担して単位プロセッサP0〜P3を動作させるマルチプロセッサにおいて、複数のOSの各々において、このOSかかる負荷を判定し、判定の結果から、OS間でOSの各々にかかる負荷を調整することができる。
このため、本発明は、処理の状況に応じて各OSにかかる負荷を調整することができ、負荷の大きいOSにはより多くの単位プロセッサを割り当てて処理効率の高いマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムを提供することができる。
なお、図5、図6のフローチャートで示した本実施形態のマルチプロセッサの制御方法をコンピュータに実行させるプログラム(本実施形態ではOS)は、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フロッピー(登録商標)ディスク(FD)、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、本実施形態のマルチプロセッサの制御方法をコンピュータに実行させるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
さらに、以上述べた本実施形態のマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムは、コンピュータで読み取り可能なROM、フラッシュメモリ、メモリカード、USB接続型フラッシュメモリ等のメモリデバイスに記録されて提供してもよい。
本発明の一実施形態のマルチプロセッサの構成を説明するための図である。 本発明の一実施形態のマルチプロセッサの負荷調整の開始動作を説明するための図である。 本発明の一実施形態のマルチプロセッサの負荷調整の完了動作を説明するための図である。 本発明の一実施形態のマルチプロセッサにおいて完了した負荷調整を再度調整前の状態に戻す動作を説明するための図である。 本発明の一実施形態のマルチプロセッサで実行される制御方法をコンピュータに実行させるためのプログラムを説明するためのフローチャートである。 本発明の一実施形態のマルチプロセッサで実行される制御方法をコンピュータに実行させるためのプログラムを説明するための他のフローチャートである。
符号の説明
101 共用メモリ、103 メモリ、201a、201b スケジューラ、203 OS管理テーブル、204 レディキュー、205 プロセッサ数記録部、P0,P1,P2,P3 単位プロセッサ

Claims (6)

  1. 複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサであって、
    前記複数のオペレーティングシステムの各々にかかる負荷を判定する負荷判定手段と、
    前記負荷判定手段によって少なくとも一のオペレーティングシステムにかかる負荷が大きいと判断された場合、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々にかかる負荷を調整する負荷調整手段と、
    を備えることを特徴とするマルチプロセッサ。
  2. 前記負荷判定手段は、複数のオペレーティングシステムのうちの1つにかかる負荷についてのみ大きいか否か判定し、前記負荷調整手段は、前記負荷判定手段による判定の結果に基づいて該オペレーティングシステムに対する他のオペレーティングシステムによる負荷の調整の要求に対応することを特徴とする請求項1に記載のマルチプロセッサ。
  3. 前記負荷判定手段は、一のオペレーティングシステムが担当して実行する処理の数によって一のオペレーティングシステムにかかる負荷を判定することを特徴とする請求項1または2に記載のマルチプロセッサ。
  4. 一のオペレーティングシステムが担当して実行する処理をタスクとして管理するスケジュール手段を備え、前記負荷判定手段は、前記スケジュール手段によって管理されるタスクを単位にして一のオペレーティングシステムにかかる負荷を判断することを特徴とする請求項3に記載のマルチプロセッサ。
  5. 前記負荷調整手段は、複数のオペレーティングシステムのうち少なくとも一部のオペレーティングシステムの各々が担当して動作させる単位プロセッサの数を調整することによってオペレーティングシステムの各々にかかる負荷を調整することを特徴とする請求項1から4のいずれか1項に記載のマルチプロセッサ。
  6. 複数のオペレーティングシステムと、複数の前記オペレーティングシステムが分担して動作させる複数の単位プロセッサを備えるマルチプロセッサの制御方法をコンピュータに実行させるためのプログラムであって、
    前記複数のオペレーティングシステムの各々おいて、該オペレーティングシステムにかかる負荷を判定する負荷判定ステップと、
    前記負荷判定ステップにおいてオペレーティングシステムにかかる負荷が大きいと判断された場合、他のオペレーティングシステムとの間で該オペレーティングシステムが担当する単位プロセッサの数を調整する負荷調整ステップと、
    を含むことを特徴とするマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム。
JP2006004655A 2006-01-12 2006-01-12 マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム Withdrawn JP2007188212A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006004655A JP2007188212A (ja) 2006-01-12 2006-01-12 マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006004655A JP2007188212A (ja) 2006-01-12 2006-01-12 マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム

Publications (1)

Publication Number Publication Date
JP2007188212A true JP2007188212A (ja) 2007-07-26

Family

ID=38343351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006004655A Withdrawn JP2007188212A (ja) 2006-01-12 2006-01-12 マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム

Country Status (1)

Country Link
JP (1) JP2007188212A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010079908A (ja) * 2008-09-26 2010-04-08 Samsung Electronics Co Ltd メモリ管理装置及びその方法
DE112009001700T5 (de) 2008-07-22 2011-06-01 Toyota Jidosha Kabushiki Kaisha Multikernsystem, fahrzeugseitige elektronische Steuerungseinheit und Aufgabenumschaltverfahren
JP2013037290A (ja) * 2011-08-10 2013-02-21 Canon Inc 情報処理システム、情報処理方法、及びプログラム
US8555289B2 (en) 2010-03-16 2013-10-08 Samsung Electronics Co., Ltd. System and method for dynamically managing tasks for data parallel processing on multi-core system
JP2014515526A (ja) * 2011-06-01 2014-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション デュアル動作システムに対する複数のリソースのためのリソース割り当て
US9342365B2 (en) 2012-03-15 2016-05-17 Samsung Electronics Co., Ltd. Multi-core system for balancing tasks by simultaneously comparing at least three core loads in parallel

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112009001700T5 (de) 2008-07-22 2011-06-01 Toyota Jidosha Kabushiki Kaisha Multikernsystem, fahrzeugseitige elektronische Steuerungseinheit und Aufgabenumschaltverfahren
US8856196B2 (en) 2008-07-22 2014-10-07 Toyota Jidosha Kabushiki Kaisha System and method for transferring tasks in a multi-core processor based on trial execution and core node
DE112009001700B4 (de) 2008-07-22 2019-02-07 Toyota Jidosha Kabushiki Kaisha Multikernsystem, fahrzeugseitige elektronische Steuerungseinheit und Aufgabenumschaltverfahren
JP2010079908A (ja) * 2008-09-26 2010-04-08 Samsung Electronics Co Ltd メモリ管理装置及びその方法
US9250968B2 (en) 2008-09-26 2016-02-02 Samsung Electronics Co., Ltd. Method and memory manager for managing a memory in a multi-processing environment
US8555289B2 (en) 2010-03-16 2013-10-08 Samsung Electronics Co., Ltd. System and method for dynamically managing tasks for data parallel processing on multi-core system
JP2014515526A (ja) * 2011-06-01 2014-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション デュアル動作システムに対する複数のリソースのためのリソース割り当て
US9396027B2 (en) 2011-06-01 2016-07-19 International Business Machines Corporation Resource allocation for a plurality of resources for a dual activity system
JP2013037290A (ja) * 2011-08-10 2013-02-21 Canon Inc 情報処理システム、情報処理方法、及びプログラム
US9342365B2 (en) 2012-03-15 2016-05-17 Samsung Electronics Co., Ltd. Multi-core system for balancing tasks by simultaneously comparing at least three core loads in parallel

Similar Documents

Publication Publication Date Title
JP4370336B2 (ja) 低消費電力ジョブ管理方法及び計算機システム
US7979861B2 (en) Multi-processor system and program for causing computer to execute controlling method of multi-processor system
KR101686010B1 (ko) 실시간 멀티코어 시스템의 동기화 스케쥴링 장치 및 방법
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
JP2013186745A (ja) 処理システム及びプログラム
US7941643B2 (en) Multi-thread processor with multiple program counters
WO2017179537A1 (ja) ソフトウェア更新制御装置、ソフトウェア更新制御システム、ソフトウェア更新制御方法、及び、ソフトウェア更新制御プログラムが格納された記録媒体
JP2007188212A (ja) マルチプロセッサ及びマルチプロセッサの制御方法をコンピュータに実行させるためのプログラム
JP2007041720A (ja) ジョブステップ実行プログラムおよびジョブステップ実行方法
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
WO2008062647A1 (en) Multiprocessor system, system configuration method in multiprocessor system, and program thereof
JP2008123157A (ja) プロセッサ及び割込み制御方法
WO2020091916A1 (en) Resource conservation for containerized systems
US20140115601A1 (en) Data processing method and data processing system
US10523746B2 (en) Coexistence of a synchronous architecture and an asynchronous architecture in a server
US9336049B2 (en) Method, system, and program for scheduling jobs in a computing system
JP5549189B2 (ja) 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム
JP3953449B2 (ja) タスク管理プログラムおよびタスク制御装置
JP2008204243A (ja) ジョブ実行制御方法およびシステム
CN111158875B (zh) 基于多模块的多任务处理方法、装置及***
CN116048756A (zh) 一种队列调度方法、装置及相关设备
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
US20070186213A1 (en) Task execution system
WO2024024102A1 (ja) 計算機システム、タスクスケジューラ装置、待ちプロセス起床方法およびプログラム
US11403138B2 (en) Method and electronic device for handling relative priority based scheduling procedure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081001

A131 Notification of reasons for refusal

Effective date: 20111101

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20111222

Free format text: JAPANESE INTERMEDIATE CODE: A523

A131 Notification of reasons for refusal

Effective date: 20120626

Free format text: JAPANESE INTERMEDIATE CODE: A131

A761 Written withdrawal of application

Effective date: 20120718

Free format text: JAPANESE INTERMEDIATE CODE: A761