JP3779648B2 - 稼働率平準化装置、稼働率平準化方法、稼働率平準化プログラム及び稼働率平準化プログラムを記録した記録媒体 - Google Patents
稼働率平準化装置、稼働率平準化方法、稼働率平準化プログラム及び稼働率平準化プログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP3779648B2 JP3779648B2 JP2002171133A JP2002171133A JP3779648B2 JP 3779648 B2 JP3779648 B2 JP 3779648B2 JP 2002171133 A JP2002171133 A JP 2002171133A JP 2002171133 A JP2002171133 A JP 2002171133A JP 3779648 B2 JP3779648 B2 JP 3779648B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- rate
- selection
- threshold
- processor selection
- 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
Description
【発明の属する技術分野】
本発明は、複数のプロセッサ間において稼働率を平準化する装置、方法、プログラムおよびそのプログラムを記録した記録媒体に関し、特に処理能力の異なる複数のプロセッサによって処理を分散するシステムにおいて、複数のプロセッサの中から処理を実行するプロセッサを選択する技術に関する。
【0002】
【従来の技術】
従来は、処理を実行するプロセッサを複数のプロセッサの中から単純ラウンドロビンによって選択している。この時、各プロセッサの処理能力、稼働率の差違は考慮せず、全てのプロセッサを均等にラウンドロビンによる選択の対象としている。
【0003】
【発明が解決しようとする課題】
しかしながら、従来の単純ラウンドロビンによる選択方法においては、例えば処理能力の異なるプロセッサ間では稼働率の上昇傾向に違いがあるため、処理能力の高いプロセッサの稼働率に余裕がある段階で、処理能力の低いプロセッサの稼働率が限界に達してしまうという問題がある。
【0004】
本発明は、上記課題に鑑みてなされたものであり、複数のプロセッサから構成されているシステム中の各プロセッサの稼働率を平準化する装置、方法、プログラムおよびそのようなプログラムが記録された記録媒体を提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明は、上記課題を解決するためになされたものであり、その第1の特徴は(a)第1プロセッサの第1他プロセッサ選択閾値及び第1他プロセッサ選択率、並びに第2プロセッサの第2他プロセッサ選択閾値及び第2他プロセッサ選択率を記憶する記憶部と、(b)前記第1プロセッサの第1稼働率及び前記第2プロセッサの第2稼働率を受け付ける受付部と、(c)前記第1稼働率と前記第1他プロセッサ選択閾値との第1大小関係、及び前記第2稼働率と前記第2他プロセッサ選択閾値との第2大小関係を判定可能な判定部と、(d)前記第1大小関係が第1条件を満たす場合に、前記第1他プロセッサ選択率に基づいて振り分け処理を行い、前記第2大小関係及び前記第2他プロセッサ選択率が第2条件を満たす場合に、第2プロセッサに処理を割り当てる制御部と、を具備することにある。
【0006】
「第1大小関係が第1条件を満たす場合」には、例えば
・第1稼働率が第1他プロセッサ選択閾値より大の場合、
・第1稼働率が第1他プロセッサ選択閾値以上の場合などが含まれる。
【0007】
「第1他プロセッサ選択率に基づく振り分け処理」とは、第1他プロセッサ選択率をX%とすると、X%の確率で第1プロセッサ以外のプロセッサを選択し、(100−X)%の確率で第1プロセッサを選択することを言う。
【0008】
「第2大小関係及び第2他プロセッサ選択率が第2条件を満たす場合」には、例えば、
・第2稼働率が第2他プロセッサ選択閾値より小で、かつ第2他プロセッサ選択率が0である場合、
・第2稼働率が第2他プロセッサ選択閾値以下で、かつ第2他プロセッサ選択率が25%以下である場合などが含まれる。
【0009】
このような第1の特徴によれば、例えば(1)第1プロセッサの第1稼働率が第1他プロセッサ選択閾値を超えた場合であって、(2)第2プロセッサの第2稼働率が第2他プロセッサ選択閾値未満であり、かつ第2他プロセッサ選択率が0%である場合などの所定条件下において、第1プロセッサの代わりに第2プロセッサが選択され、稼働率を平準化することが可能になる。
【0010】
また、本発明の第2の特徴は、第1の特徴に加えて、さらに第1カウンタ及び第2カウンタを備え、前記制御部は、前記第1大小関係が前記第1条件を満たす毎に、前記第1カウンタの値を増減させ、前記第1カウンタの値が第3条件を満たす場合に前記第1他プロセッサ選択率を増加させ、一方前記第1大小関係が前記第1条件を満たさない毎に、前記第2カウンタの値を増減させ、前記第2カウンタの値が第4条件を満たす場合に前記第1他プロセッサ選択率を減少させることにある。
【0011】
「前記第1大小関係が前記第1条件を満たす毎に、前記第1カウンタの値を増減させ、前記第1カウンタの値が第3条件を満たす場合に前記第1他プロセッサ選択率を増加させ」には、例えば第1稼働率が第1他プロセッサ選択閾値より大である場合に、第1カウンタの値を1増加させ、その結果、第1カウンタの値が3より大となる場合に、第1他プロセッサ選択率を増加させる場合が含まれる。
【0012】
また、例えば第1カウンタの初期値を3とし、第1稼働率が第1他プロセッサ選択閾値より大である場合に、第1カウンタの値を1減少させ、その結果、第1カウンタの値が0となる場合に、第1他プロセッサ選択率を増加させる場合も含まれる。
【0013】
「前記第1大小関係が前記第1条件を満たさない毎に、前記第2カウンタの値を増減させ、前記第2カウンタの値が第4条件を満たす場合に前記第1他プロセッサ選択率を減少させる」には、例えば第1稼働率が第1他プロセッサ選択閾値より大でない場合に、第2カウンタの値を1増加させ、その結果、第2カウンタの値が1より大となる場合に、第1他プロセッサ選択率を減少させる場合が含まれる。
【0014】
また、例えば第2カウンタの初期値を2とし、第1稼働率が第1他プロセッサ選択閾値より大でない場合に、第2カウンタの値を1減少させ、その結果、第2カウンタの値が0となる場合に、第1他プロセッサ選択率を減少させる場合も含まれる。
【0015】
このような第2の特徴によれば、例えば(1)プロセッサの稼働率が他プロセッサ選択閾値を3回連続して超えたら他プロセッサ選択率を上昇させ、(2)逆にプロセッサの稼働率が他プロセッサ選択閾値を2回連続して超えなかったら他プロセッサ選択率を下降させるなど、プロセッサの稼働率に応じて随時他プロセッサ選択率は上下動させることによって、各プロセッサの使用状況、環境変化に柔軟に対応して、稼働率のより一層の平準化が可能となる。
【0016】
また、本発明の第3の特徴は、(a)第1プロセッサの第1他プロセッサ選択閾値及び第1他プロセッサ選択率、並びに第2プロセッサの第2他プロセッサ選択閾値及び第2他プロセッサ選択率を記憶する記憶ステップと、(b)前記第1プロセッサの第1稼働率及び前記第2プロセッサの第2稼働率を受け付ける受付ステップと、(c)前記第1稼働率と前記第1他プロセッサ選択閾値との第1大小関係、及び前記第2稼働率と前記第2他プロセッサ選択閾値との第2大小関係を判定する判定ステップと、(d)前記第1大小関係が第1条件を満たす場合に、前記第1他プロセッサ選択率に基づいて行う振り分けステップと、(e)前記第2大小関係及び前記第2他プロセッサ選択率が第2条件を満たす場合に、第2プロセッサに処理を割り当てる処理割り当てステップと、を含むことにある。
【0017】
「第1他プロセッサ選択閾値及び第1他プロセッサ選択率」を記憶した直後に「第2他プロセッサ選択閾値及び第2他プロセッサ選択率」を記憶する必要はない。「第1他プロセッサ選択閾値及び第1他プロセッサ選択率」の記憶と、「第2他プロセッサ選択閾値及び第2他プロセッサ選択率」の記憶との間に他のステップが行われても良い。他プロセッサ選択閾値、他プロセッサ選択率および稼働率は、それらが必要とされるステップの前に読み込まれていれば良い。
【0018】
このような第3の特徴によれば、第1の特徴と同様に、稼働率を平準化することができる。
【0019】
さらに、第4の特徴は、前記第1大小関係が前記第1条件を満たす毎に、第1カウンタの値を増減させ、前記第1カウンタの値が第3条件を満たす場合に前記第1他プロセッサ選択率を増加させ、一方前記第1大小関係が前記第1条件を満たさない毎に、第2カウンタの値を増減させ、前記第2カウンタの値が第4条件を満たす場合に前記第1他プロセッサ選択率を減少させることにある。
【0020】
このような第4の特徴によれば、第2の特徴と同様に、稼働率のより一層の平準化が可能となる。
【0021】
【発明の実施の形態】
以下に本発明の実施の形態を図面を参照しつつ詳細に説明するが、本発明はこれらの実施の形態に限定されるものではない。
【0022】
図1に示すように、本発明の実施の形態にかかる処理システムは、処理を実行する処理プロセッサ1,2,3,・・・X、これら処理プロセッサを制御する制御プロセッサ101から構成される。
【0023】
図2に示すように、制御プロセッサ101は、パラメータ記憶部111、処理部113、判定部115、制御部117、要求部119、応答受付部121から構成される。図2では、処理プロセッサは1つだけ図示されているが、これは図2が制御プロセッサ101の構成を示すための図であって、処理プロセッサについては簡略化しているためである。
【0024】
パラメータ記憶部111は、プロセッサ2(第1プロセッサ)の他プロセッサ選択閾値及び他プロセッサ選択率(第1他プロセッサ選択閾値及び第1他プロセッサ選択率)、並びにプロセッサ1(第2プロセッサ)の他プロセッサ選択閾値及び他プロセッサ選択率(第2他プロセッサ選択閾値及び第2他プロセッサ選択率)を記憶する。
【0025】
処理部113は、他プロセッサ選択率や他プロセッサ選択閾値などの各種パラメータをパラメータ記憶部111に書き込み、またそれら各種パラメータをパラメータ記憶部111から読み出したりする。
【0026】
判定部115は、稼働率と他プロセッサ選択閾値とを比較してその大小関係を判定したり、他プロセッサ選択率の値が0か否かを判定したりする。
【0027】
制御部117は、パラメータ記憶部111、処理部113、判定部115、要求部119、応答受付部121を制御する。図示しないタイマに基づいて収集周期を監視したり、図示しないカウンタを用いて閾値オーバ回数や閾値下回り回数などをカウントする。
【0028】
要求部119は、各処理プロセッサに対して稼働率を知らせるように所定周期で要求する。
【0029】
応答受付部121は、各処理プロセッサから送られてくる稼働率を受け付ける。
【0030】
図3(A)は第1回目の通常のラウンドロビン処理の様子を示す。第1回目のラウンドロビン処理で選択されたプロセッサを「選択候補プロセッサ」と言う。制御プロセッサ101から処理プロセッサ1、処理プロセッサ3、処理プロセッサXへ達している矢印311,315,317は、制御プロセッサ101が処理プロセッサ1、処理プロセッサ3、処理プロセッサXのいずれかを選択可能であることを示す。また、制御プロセッサ101から処理プロセッサ2へ達している太い矢印313は、現在、制御プロセッサ101が処理プロセッサ2を選択候補としていることを示す。
【0031】
プロセッサ1,Xは、プロセッサ2,3に比べて処理能力が高いものとする。このため、図3(A)に示すように、プロセッサ1,Xの稼働率は閾値に達していないが、プロセッサ2,3の稼働率は閾値を超えてしまっている。選択候補プロセッサに関して「受け入れ判定」を行う。「受け入れ判定」とは、選択候補プロセッサを実際に選択するか否かを判定することを言う。この「受け入れ判定」は「他プロセッサ選択率」に基づいて行われる。「他プロセッサ選択率」とは、「選択候補プロセッサ」以外のプロセッサを選択する確率を示す。具体的には、他プロセッサ選択率が25%の場合、4回につき1回は、選択候補プロセッサではなくて、受け入れ先プロセッサを選択する。「受け入れ先プロセッサ」とは、選択候補プロセッサ以外のプロセッサが選択される際に、新たな受け入れ先となるプロセッサのことである。例えば、第1回目のラウンドロビン処理ではプロセッサ2が選択され、第2回目のラウンドロビン処理ではプロセッサ1が選択される場合、このプロセッサ1を「受け入れ先プロセッサ」と言う。
【0032】
図3(B)は第2回目のラウンドロビン処理の様子を示す。ここで「選択候補プロセッサ」以外のプロセッサ中のどれが「受け入れ先プロセッサ」となるかを決める基準として「他プロセッサ選択閾値」を用いる。例えば、選択候補プロセッサがプロセッサ2であり、プロセッサ2以外のプロセッサ1,3・・・Xのいずれか1つを「受け入れ先プロセッサ」として選択する場合に、プロセッサ3の稼働率は「他プロセッサ選択閾値」を超えているので、プロセッサ3は選択不可と判断される。ここで、矢印321は、所定要件を満たす複数のプロセッサのみを対象とするラウンドロビン選択を示し、矢印323は、そのようなラウンドロビン選択の結果としてプロセッサ1が選択されていることを示す。
【0033】
図3(A)においては、第1回目の通常のラウンドロビン選択の結果、プロセッサ2が選択候補プロセッサとして指定されている(太い矢印313)。しかし、プロセッサ2には他プロセッサ選択率25%が設定されているため、受け入れ判定の結果、4回に3回はプロセッサ2が選択されるが、4回に1回は条件付きで第2回目のラウンドロビン選択が再度実施されることになる。
【0034】
図3(B)の第2回目のラウンドロビン選択(矢印321)においては、選択条件が
・プロセッサ稼働率が他プロセッサ選択閾値以下である
・他プロセッサ選択率が0%である
・上記2要件を満たすプロセッサが複数ある場合は、ラウンドロビンで選択するという内容であるとする。このため、プロセッサ稼働率が他プロセッサ選択閾値を超えているプロセッサ2,3は選択対象からはずされる。そして、プロセッサ1,・・・Xを対象とするラウンドロビン選択となり、結果としてプロセッサ1が選択されている(矢印323)。
【0035】
図4は、本実施の形態における稼働率平準化処理の流れを示す。図4に示すように、処理プロセッサ選択要求があると(ステップS401)、単純ラウンドロビンを開始し(ステップS403)、1つの処理プロセッサ(例えば、プロセッサ2)を選択する(ステップS405)。
【0036】
ステップS407では、プロセッサ2のプロセッサ稼働率と他プロセッサ選択閾値とを比較し、プロセッサ2のプロセッサ稼働率が、他プロセッサ選択閾値より大であるか否かを判断する。具体的には、制御部117の制御下で、
・図2に示す要求部119が、処理プロセッサに対して稼働率の報告を要求し、・応答受付部121が、処理プロセッサから稼働率の報告を受け付け、
・また、処理部113がパラメータ記憶部111から他プロセッサ選択閾値を読み出し、
・判定部115がこれら稼働率と他プロセッサ選択閾値とを比較することによって、プロセッサ稼働率が他プロセッサ選択閾値より大か否か判断する。
【0037】
ステップS409では、プロセッサ2のプロセッサ稼働率が、他プロセッサ選択閾値より大である場合(ステップS407からYESへ分岐する場合)、プロセッサ2の他プロセッサ選択率(X%)によって振り分け処理を行う。他プロセッサ選択率が25%であるなら、25%の確率でステップS411へ進み、75%の確率でステップS417へ進む。
【0038】
かかる振り分け処理は、例えば各プロセッサが他プロセッサを選択しなかった回数を記憶し、その記憶した回数を元に選択率に応じて行う。具体的には、他プロセッサ選択率が25%の場合に、記憶されている他プロセッサ非選択回数が3回に達したら、次回振り分け処理時には他プロセッサを選択する。
【0039】
ステップS411では、条件付きラウンドロビン選択に移行する。ここで、「条件付きラウンドロビン選択」とは、プロセッサ稼働率、他プロセッサ選択閾値、他プロセッサ選択率などを考慮に入れて行うラウンドロビン選択という意味である。例えば、
・プロセッサ稼働率が他プロセッサ選択閾値よりも小であり、かつ
・他プロセッサ選択率が0%
という2つの要件を満たすプロセッサだけを対象として行うラウンドロビン選択ということである。
【0040】
ステップS413では、前記2つの要件を満たすプロセッサとしてプロセッサ1とプロセッサXが選択される。ステップS415では、プロセッサ1とプロセッサXを対象としてラウンドロビン選択を行う。
【0041】
ステップS417では、該当プロセッサを選択する。ステップS415においてプロセッサ1またはXを対象として単純ラウンドロビンを行った場合は、プロセッサ1またはプロセッサXのいずれか一方が選択される。また、ステップS409から(100−X)%の確率でステップS417へ分岐する場合は、プロセッサ2が選択される。
【0042】
具体的には、制御部117の制御下で、
・要求部119が、処理プロセッサ1,3,・・・Xに対して稼働率の報告を要求し、
・応答受付部121が、処理プロセッサ1,3,・・・Xから稼働率の報告を受け付け、
・処理部113が、パラメータ記憶部111に記憶されている処理プロセッサ1,3,・・・Xの他プロセッサ選択閾値を読み出し、
・判定部115が、各処理プロセッサについて稼働率と他プロセッサ選択閾値とを比較して、稼働率<他プロセッサ選択閾値が成立し、かつ他プロセッサ選択率=0%のプロセッサを選択する。
【0043】
図5は、他プロセッサ選択率決定処理の流れを示す。図5に示すように、ステップS501でプロセッサ稼働率をチェックし、ステップS503でプロセッサ稼働率が他プロセッサ選択閾値より大か否か判断する。具体的には、制御部117の制御下で、
・図2に示す要求部119から処理プロセッサに対して稼働率の報告を要求し、・応答受付部121が処理プロセッサから稼働率の報告を受け付け、
・また、処理部113がパラメータ記憶部111から他プロセッサ選択閾値を読み出し、
・判定部115がこれら稼働率と他プロセッサ選択閾値とを比較することによって、プロセッサ稼働率が他プロセッサ選択閾値より大か否か判断する。
【0044】
ステップS503でYESの場合、ステップS505へ進む。
ステップS505では、閾値オーバ回数を1増やすとともに、閾値下回り回数をゼロクリアする。具体的には、制御部117の制御下で、
・処理部113は、パラメータ記憶部111に記憶されている閾値オーバ回数の値を1増加させるとともに、パラメータ記憶部111に記憶されている閾値下回り回数の値をゼロにする。
【0045】
ステップS507では、閾値オーバ回数>3であるかを判断する。具体的には、制御部117の制御下で、判定部115がパラメータ記憶部111に記憶されている閾値オーバ回数と「3」とを比較する。
【0046】
ステップS507でYESの場合、ステップS509へ進む。
ステップS509では、他プロセッサ選択率を1段階引き上げる。具体的には、制御部117の制御下で、処理部113がパラメータ記憶部111に記憶されている他プロセッサ選択率を1段階引き上げる。
【0047】
ステップS511では、閾値オーバ回数をゼロにする。具体的には、制御部117の制御下で、処理部113がパラメータ記憶部111に記憶されている閾値オーバ回数の値を0にする。
【0048】
ステップS503でNOの場合、ステップS521へ進む。
ステップS521では、閾値下回り回数を1増やすとともに、閾値オーバ回数をゼロクリアする。具体的には、制御部117の制御下で、
・処理部113は、パラメータ記憶部111に記憶されている閾値下回り回数の値を1増加させるとともに、パラメータ記憶部111に記憶されている閾値オーバ回数の値をゼロにする。
【0049】
ステップS523では、閾値オーバ回数>1であるかを判断する。具体的には、制御部117の制御下で、判定部115がパラメータ記憶部111に記憶されている閾値下回り回数と「1」とを比較する。
【0050】
ステップS525では、他プロセッサ選択率を1段階引き下げる。具体的には、制御部117の制御下で、処理部113がパラメータ記憶部111に記憶されている他プロセッサ選択率を1段階引き下げる。
【0051】
ステップS527では、閾値下回り回数をゼロにする。具体的には、制御部117の制御下で、処理部113がパラメータ記憶部111に記憶されている閾値下回り回数の値を0にする。
【0052】
ステップS531では、収集周期を元にスタートへ戻る。つまり、制御部117が、図示しないタイマを監視し、収集周期が経過したらステップS501以下を再度実行する。
【0053】
図6は、選択段階、他プロセッサ選択率及びプロセッサ選択比率の設定例を示す。他プロセッサ選択率は、選択候補プロセッサと受け入れ先プロセッサの選択比率を表すものである。図6の設定例は0〜4の5つの選択段階に応じて他プロセッサ選択率を定めており、
・選択段階=4なら、他プロセッサ選択率は100%、つまり4回中4回とも受入先プロセッサを選択し、
・選択段階=3なら、他プロセッサ選択率は75%、つまり4回中1回は選択候補プロセッサを選択し、4回中3回は受入先プロセッサを選択し、
・選択段階=2なら、他プロセッサ選択率は50%、つまり4回中2回は選択候補プロセッサを選択し、4回中2回は受入先プロセッサを選択し、
・選択段階=1なら、他プロセッサ選択率は25%、つまり4回中3回は選択候補プロセッサを選択し、4回中1回は受入先プロセッサを選択し、
・選択段階=0なら、他プロセッサ選択率は0%、つまり4回中4回とも選択候補プロセッサを選択する。
【0054】
図6の内容はあくまでも例であり、実際の設定値は、選択段階および他プロセッサ選択率の設定値ともに、マシンの使用状況やマシン環境により柔軟に変更される。つまり、選択段階を5より多い数に分けても良く、また5より少ない数に分けても良い。例えば、選択段階を0〜7までの合計8段階に増やしても良く、また0〜2までの合計3段階に減らしても良い。
【0055】
前記の如く選択段階を増やした場合、プロセッサ選択の柔軟性が増し、処理の適切な分散化が可能となり、結果として、各処理プロセッサ間における処理負荷の差分が減少する。
【0056】
また、選択段階が「1」変化することによって増減する他プロセッサ選択率の値は必ずしも均等で無くても良い。図6の例では、選択段階が「1」変化することによって、他プロセッサ選択率が常に25%ずつ増減しているが、例えば
・選択段階1の他プロセッサ選択率は、選択段階0より25%増加して、25%となり、
・選択段階2の他プロセッサ選択率は、選択段階1より30%増加して、55%となり、
・選択段階3の他プロセッサ選択率は、選択段階2より30%増加して、85%となり、
・選択段階4の他プロセッサ選択率は、選択段階3より15%増加して、100%となる、としても良い。
【0057】
選択段階が「1」変化することによって増減する他プロセッサ選択率の値を、このように段階に応じて変化させることにより、各処理プロセッサ間の処理負荷のわずかな違いにも対応可能となり、結果として、各処理プロセッサ間の処理負荷の差分の減少が実現できる。
【0058】
図7は、他プロセッサ選択率を決定するための各パラメータ(他プロセッサ選択閾値、閾値オーバ回数、閾値下回り回数など)の設定例を示す。図7に示すように、他プロセッサ選択率の設定値は例えば、プロセッサ稼働率、他プロセッサ選択閾値、稼働率収集周期、閾値オーバー回数、閾値下回り回数を用いて決定する。w秒周期(稼働率収集周期)でプロセッサ稼働率をチェックし、・連続x回(閾値オーバー回数)、y%(他プロセッサ選択閾値)を超えた場合は選択段階を1段上げ、一方
・連続z回(閾値下回り回数)、y%(他プロセッサ選択閾値)を下回った場合は選択段階を1段下げる。
【0059】
図7の例では、
・1秒ごとにプロセッサ稼働率をチェックし、
・3回連続してプロセッサ稼働率が80%を超えた場合は、選択段階を1段上げ、
・1回でもプロセッサ稼働率が80%を下回った場合は、選択段階を1段下げる。
【0060】
図7の例では、閾値オーバ回数の設定値3と、閾値下回り回数の設定値2とは異なるが、閾値オーバ回数の設定値と、閾値下回り回数の設定値とが同じであっても良い。また、閾値オーバ回数または下回り回数の設定値のいずれか一方または双方を1としても良い。その場合は、1度でも閾値をオーバしたらまたは下回ったら選択段階を1段上げるまたは下げることになる。
【0061】
なお、機能が異なるため、一定の処理を行っていながらも、その負荷がプロセッサ稼働率として表れてこないプロセッサ(以下、「機能が異なるプロセッサ」という)に関しては、本来の、他プロセッサ選択閾値から「機能の異なるプロセッサ引き下げ基準値」を差し引く形で、他プロセッサ選択閾値を決定する他、機能の異なるプロセッサの稼働率限界値を表す「限界稼働率」を設定し、限界稼働率を超過した場合は当該プロセッサの選択を拒否する機能を付加しても良い。
【0062】
これら「機能の異なるプロセッサ引き下げ基準値」や「限界稼働率」によって機能の異なるプロセッサの保護が実現する。ここで「機能の異なるプロセッサ」の具体例として、分散処理にすると多大な分割損が発生してしまう処理(分散処理に適さない処理)を主として担当するが、余力があれば、分散処理対象の処理も担当するプロセッサなどが例示される。
【0063】
図8は、図6および図7に示す条件下における他プロセッサ選択率の推移例を示す。図8の内容を具体的に説明すると、
・1回目の稼働率収集時、プロセッサ稼働率は75%、つまり閾値(80%)以下であるから、他プロセッサ選択率は0%のままである
・2回目の稼働率収集時、プロセッサ稼働率は80%、つまり閾値以下であるから、他プロセッサ選択率は0%のままである
・3回目の稼働率収集時、プロセッサ稼働率は85%、つまり閾値オーバであるが、3回連続閾値オーバには該当しないので、他プロセッサ選択率は0%のままである
・4回目の稼働率収集時、プロセッサ稼働率は85%、つまり2回連続閾値オーバとなるが、3回連続閾値オーバには該当しないので、他プロセッサ選択率は0%のままである
・5回目の稼働率収集時、プロセッサ稼働率は90%、つまり閾値オーバである。これにより、3回連続閾値オーバに該当するので、選択段階は0から1へ上昇し、他プロセッサ選択率も0%から25%に上昇する
・6回目の稼働率収集時、プロセッサ稼働率は90%、つまり閾値オーバであるが、3回連続閾値オーバには該当しないので、他プロセッサ選択率は25%のままである
・7回目の稼働率収集時、プロセッサ稼働率は85%、つまり2回連続閾値オーバとなるが、3回連続閾値オーバには該当しないので、他プロセッサ選択率は25%のままである
・8回目の稼働率収集時、プロセッサ稼働率は85%、つまり閾値オーバであるこれにより、3回連続閾値オーバに該当するので、選択段階は1から2へ上昇し、他プロセッサ選択率も25%から50%に上昇する
・9回目の稼働率収集時、プロセッサ稼働率は80%、つまり閾値以下であるが、2回連続閾値下回りに該当しないので、他プロセッサ選択率は50%のままである
・10回目の稼働率収集時、プロセッサ稼働率は75%、つまり閾値以下であるから、2回連続閾値下回りに該当するので、選択段階は2から1へ下降し、他プロセッサ選択率も50%から25%に下降する。
【0064】
つまり、当初、他プロセッサ選択閾値以下であったプロセッサ稼働率は第3回目の稼働率収集において閾値オーバとなり、以降6回連続で閾値オーバとなったためにプロセッサ選択率は50%まで上昇している。その後は第9、10回目の稼働率収集において閾値を下回ったために他プロセッサ選択率は25%低下して25%になる。
【0065】
前記の如く、本実施の形態によれば、プロセッサ2の稼働率を監視し、稼働率が他プロセッサ選択閾値を上回ったら、プロセッサ2の他プロセッサ選択率に応じて他プロセッサ(プロセッサ1)が選択される。これによって、複数プロセッサ間の稼働率の平準化、均一化が図られる。
【0066】
また、プロセッサの稼働率が他プロセッサ選択閾値を上回ったまたは下回った回数に応じて他プロセッサ選択率を増減することによって、プロセッサの稼働状況に応じたより一層の平準化、均一化を図ることが可能となる。
【0067】
また、前記の稼働率平準化方法において必要とされる各ステップをコンピュータに実行させるプログラムを記録媒体に記録し、これをコンピュータに読み取らせ、実行させることにより、前記した稼働率平準化方法を実現することができる。ここで、記録媒体としては、例えばメモリ装置、磁気ディスク装置、光ディスク装置、磁気テープ装置などのプログラムを記録できるような装置が含まれる。
【0068】
図9は、これら記録媒体に格納されたプログラムを読み取り、そこに記述されたステップに従ってデータの処理を実現するコンピュータシステムの一例を示す概観図である。図9に示すように、コンピュータシステム500が読み取り可能な記録媒体は、例えば、フレキシブルディスク516、コンパクトディスク517、ICチップ518、カセットテープ519等が挙げられる。このようなデータ一致判定プログラムを記録したコンピュータ読み取り可能な記録媒体によれば、稼働率平準化プログラムの保存、運搬、販売等を容易に行うことができる。
【0069】
【発明の効果】
前記の如く、本発明によれば、各プロセッサの稼働率、他プロセッサ選択閾値、他プロセッサ選択率に応じて、仕事を割り当てるプロセッサを適宜変えることによって、複数プロセッサ間の稼働率平準化が達成される。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかる処理システムの全体構成を示す図である。
【図2】図1に示す制御プロセッサの内部構成を示すブロック図である。
【図3】図1に示す各処理プロセッサの稼働率と時間と閾値、および選択可/不可の関係を説明するための図である。
【図4】図1に示す制御プロセッサが行う稼働率平準化処理の流れを示すフローチャートである。
【図5】他プロセッサ選択率決定処理の流れを示すフローチャートである。
【図6】選択段階、他プロセッサ選択率及びプロセッサ選択比率の設定例を示す図である。
【図7】他プロセッサ選択率を決定するための各パラメータの設定例を示す図である。
【図8】他プロセッサ選択率の推移例を示す図である。
【図9】記録媒体に格納されたプログラムを読み取り、そこに記述されたステップに従ってデータの処理を実現するコンピュータシステムの一例を示す概観図である。
【符号の説明】
1,2,3,,,X…処理プロセッサ
101…制御プロセッサ
111…パラメータ記憶部
113…処理部
115…判定部
117…制御部
119…要求部
121…応答受付部
Claims (8)
- 外部の第1プロセッサの第1他プロセッサ選択閾値及び第1他プロセッサ選択率、並びに外部の第2プロセッサの第2他プロセッサ選択閾値及び第2他プロセッサ選択率を記憶する記憶部と、
前記第1プロセッサから前記第1プロセッサの第1稼働率を、前記第2プロセッサから前記第2プロセッサの第2稼働率を受け取る受付部と、
前記第1稼働率と前記第1他プロセッサ選択閾値との第1大小関係、及び前記第2稼働率と前記第2他プロセッサ選択閾値との第2大小関係を判定可能な判定部と、
前記第1大小関係が、前記第1稼働率が前記第1他プロセッサ選択閾値より大きいことを示す場合に、前記第1他プロセッサ選択率の確率で前記第1プロセッサ以外のプロセッサに処理を割り当て、一方、(1−第1他プロセッサ選択率)の確率で前記第1プロセッサに処理を割り当て、
また前記第1プロセッサ以外のプロセッサに処理を割り当てる場合には、前記第2大小関係が、前記第2稼働率が前記第2他プロセッサ選択閾値未満であることを示し、かつ、前記第2他プロセッサ選択率が一定確率以下であるような前記第2プロセッサを選択して処理を割り当てる制御部と、を具備することを特徴とする稼働率平準化装置。 - 前記稼働率平準化装置は、さらに第1カウンタ及び第2カウンタを備え、
前記制御部は、前記第1稼働率が前記第1他プロセッサ選択閾値より大きいことを示す毎にその回数を前記第1カウンタにカウントさせ、前記第1カウンタの値が第1の所定値に達した場合に前記第1他プロセッサ選択率を増加させ、一方、前記第1稼働率が前記第1他プロセッサ選択閾値より大きくないことを示す毎にその回数を前記第2カウンタにカウントさせ、前記第2カウンタの値が第2の所定値に達した場合に前記第1他プロセッサ選択率を減少させることを特徴とする請求項1記載の稼働率平準化装置。 - 記憶部が、第1プロセッサの第1他プロセッサ選択閾値及び第1他プロセッサ選択率、並びに第2プロセッサの第2他プロセッサ選択閾値及び第2他プロセッサ選択率を記憶する記憶ステップと、
受付部が、前記第1プロセッサから前記第1プロセッサの第1稼働率を、前記第2プロセッサから前記第2プロセッサの第2稼働率を受け取る受付ステップと、
判定部が、前記第1稼働率と前記第1他プロセッサ選択閾値との第1大小関係、及び前記第2稼働率と前記第2他プロセッサ選択閾値との第2大小関係を判定する判定ステップと、
制御部が、前記第1大小関係が、前記第1稼働率が前記第1他プロセッサ選択閾値より大きいことを示す場合に、前記第1他プロセッサ選択率の確率で前記第1プロセッサ以外のプロセッサに処理を割り当て、一方、(1−第1他プロセッサ選択率)の確率で前記第1プロセッサに処理を割り当てる第1の処理割り当てステップと、
制御部が、前記第1プロセッサ以外のプロセッサに処理を割り当てる場合には、前記第2大小関係が、前記第2稼働率が前記第2他プロセッサ選択閾値未満であることを示し、かつ、前記第2他プロセッサ選択率が一定確率以下であるような前記第2プロセッサを選択して処理を割り当てる第2の処理割り当てステップと、を含むことを特徴とする稼働率平準化方法。 - 前記制御部が、さらに、前記第1稼働率が前記第1他プロセッサ選択閾値より大きいことを示す毎にその回数を第1カウンタにカウントさせ、前記第1カウンタの値が第1の所定値に達した場合に前記第1他プロセッサ選択率を増加させ、一方、前記第1稼働率が前記第1他プロセッサ選択閾値より大きくないことを示す毎にその回数を第2カウンタにカウントさせ、前記第2カウンタの値が第2の所定値に達した場合に前記第1他プロセッサ選択率を減少させることを特徴とする請求項3記載の稼働率平準化方法。
- コンピュータに、
第1プロセッサの第1他プロセッサ選択閾値及び第1他プロセッサ選択率、並びに第2プロセッサの第2他プロセッサ選択閾値及び第2他プロセッサ選択率を記憶する記憶ステップと、
前記第1プロセッサから前記第1プロセッサの第1稼働率を、前記第2プロセッサから前記第2プロセッサの第2稼働率を受け取る受付ステップと、
前記第1稼働率と前記第1他プロセッサ選択閾値との第1大小関係、及び前記第2稼働率と前記第2他プロセッサ選択閾値との第2大小関係を判定する判定ステップと、
前記第1大小関係が、前記第1稼働率が前記第1他プロセッサ選択閾値より大きいことを示す場合に、前記第1他プロセッサ選択率の確率で前記第1プロセッサ以外のプロセッサに処理を割り当て、一方、(1−第1他プロセッサ選択率)の確率で前記第1プロセッサに処理を割り当てる第1の処理割り当てステップと、
前記第1プロセッサ以外のプロセッサに処理を割り当てる場合には、前記第2大小関係が、前記第2稼働率が前記第2他プロセッサ選択閾値未満であることを示し、かつ、前記第2他プロセッサ選択率が一定確率以下であるような前記第2プロセッサを選択して処理を割り当てる第2の処理割り当てステップと、を実行させることを特徴とする稼働率平準化プログラム。 - さらに、コンピュータに、
前記第1稼働率が前記第1他プロセッサ選択閾値より大きいことを示す毎にその回数を第1カウンタにカウントさせ、前記第1カウンタの値が第1の所定値に達した場合に前記第1他プロセッサ選択率を増加させ、一方、前記第1稼働率が前記第1他プロセッサ選択閾値より大きくないことを示す毎にその回数を第2カウンタにカウントさせ、前記第2カウンタの値が第2の所定値に達した場合に前記第1他プロセッサ選択率を減少させることを特徴とする請求項5記載の稼働率平準化プログラム。 - コンピュータに、
第1プロセッサの第1他プロセッサ選択閾値及び第1他プロセッサ選択率、並びに第2プロセッサの第2他プロセッサ選択閾値及び第2他プロセッサ選択率を記憶する記憶ステップと、
前記第1プロセッサから前記第1プロセッサの第1稼働率を、前記第2プロセッサから前記第2プロセッサの第2稼働率を受け取る受付ステップと、
前記第1稼働率と前記第1他プロセッサ選択閾値との第1大小関係、及び前記第2稼働率と前記第2他プロセッサ選択閾値との第2大小関係を判定する判定ステップと、
前記第1大小関係が、前記第1稼働率が前記第1他プロセッサ選択閾値より大きいことを示す場合に、前記第1他プロセッサ選択率の確率で前記第1プロセッサ以外のプロセッサに処理を割り当て、一方、(1−第1他プロセッサ選択率)の確率で前記第1プロセッサに処理を割り当てる第1の処理割り当てステップと、
前記第1プロセッサ以外のプロセッサに処理を割り当てる場合には、前記第2大小関係が、前記第2稼働率が前記第2他プロセッサ選択閾値未満であることを示し、かつ、前記第2他プロセッサ選択率が一定確率以下であるような前記第2プロセッサを選択して処理を割り当てる第2の処理割り当てステップと、を実行させる稼働率平準化プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。 - さらに、コンピュータに、
前記第1稼働率が前記第1他プロセッサ選択閾値より大きいことを示す毎にその回数を第1カウンタにカウントさせ、前記第1カウンタの値が第1の所定値に達した場合に前記第1他プロセッサ選択率を増加させ、一方、前記第1稼働率が前記第1他プロセッサ選択閾値より大きくないことを示す毎にその回数を第2カウンタにカウントさせ、前記第2カウンタの値が第2の所定値に達した場合に前記第1他プロセッサ選択率を減少させる稼働率平準化プログラムを記録したことを特徴とする請求項7記載のコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002171133A JP3779648B2 (ja) | 2002-06-12 | 2002-06-12 | 稼働率平準化装置、稼働率平準化方法、稼働率平準化プログラム及び稼働率平準化プログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002171133A JP3779648B2 (ja) | 2002-06-12 | 2002-06-12 | 稼働率平準化装置、稼働率平準化方法、稼働率平準化プログラム及び稼働率平準化プログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004021287A JP2004021287A (ja) | 2004-01-22 |
JP3779648B2 true JP3779648B2 (ja) | 2006-05-31 |
Family
ID=31171067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002171133A Expired - Fee Related JP3779648B2 (ja) | 2002-06-12 | 2002-06-12 | 稼働率平準化装置、稼働率平準化方法、稼働率平準化プログラム及び稼働率平準化プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3779648B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI370979B (en) * | 2004-05-14 | 2012-08-21 | Ibm | Grid computing system, information processing unit, job execution request generation unit, control method, program, and recording medium |
JP5509727B2 (ja) * | 2009-08-24 | 2014-06-04 | 富士ゼロックス株式会社 | 情報処理システム、情報処理装置、及びプログラム |
-
2002
- 2002-06-12 JP JP2002171133A patent/JP3779648B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004021287A (ja) | 2004-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5463776A (en) | Storage management system for concurrent generation and fair allocation of disk space among competing requests | |
US8479205B2 (en) | Schedule control program and schedule control method | |
US7711858B2 (en) | Management of background copy task for point-in-time copies | |
JP5744909B2 (ja) | アクセラレータ・リソースを動的に管理するための方法、情報処理システム、およびコンピュータ・プログラム | |
US9032127B2 (en) | Method of balancing I/O device interrupt service loading in a computer system | |
EP0750761B1 (en) | Data buffer monitoring apparatus in a disk drive system | |
KR102290540B1 (ko) | 네임스페이스/스트림 관리 | |
US7958239B1 (en) | Multilink point-to-point protocol network access server channel allocation method and apparatus | |
US5428796A (en) | System and method for regulating access to direct access storage devices in data processing systems | |
US8984521B2 (en) | Computer system performance by applying rate limits to control block tenancy | |
US9524244B2 (en) | Write cache destaging | |
US9223373B2 (en) | Power arbitration for storage devices | |
US8874873B2 (en) | Resources allocation in a computer storage system | |
JP3779648B2 (ja) | 稼働率平準化装置、稼働率平準化方法、稼働率平準化プログラム及び稼働率平準化プログラムを記録した記録媒体 | |
CN113010309B (zh) | 集群资源调度方法、装置、存储介质、设备和程序产品 | |
US5692156A (en) | Computer program product for overflow queue processing | |
KR101008010B1 (ko) | 리소스 할당 제어 방법 및 할당 리스트 관리 방법 | |
CN111178791A (zh) | 一种任务动态均衡分派方法、系统、电子设备及存储介质 | |
CN113609082B (zh) | 一种文件系统碎片整理方法、装置及存储介质 | |
CN111208943B (zh) | 存储系统的io压力调度系统 | |
JP3975684B2 (ja) | ディスク入出力スケジュール装置および方法 | |
JPH01173236A (ja) | ファイル格納媒体選択方式 | |
WO2007043142A1 (ja) | ジョブ管理装置およびジョブ管理プログラム | |
JPH1091515A (ja) | データバッファ管理装置 | |
CN113778821A (zh) | 固态硬盘的介质访问管理方法及固态硬盘 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050802 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051213 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060130 |
|
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: 20060221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060302 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3779648 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090310 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100310 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110310 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120310 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130310 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140310 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |