特許第5676664号(P5676664)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特許5676664リソース管理装置、リソースの管理方法、及びプログラム
<>
  • 特許5676664-リソース管理装置、リソースの管理方法、及びプログラム 図000002
  • 特許5676664-リソース管理装置、リソースの管理方法、及びプログラム 図000003
  • 特許5676664-リソース管理装置、リソースの管理方法、及びプログラム 図000004
  • 特許5676664-リソース管理装置、リソースの管理方法、及びプログラム 図000005
  • 特許5676664-リソース管理装置、リソースの管理方法、及びプログラム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5676664
(24)【登録日】2015年1月9日
(45)【発行日】2015年2月25日
(54)【発明の名称】リソース管理装置、リソースの管理方法、及びプログラム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20150205BHJP
【FI】
   G06F9/46 465A
   G06F9/46 465C
【請求項の数】7
【全頁数】15
(21)【出願番号】特願2013-36673(P2013-36673)
(22)【出願日】2013年2月27日
(65)【公開番号】特開2014-164635(P2014-164635A)
(43)【公開日】2014年9月8日
【審査請求日】2013年2月27日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】110000682
【氏名又は名称】特許業務法人ワンディーIPパートナーズ
(72)【発明者】
【氏名】渡辺 冬樹
【審査官】 田中 幸雄
(56)【参考文献】
【文献】 特開2004−252900(JP,A)
【文献】 特開2006−155480(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/50
(57)【特許請求の範囲】
【請求項1】
特定のプロセスを実行する第1のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第2のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための装置であって、
一定条件下において、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、管理部と、
前記管理部によって許可された場合に、前記第1のプロセッサに前記汎用プロセスを実行させる、プロセス実行部と、
を備え、
前記プロセス実行部は、前記第1のプロセッサが前記汎用プロセスを実行している際に、前記特定のプロセスを検出すると、前記第1のプロセッサに、前記汎用プロセスの実行を中止させて、検出した前記特定のプロセスを実行させる、
ることを特徴とするリソース管理装置。
【請求項2】
前記管理部は、実行可能な前記特定のプロセスが存在せず、且つ、全ての前記第2のプロセッサが前記汎用プロセスを実行している、ことを条件に、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、
請求項1に記載のリソース管理装置。
【請求項3】
前記第2のプロセッサによって前記汎用プロセスが実行されているときに、前記特定のプロセスが検出されると、実行中の特定のプロセスが存在していないことを条件に、前記プロセス実行部が、前記第1のプロセッサに、検出された前記特定のプロセスを実行させる、
請求項2に記載のリソース管理装置。
【請求項4】
前記第1のプロセッサ及び前記第2のプロセッサがプロセスを実行中であるかどうかを示す識別子を格納する、格納部を更に備え、
前記管理部は、前記識別子に基づいて、全ての前記第2のプロセッサが前記汎用プロセスを実行していることを特定して、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、
請求項2または3に記載のリソース管理装置。
【請求項5】
前記プロセス実行部は、実行可能な前記汎用プロセスが存在する場合に、前記識別子に基づいて、前記汎用プロセスを実行中にない前記第2のプロセッサを特定し、特定した前記第2のプロセッサに、実行可能な前記汎用プロセスを実行させる、
請求項4に記載のリソース管理装置。
【請求項6】
特定のプロセスを実行する第1のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第2のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための方法であって、
(a)一定条件下において、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
(b)前記(a)のステップによって許可された場合に、前記第1のプロセッサに前記汎用プロセスを実行させる、ステップと、
(c)前記第1のプロセッサが前記汎用プロセスを実行している際に、前記特定のプロセスを検出すると、前記第1のプロセッサに、前記汎用プロセスの実行を中止させて、検出した前記特定のプロセスを実行させる、ステップと、
を有することを特徴とするリソース管理方法。
【請求項7】
特定のプロセスを実行する第1のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第2のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するためのプログラムであって、
前記コンピュータに、
(a)一定条件下において、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
(b)前記(a)のステップによって許可された場合に、前記第1のプロセッサに前記汎用プロセスを実行させる、ステップと、
(c)前記第1のプロセッサが前記汎用プロセスを実行している際に、前記特定のプロセスを検出すると、前記第1のプロセッサに、前記汎用プロセスの実行を中止させて、検出した前記特定のプロセスを実行させる、ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルチプロセッサシステムにおいてプロセッサリソースを管理するための、リソース管理装置及びリソースの管理方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【0002】
近年、コンピュータシステムにおける処理性能の向上を図るため、複数のプロセッサを備えるマルチプロセッサシステムが利用されている。また、マルチプロセッサシステムとしては、対等で対象的な汎用プロセッサのみを備えるシステムと、汎用のプロセッサに加えて特定のプロセスのみを実行する専用プロセッサも備えるシステムとが知られている。前者は、SMP(Symmetric Multiple Processor)システムと呼ばれ、後者は、ASMP(Asymmetric Multi-Processor)システムと呼ばれている。
【0003】
また、上記の2種類のマルチプロセッサシステムのうち、ASMPシステムは、SMPシステムに比べて、システム設計を容易なものとできることから、近年利用が増加している。
【0004】
例えば、特許文献1は、ASMPシステムを開示している。特許文献1に開示されたASMPシステムでは、専用プロセッサは特定のプロセスを実行し、汎用プロセッサは特定のプロセスを除く汎用プロセスを実行する。
【0005】
また、特許文献2も、ASMPシステムを開示している。特許文献2に開示されたASMPシステムでは、要求されたデッドラインまでに処理を完了するため、専用プロセッサでの処理を実行する前に、専用プロセッサではデッドラインを守れるかどうかが判定され、判定結果に基づいたスケジューリングが行なわれる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3818172号公報
【特許文献2】特開2007−219937号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、特許文献1及び特許文献2に開示されたシステムでは、一つのプロセッサが、特定のプロセスのみを実行する専用プロセッサとして割り当てられるため、汎用プロセスを実行するためのプロセッサリソースが不足することがある。
【0008】
しかしながら、特許文献1及び特許文献2に開示されたシステムにおいては、専用プロセッサは、実行すべき特定のプロセスが無くても、汎用プロセスを実行できないため、上述のプロセッサリソースの不足を解消することは困難である。また、この結果、専用プロセッサのリソースを有効に活用できないという問題も生じてしまう。
【0009】
本発明の目的の一例は、上記問題を解消し、専用プロセスを実行する専用プロセッサを有効利用することによって、汎用プロセッサのプロセッサリソース不足を解消し得る、リソース管理装置、リソースの管理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の一側面におけるリソース管理装置は、特定のプロセスを実行する第1のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第2のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための装置であって、
一定条件下において、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、管理部と、
前記管理部によって許可された場合に、前記第1のプロセッサに前記汎用プロセスを実行させる、プロセス実行部と、
を備えていることを特徴とする。
【0011】
また、上記目的を達成するため、本発明の一側面におけるリソース管理方法は、特定のプロセスを実行する第1のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第2のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための方法であって、
(a)一定条件下において、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
(b)前記(a)のステップによって許可された場合に、前記第1のプロセッサに前記汎用プロセスを実行させる、ステップと、
を有することを特徴とする。
【0012】
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、特定のプロセスを実行する第1のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第2のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するためのプログラムであって、
前記コンピュータに、
(a)一定条件下において、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
(b)前記(a)のステップによって許可された場合に、前記第1のプロセッサに前記汎用プロセスを実行させる、ステップと、
を実行させることを特徴とする。
【発明の効果】
【0013】
以上のように、本発明によれば、専用プロセスを実行する専用プロセッサを有効利用することによって、汎用プロセッサのプロセッサリソース不足を解消することができる。
【図面の簡単な説明】
【0014】
図1図1は、本発明の実施の形態におけるリソース管理装置の構成を示すブロック図である。
図2図2は、本発明の実施の形態2におけるリソース管理装置の構成を具体的に示すブロック図である。
図3図3は、図2に示すプロセッサ制御情報格納部に格納されているプロセッサ状態とプロセッサ情報との一例を示す図である。
図4図4は、本発明の実施の形態におけるリソース管理装置の動作を示すフロー図である。
図5図5(a)は、本実施の形態における専用プロセス及び汎用プロセスの実行を時系列に沿って示す図である。図5(b)は、従来における専用プロセス及び汎用プロセスの実行を時系列に沿って示す図である。
【発明を実施するための形態】
【0015】
(実施の形態)
以下、本発明の実施の形態における、リソース管理装置、リソースの管理方法、及びプログラムについて、図1図4を参照しながら説明する。
【0016】
[装置構成]
最初に、図1を用いて本発明の実施の形態におけるリソース管理装置の構成について説明する。図1は、本発明の実施の形態におけるリソース管理装置の構成を示すブロック図である。
【0017】
図1に示すように、本実施の形態におけるリソース管理装置20は、コンピュータ5においてプロセッサリソースを管理するための装置である。また、コンピュータ5は、特定のプロセス(以下「専用プロセス」と表記する。)を実行する第1のプロセッサ1と、特定のプロセス以外の汎用プロセスを実行する第2のプロセッサ2及び3とを備えている。
【0018】
なお、以降において、特定のプロセスは「専用プロセス」と表記し、第1のプロセッサは「専用プロセッサ」と表記する。また、第2のプロセッサは「汎用プロセッサ」と表記する。
【0019】
また、図1に示すように、リソース管理装置20は、一定条件下において専用プロセッサ1による汎用プロセスの実行を許可する管理部11と、管理部11によって許可された場合に専用プロセッサ1に汎用プロセスを実行させるプロセス実行部10とを備えている。
【0020】
以上のように、本実施の形態におけるリソース管理装置20では、一定条件下、例えば、全ての汎用プロセッサ2及び3が処理実行中にあって、実行すべき汎用プロセスを実行できない場合に、専用プロセッサ1によって汎用プロセスを実行することができる。このため、専用プロセスを実行する専用プロセッサ1を有効利用することによって、汎用プロセッサ2及び3のプロセッサリソース不足を解消することができる。
【0021】
ここで、更に図2及び図3を用いて、本実施の形態におけるリソース管理装置の構成を具体的に説明する。図2は、本発明の実施の形態2におけるリソース管理装置の構成を具体的に示すブロック図である。
【0022】
まず、図2に示すように、コンピュータ5は、専用プロセッサ1、汎用プロセッサ2及び3に加えて、メモリ等の記憶装置4を備えている。また、本実施の形態では、リソース管理装置20は、コンピュータ5のオペレーティングシステム(図2において図示せず)上で動作するプログラムによって構築されている。このため、後述するように、専用プロセッサ1、汎用プロセッサ2及び3のうちのいずれかが、プロセス実行部10及び管理部11として機能し、処理を行なう。
【0023】
更に、図2に示すように、リソース管理装置20は、プロセス実行部10及び管理部11に加えて、プロセッサ制御情報格納部12と、プロセス情報格納部14とを備えている。プロセッサ制御情報格納部12及びプロセス情報格納部14は、コンピュータ5の記憶装置4の記憶領域上に構築されている。
【0024】
このうち、プロセッサ制御情報格納部12は、専用プロセッサ及び汎用プロセッサがプロセスを実行中であるかどうかを示す識別子(以下「プロセッサ状態」と表記する。)13を格納している。また、図2には示されていないが、プロセッサ制御情報格納部12は、更に、各プロセッサの情報(以下「プロセッサ情報」と表記する。)も格納している。
【0025】
図3は、図2に示すプロセッサ制御情報格納部に格納されているプロセッサ状態とプロセッサ情報との一例を示す図である。図3に示すように、本実施の形態では、プロセッサ制御情報格納部12は、プロセッサ情報として、プロセッサ毎のバイトアドレスと、プロセッサ毎のプロセッサ種別とを格納している。また、プロセッサ制御情報格納部12は、プロセッサ毎に、プロセッサ状態13を格納している。
【0026】
よって、プロセス実行部10及び管理部11は、プロセッサ制御情報格納部12にアクセスし、これに格納されているプロセッサ状態を確認することにより、専用プロセッサ及び汎用プロセッサがプロセスを実行中であるか否かを判断することができる。
【0027】
また、プロセス情報格納部14は、実行可能な専用プロセスの一時保存と出力とを行なう専用プロセスキュー15と、実行可能な汎用プロセスの一時保存と出力とを行なう汎用プロセスキュー16とを格納している。プロセス実行部10及び管理部11は、プロセス情報格納部14にアクセスすることにより、実行可能な専用プロセス及び汎用プロセスの存在を確認することができる。
【0028】
よって、本実施の形態では、プロセス実行部10は、専用プロセスキュー15に実行可能な専用プロセスが存在すると、専用プロセッサ1に専用プロセスの実行を開始させる。また、専用プロセスキュー15に実行可能なプロセスが存在しない場合に、管理部11により、専用プロセッサ1での汎用プロセスの実行が許可されると、プロセス実行部10は、専用プロセッサに、汎用プロセスキュー16の汎用プロセスの実行を開始させる。なお、専用プロセスキュー15に実行可能なプロセスが存在しない場合とは、専用プロセッサ1のリソースに空きが生じた状態をいう。
【0029】
また、専用プロセスキュー15に実行可能なプロセスが存在しない場合でも、管理部11により、専用プロセッサ1での汎用プロセスの実行が許可されていないときは、プロセス実行部10は、専用プロセッサに汎用プロセスを実行させない。つまり、プロセス実行部10は、この場合は、汎用プロセスキュー16に汎用プロセスが存在しても、専用プロセッサに汎用プロセスを実行させず、専用プロセスの実行を優先して処理させる。
【0030】
本実施の形態では、「専用プロセッサ1による汎用プロセスの実行の許可」は、管理部11が、記憶装置4の記憶領域上の特定のアドレスに、許可が有効であることを示す識別子又は許可が無効であることを示す識別子を書き込むことによって行なわれている。プロセス実行部10は、書き込まれた識別子を確認することによって、許可が有効となっているか、無効となっているかを確認する。なお、以降において、許可の有効無効を示す識別子を「汎用プロセス実行許可」と表記する。汎用プロセス実行許可は、汎用プロセスのリソースが不足しているか否かを示す識別子である。
【0031】
本実施の形態では、管理部11は、プロセッサ状態13から、全ての汎用プロセッサがプロセスの実行中になっていることを確認すると、汎用プロセッサのリソースが不足していると判断し、汎用プロセスの実行許可を有効に設定する。また、管理部11は、全ての汎用プロセッサが実行状態でない場合、即ち、一つでも空き状態の汎用プロセッサが存在する場合は、汎用プロセッサのリソースには余裕があると判断し、汎用プロセスの実行許可を無効に設定する。
【0032】
また、プロセス実行部10は、汎用プロセスキュー16に実行可能な汎用プロセスが存在する場合は、汎用プロセッサ2又は3に汎用プロセスの実行を開始させる。また、汎用プロセスが実行されているときに、専用プロセスが検出された場合は、プロセス実行部10は、検出した専用プロセスを専用プロセスキュー15に格納する。
【0033】
更に、この場合において、専用プロセスの検出前に専用プロセスキュー15が空であることを条件として、プロセス実行部10は、専用プロセッサ1に、検出された専用プロセスを実行させる。また、このときの専用プロセッサ1への専用プロセスの実行の指示は、専用プロセッサ1への専用プロセスの実行を要求する「専用プロセス実行指示」を有効に設定することによって行なわれる。
【0034】
なお、「専用プロセス実行指示」は、プロセス実行部10によって記憶装置4の記憶領域上の特定のアドレスに書き込まれる、専用プロセス実行指示が有効であることを示す識別子又は専用プロセス実行指示が無効であることを示す識別子である。専用プロセス1は、専用プロセスの実行指示が有効となっている場合は、専用プロセスを実行する。
【0035】
[装置動作]
次に、本発明の実施の形態におけるリソース管理装置20の動作について図4を用いて説明する。図4は、本発明の実施の形態におけるリソース管理装置の動作を示すフロー図である。以下の説明においては、適宜図1図3を参酌する。また、本実施の形態1では、リソース管理装置20を動作させることによって、リソース管理方法が実施される。よって、本実施の形態におけるリソース管理方法の説明は、以下のリソース管理装置20の動作説明に代える。
【0036】
図4に示すように、まず、プロセス実行部10は、プロセッサ状態13に基づいて、空き状態にあるプロセッサが専用プロセッサ1であるかどうかを判定する(ステップS1)。
【0037】
ステップS1の結果、空き状態にあるプロセッサが専用プロセッサ1である場合は、更に、プロセス実行部1は、専用プロセスキュー15に実行可能な専用プロセスが存在しているかどうか、即ち、専用プロセスキュー15が空であるかどうかを判定する(ステップS2)。
【0038】
ステップS2の判定の結果、専用プロセスキュー15に実行可能な専用プロセスが存在している場合は、プロセス実行部10は、専用プロセッサ1に専用プロセスの実行を開始させる(ステップS5)。その後、プロセス実行部10は、プロセッサ状態13の専用プロセッサの状態を実行状態に設定して処理を終了する。
【0039】
一方、ステップ2の判定の結果、専用プロセスキュー15に実行可能な専用プロセスが存在していない場合(専用プロセスキューが空の場合)は、プロセス実行部10は、管理部11によって汎用プロセスの実行が許可されているかどうかを判定する(ステップS3)。
【0040】
ステップS3の判定の結果、管理部11によって汎用プロセスの実行が許可されていない場合は、プロセス実行部10は、プロセス実行部10は、専用プロセッサ1のリソースに余裕があっても、専用プロセッサに汎用プロセスを実行させることができない。よって、プロセス実行部10は処理を終了する。また、このとき、プロセス実行部10は、プロセッサ状態13の専用プロセスの状態を空き状態に設定する(図3参照)。
【0041】
一方、ステップS3の判定の結果、管理部11によって汎用プロセスの実行が許可されている場合は、プロセス実行部10は、汎用プロセスキュー16に実行可能な汎用プロセスが存在することを条件に、プロセス実行部10は、専用プロセッサに汎用プロセスの実行を開始させる(ステップS4)。これにより、専用プロセッサ1のリソースが有効に利用されることになる。また、このとき、プロセス実行部10は、プロセッサ状態13の専用プロセッサの状態を実行状態に設定する(図3参照)。その後、プロセス実行部10は処理を終了する。
【0042】
また、管理部11によって汎用プロセスの実行が許可されているにも拘らず、汎用プロセスキュー16に実行可能な汎用プロセスが存在しない場合(汎用プロセスキューが空の場合)は、プロセッサ実行部10は、プロセッサ状態13の専用プロセッサの状態を空き状態に設定する。
【0043】
ステップS1の結果、空き状態にあるプロセッサが専用プロセッサ1でない(汎用プロセッサである)場合は、プロセス実行部1は、汎用プロセスキュー16に実行可能な汎用プロセスが存在しているかどうかを判定する(ステップS6)。
【0044】
ステップS6の判定の結果、汎用プロセスキュー16に実行可能な汎用プロセスが存在していない場合(汎用プロセスキューが空の場合)は、プロセス実行部10は、処理を終了する。このとき、プロセス実行部10は、プロセッサ状態13における該当する汎用プロセッサの状態を空き状態に設定する。
【0045】
一方、ステップS6の判定の結果、汎用プロセスキュー16に実行可能な汎用プロセスが存在している場合(汎用プロセスキューが空でない場合)は、プロセス実行部10は、空き状態にある汎用プロセッサに汎用プロセスの実行を開始させる(ステップS7)。このとき、プロセス実行部10は、プロセッサ状態13における該当する汎用プロセッサの状態を実行状態に設定する。その後、プロセス実行部10は、処理を終了する。
【0046】
本実施の形態では、ステップS1〜S7は、設定間隔で繰り返し実行される。また、上記図4には例示されていないが、ステップS7が実行され、その後、プロセス実行部10が専用プロセスを検出する場合がある。この場合、専用プロセスキュー15が空であるときは、検出された専用プロセスが専用プロセスキュー15に格納されると、プロセス実行部10は、専用プロセッサ1に対して、専用プロセス実行指示を有効に設定する。これにより、専用プロセッサは、汎用プロセスを実行していても、これを中断し、専用プロセスの実行を開始する。
【0047】
また、本実施の形態では、管理部11は、プロセッサ状態13から、全ての汎用プロセッサが実行状態になっていることを確認した場合は、汎用プロセッサのリソースが不足していると判断し、汎用プロセス実行許可を有効に設定する。一方、管理部11は、全ての汎用プロセッサが実行状態でない場合、即ち、少なくとも一つ以上の汎用プロセッサが空いている状態であり、汎用プロセッサのリソースに余裕がある場合は、汎用プロセス実行許可を無効に設定する。
【0048】
[具体例]
ここで、図5(a)及び(b)を用いて、リソース管理装置20の動作の具体例について説明する。図5(a)は、本実施の形態における専用プロセス及び汎用プロセスの実行を時系列に沿って示す図である。図5(b)は、従来における専用プロセス及び汎用プロセスの実行を時系列に沿って示す図である。
【0049】
図5(a)及び(b)に示すように、時間の経過に伴って、専用プロセッサと汎用プロセッサとは、プロセスを実行する。そして、図5(a)及び(b)において、A、Bは、それぞれ、専用プロセッサのみで実行可能な専用プロセスを示す。a〜kは、それぞれ、汎用プロセスを示す。また、プロセスi及びjは、プロセスhが完了した時に実行されることとする。更に、プロセスi及びj以外のプロセスの実行順序には、制限がないこととする。
【0050】
まず、汎用プロセッサ2及び3のリソースが不足した場合の動作について説明する。汎用プロセッサ2が汎用プロセスaを実行し、汎用プロセッサ3が汎用プロセスbを実行すると、管理部11は、汎用プロセッサのリソースが不足していると判断し、汎用プロセスの実行許可を有効に設定する。
【0051】
この時、図5(a)に示すように、プロセス実行部10は、専用プロセスキュー15に実行可能なプロセスが存在しないので、汎用プロセスキュー16から汎用プロセスcを取得し、専用プロセッサ1に、取得した汎用プロセスcの実行を開始させる。
【0052】
図5(b)に示す、従来の装置では、2つの汎用プロセッサによる汎用プロセスa〜cの実行時間は2分間程あるとする。これに対して、図5に示すリソース管理装置20によれば、専用プロセッサの空きリソースが活用され、汎用プロセスa〜cをほぼ同時に実行できるので、実行時間は1分間〜2分間程度へと1分程短縮できると考えられる。
【0053】
次に、専用プロセスを優先して実行する場合の動作について説明する。例えば、プロセス実行部10が、汎用プロセッサ3によって汎用プロセスdを実行させたときに、優先して実行すべき専用プロセスAを検出したとする。この場合、プロセス実行部10は、検出した専用プロセスAを専用プロセスキュー15に格納する。
【0054】
そして、プロセス実行部10は、空の状態にある専用プロセスキュー15に専用プロセスAを格納するので、専用プロセッサ1に対して、専用プロセス実行指示を有効に設定する。これにより、専用プロセッサ1は、専用プロセスAの実行を開始する。以後、専用プロセッサ1は、専用プロセスキュー15が空になるまで、専用プロセスを優先して実行する。図5(a)の例のように、専用プロセスキュー15に専用プロセスA及びBが格納された場合は、これらが連続して実行される。
【0055】
次に、汎用プロセッサのリソースが不足した時でも専用プロセスを優先して実行する場合の動作について説明する。プロセス実行部10が、汎用プロセッサ2に汎用プロセスfを実行させ、汎用プロセッサ3に汎用プロセスgを実行させると、汎用プロセッサのリソースは不足する。しかし、専用プロセスキュー15には、専用プロセスBが存在するので、プロセス実行部10は、専用プロセッサ1に対して、専用プロセスAの完了後に、専用プロセスキュー15内の専用プロセスBを優先して実行させる。
【0056】
次に、汎用プロセッサのリソースに余裕がある場合の動作について説明する。図5(a)の経過時間が4分であるときは、汎用プロセッサ2は汎用プロセスhを実行しなければならない。しかし、汎用プロセッサ3は、実行するプロセスがなく空き状態になっている。
【0057】
従って、管理部11は、汎用プロセッサ3のリソースに余裕があると判断し、汎用プロセスの実行許可を無効にする。この時、プロセス実行部10は、専用プロセスキュー15に実行可能なプロセスが存在しているか否かのチェックを継続する。なお、専用プロセッサ1が、専用プロセスキュー15のチェックを行わずに、専用プロセスキュー15に実行可能な専用プロセスが出現するまで待ち続ける態様であっても良い。また、汎用プロセッサ3は、汎用プロセスi及びj以外に新たに実行可能な汎用プロセスが生じた場合、優先して実行する。
【0058】
[実施の形態における効果]
以上のように、本実施の形態によれば、以下の効果を得ることができる。
【0059】
第1の効果は、専用プロセッサのリソースを有効に活用することにより、汎用プロセッサのリソース不足を補填できることである。その理由は、プロセス実行部10と管理部11とにより、汎用プロセッサのリソース不足を判断してプロセッサリソースを制御することができるからである。
【0060】
第2の効果は、専用プロセッサの機能を維持しつつ、専用プロセッサのリソースを有効に活用できることである。その理由は、プロセス実行部10と管理部11とにより、専用プロセスの状態と汎用プロセスの状態とが判断されて、専用プロセッサのリソースが制御されるためである。
【0061】
また、第3の効果は、プロセッサ単位でのリソースの制御と、複数のプロセッサの制御とが可能になることである。その理由は、プロセッサ状態13によって、各プロセッサの実行状態が特定できるためである。
【0062】
[変形例]
図1図5の例では、専用プロセッサの数は一つであるが、本実施の形態においては、専用プロセッサの数は複数であっても良く、この場合でも、専用プロセッサのリソースを有効に活用できる。また、本実施の形態は、複数の専用プロセッサそれぞれによって実行される処理が異なる場合でも、各専用プロセッサのリソースを有効に活用できることが可能となる。また、本実施の形態は、複数の専用プロセスキューが設けられていても良く、この場合でも、容易に対応することができる。
【0063】
[プログラム]
本実施の形態におけるプログラムは、コンピュータ5に、図4に示すステップS1〜S7を実行させるプログラムであれば良い。このプログラムをコンピュータ5にインストールし、実行することによって、本実施の形態におけるリソース管理装置20とリソース管理方法とを実現することができる。この場合、コンピュータの専用プロセッサ及び汎用プロセッサのいずれかが、プロセス実行部10及び管理部11として機能し、処理を行なう。
【0064】
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記15)によって表現することができるが、以下の記載に限定されるものではない。
【0065】
(付記1)
特定のプロセスを実行する第1のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第2のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための装置であって、
一定条件下において、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、管理部と、
前記管理部によって許可された場合に、前記第1のプロセッサに前記汎用プロセスを実行させる、プロセス実行部と、
を備えていることを特徴とするリソース管理装置。
【0066】
(付記2)
前記管理部は、実行可能な前記特定のプロセスが存在せず、且つ、全ての前記第2のプロセッサが前記汎用プロセスを実行している、ことを条件に、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、
付記1に記載のリソース管理装置。
【0067】
(付記3)
前記第2のプロセッサによって前記汎用プロセスが実行されているときに、前記特定のプロセスが検出されると、実行中の特定のプロセスが存在していないことを条件に、前記プロセス実行部が、前記第1のプロセッサに、検出された前記特定のプロセスを実行させる、
付記2に記載のリソース管理装置。
【0068】
(付記4)
前記第1のプロセッサ及び前記第2のプロセッサがプロセスを実行中であるかどうかを示す識別子を格納する、格納部を更に備え、
前記管理部は、前記識別子に基づいて、全ての前記第2のプロセッサが前記汎用プロセスを実行していることを特定して、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、
付記2または3に記載のリソース管理装置。
【0069】
(付記5)
前記プロセス実行部は、実行可能な前記汎用プロセスが存在する場合に、前記識別子に基づいて、前記汎用プロセスを実行中にない前記第2のプロセッサを特定し、特定した前記第2のプロセッサに、実行可能な前記汎用プロセスを実行させる、
付記4に記載のリソース管理装置。
【0070】
(付記6)
特定のプロセスを実行する第1のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第2のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するための方法であって、
(a)一定条件下において、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
(b)前記(a)のステップによって許可された場合に、前記第1のプロセッサに前記汎用プロセスを実行させる、ステップと、
を有することを特徴とするリソース管理方法。
【0071】
(付記7)
前記(a)のステップにおいて、実行可能な前記特定のプロセスが存在せず、且つ、全ての前記第2のプロセッサが前記汎用プロセスを実行している、ことを条件に、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、
付記6に記載のリソース管理方法。
【0072】
(付記8)
(c)前記第2のプロセッサによって前記汎用プロセスが実行されているときに、前記特定のプロセスが検出されると、実行中の特定のプロセスが存在していないことを条件に、前記第1のプロセッサに、検出された前記特定のプロセスを実行させる、ステップを更に有する、付記7に記載のリソース管理方法。
【0073】
(付記9)
(d)前記第1のプロセッサ及び前記第2のプロセッサがプロセスを実行中であるかどうかを示す識別子を格納する、ステップを更に有し、
前記(a)のステップにおいて、前記識別子に基づいて、全ての前記第2のプロセッサが前記汎用プロセスを実行していることを特定して、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、
付記7または8に記載のリソース管理方法。
【0074】
(付記10)
(e)実行可能な前記汎用プロセスが存在する場合に、前記識別子に基づいて、前記汎用プロセスを実行中にない前記第2のプロセッサを特定し、特定した前記第2のプロセッサに、実行可能な前記汎用プロセスを実行させる、ステップを更に有する、
付記9に記載のリソース管理方法。
【0075】
(付記11)
特定のプロセスを実行する第1のプロセッサと、前記特定のプロセス以外の汎用プロセスを実行する第2のプロセッサとを備えるコンピュータにおいて、プロセッサリソースを管理するためのプログラムであって、
前記コンピュータに、
(a)一定条件下において、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、ステップと、
(b)前記(a)のステップによって許可された場合に、前記第1のプロセッサに前記汎用プロセスを実行させる、ステップと、
を実行させるプログラム。
【0076】
(付記12)
前記(a)のステップにおいて、実行可能な前記特定のプロセスが存在せず、且つ、全ての前記第2のプロセッサが前記汎用プロセスを実行している、ことを条件に、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、
付記11に記載のプログラム。
【0077】
(付記13)
(c)前記第2のプロセッサによって前記汎用プロセスが実行されているときに、前記特定のプロセスが検出されると、実行中の特定のプロセスが存在していないことを条件に、前記第1のプロセッサに、検出された前記特定のプロセスを実行させる、ステップを更に前記コンピュータに実行させる、付記12に記載のプログラム。
【0078】
(付記14)
(d)前記第1のプロセッサ及び前記第2のプロセッサがプロセスを実行中であるかどうかを示す識別子を格納する、ステップを更に前記コンピュータに実行させ、
前記(a)のステップにおいて、前記識別子に基づいて、全ての前記第2のプロセッサが前記汎用プロセスを実行していることを特定して、前記第1のプロセッサによる前記汎用プロセスの実行を許可する、
付記12または13に記載のプログラム。
【0079】
(付記15)
(e)実行可能な前記汎用プロセスが存在する場合に、前記識別子に基づいて、前記汎用プロセスを実行中にない前記第2のプロセッサを特定し、特定した前記第2のプロセッサに、実行可能な前記汎用プロセスを実行させる、ステップを更に前記コンピュータに実行させる、
付記14に記載のプログラム。
【産業上の利用可能性】
【0080】
本発明によれば、専用プロセスを実行する専用プロセッサを有効利用することによって、汎用プロセッサのプロセッサリソース不足を解消することができる。本発明は、マルチプロセッサシステムに有効である。
【符号の説明】
【0081】
1 専用プロセッサ
2 汎用プロセッサ
3 汎用プロセッサ
4 記憶装置
5 コンピュータ
10 プロセス実行部
11 管理部
12 プロセッサ制御情報格納部
13 プロセッサ状態
14 プロセス情報格納部
15 専用プロセスキュー
16 汎用プロセスキュー
20 リソース管理装置
図1
図2
図3
図4
図5