JP5115122B2 - 処理性能調整機能を有するモジュール,処理性能調整方法および処理性能調整プログラム - Google Patents

処理性能調整機能を有するモジュール,処理性能調整方法および処理性能調整プログラム Download PDF

Info

Publication number
JP5115122B2
JP5115122B2 JP2007258795A JP2007258795A JP5115122B2 JP 5115122 B2 JP5115122 B2 JP 5115122B2 JP 2007258795 A JP2007258795 A JP 2007258795A JP 2007258795 A JP2007258795 A JP 2007258795A JP 5115122 B2 JP5115122 B2 JP 5115122B2
Authority
JP
Japan
Prior art keywords
pacemaker
module
processing
task
tcb
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.)
Active
Application number
JP2007258795A
Other languages
English (en)
Other versions
JP2009087223A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007258795A priority Critical patent/JP5115122B2/ja
Publication of JP2009087223A publication Critical patent/JP2009087223A/ja
Application granted granted Critical
Publication of JP5115122B2 publication Critical patent/JP5115122B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Description

本発明は,タスクスケジューリング機能を有するモジュールの処理性能を調整する技術に関するものであり,特に,ペースメーカとなるタスクを投入することにより処理性能を調整する処理性能調整機能を有するモジュール,処理性能調整方法および処理性能調整プログラムに関するものである。
図6は,従来技術とその課題を説明するためのシステム構成の例を示す図である。図6に示すシステムでは,モジュールA500がホスト520からの処理要求を受け,モジュールB510がモジュールA500から仕事を請け負うという関係にある。図6において,各モジュールは,それぞれが独立にCPUを備えた情報処理装置である。
ホスト520からのI/O負荷が低いときには,モジュールA500はホスト520から依頼された処理を滞りなく逐次こなし,モジュールB510に必要な処理を依頼する。モジュールA500とモジュールB510との負荷バランスが保たれているものとすると,モジュールB510もモジュールA500から請け負った仕事を遅延なくこなす。
ホスト520からのI/O負荷が高いときには,モジュールA500は,ホスト520からの処理依頼を受けるが,内部リソースの枯渇などで処理が追いつかず,ホスト520に対してビジー応答する。そのため,モジュールB510に依頼される仕事はモジュールA500の処理能力に応じて絞られるため,結果的にモジュールB510の仕事量も適当な量となり,図6に示すシステムは全体として安定している。
なお,モジュールA500,モジュールB510は,それぞれタスクスケジューリング機能を備え,複数の処理要求を請け負うことが可能である。タスクスケジューリングに関する技術が記載された先行技術文献として,例えば特許文献1などがある。特許文献1には,複数のプロセッサ間で資源の使い回しを行うことによる性能低下を防ぐために,資源またはキャッシュのウォーム度を考慮し,複数プロセッサで効率よく多くのプロセスを実行できるようにスケジューリングを行う技術が記載されている。
特開平6−96039号公報
図6において,モジュールA500のハードウェアが変更され,モジュールA500の処理性能が上がった場合について考える。ホスト520からのI/O負荷が低いときには,上述のハードウェア変更前のときと同様に,モジュールA500,モジュールB510ともに滞りなく処理が行われる。
ホスト520からのI/O負荷が高いときには,上述のハードウェア変更前の場合とは,状況が異なってくる。モジュールA500は,処理性能が上がり,ホスト520からの処理依頼をすべて受けれるようになったため,ホスト520から依頼された処理に対してビジー応答せずに逐次実行することができるようになる。それにともない,モジュールA500がモジュールB510に依頼する処理の量も増加する。
ところが,モジュールB510では,処理性能がもとのままであるので,モジュールA500からの処理依頼の増加によりリソースが枯渇となり,内部的に処理が停滞する。そのため,モジュールB510からモジュールA500への応答に遅延が発生する。
モジュールB510からモジュールA500への応答が遅延するのにともなって,モジュールA500からホスト520への応答にも遅れが発生するため,ホスト520側から見た場合にI/O処理の完了遅延またはタイムアウト(ホストの監視時間内に完了報告がなかった)となってしまう可能性があり,ひどい場合にはタイムアウトが多発し,ジョブの異常終了となってしまう可能性もある。
このように,ハードウェア変更前は,モジュールA500とモジュールB510との負荷バランスは保たれていたが,モジュールA500のハードウェア変更を行うことによりモジュールA500とモジュールB510との負荷バランスが崩れてしまう。このことによって,システム全体として見た場合に性能的に不整合が生じてしまう可能性があり,その結果として,システム性能の低下などが危惧される。
本発明は,上記の問題点の解決を図り,複数のモジュールから構成されるシステムにおいて,モジュール間の負荷バランスを保つことにより,システム全体として安定した状態や性能を保持することが可能となる技術を提供することを目的とする。
上記の課題を解決するために,システムを構成する各モジュールが,CPU性能によらずにある一定の処理性能を保つために,内部にペースメーカとなるタスクを置き,そのペースメーカのタスクによって自らの仕事量を調整できるようにする。これにより,システムを構成する個々のモジュールが,他のモジュールとの間の性能差を自ら調整し,結果,システム全体として安定した状態や性能を保つことができるようになる。
具体的には,処理性能調整機能を有するモジュールは,各タスクの制御ブロックをキューに管理してスケジューリングを行うタスクスケジューリング機能部と,CPUに負荷を与えるペースメーカとなるタスクの制御ブロックを前記キューに投入し,該タスクの処理の実行により自モジュールの処理性能を調整する処理性能調整機能部とを備え,前記処理性能調整機能部は,他のモジュールに対して依頼したデータの処理の応答時間があらかじめ定められた閾値を超えた場合,または自モジュールの単位時間あたりの処理量があらかじめ定められた閾値を超えた場合に,前記ペースメーカとなるタスクの制御ブロックを前記キューに投入する。
モジュールが備えるタスクスケジューリング機能部は,各タスクの制御ブロックをキュー管理しており,基本的にはキューに並べられた制御ブロックの順にタスクの処理がディスパッチされる。タスクスケジューリング機能部によりペースメーカとなるタスクがディスパッチされると,そのペースメーカとなるタスクの処理の実行による負荷がCPUに与えられる。これにより,他の通常の処理を実行するためのリソースが減ることとなり,結果として,そのモジュールの見かけ上の流量(単位時間当たりの処理量)を減らすことができる。
また,ペースメーカとなるタスクが不要であると判定するためのあらかじめ定められた条件としては,例えば,自モジュールが他のモジュールに依頼した処理に対する応答時間があらかじめ定められた閾値を下回ったかや,ペースメーカとなるタスクが投入されてから規定の時間が経過したかなど,様々な条件が考えられる。
また,ペースメーカとなるタスクがCPUに負荷を与えるために実行する処理としては,例えば,他の処理に遅延以外の影響を与えない無意味なループ処理など,様々な処理が考えられる。
また,モジュールに備えられた処理性能調整機能部は,ペースメーカとなるタスクのスケジュールに用いる制御ブロックの投入数を変えたり,ペースメーカとなるタスクの処理量を変えたりすることにより,CPUに与える負荷の量を調整する。ペースメーカとなるタスクが,自身の処理量を変化させる処理を実行するようにしてもよい。
ペースメーカとなるタスクの動作を管理する制御ブロックの投入数を増やす,すなわちペースメーカとなるタスクの数を増やすことにより,CPUの負荷量を増やすことができる。また,ペースメーカとなるタスクの処理量を増やす(ループ回数を増やすなど)ことにより,CPUの負荷量を増やすことができる。このように,ペースメーカとなるタスクの投入数やペースメーカとなるタスクの処理量を変化させることにより,CPUに与える負荷の量を自在に調整することができる。
以上のような処理性能調整機能部によって投入されるペースメーカとなるタスクやその制御ブロックは,他の通常の処理のタスクや制御ブロックと基本的に同じ仕組みであり,通常のタスク管理を行うタスクスケジューリング機能部によって動作するものである。よって,処理性能調整機能部の導入にあたって,もとからモジュールが有していたタスクスケジューリング機能部などのファームウェアの構造を変更する必要はなく,基本的には現行のリソースをそのままの構造で使用することができる。また,ペースメーカとなるタスクもタスクスケジューリング機能部を介して実行される1つのタスクでしかないので,割り込み処理なども従来と同様に行われ,割り込み処理などの反応が遅延するということもない。
本発明により,複数のモジュールから構成されるシステムにおいて,独立に処理を行うモジュールの処理性能を調整することができるようになるため,各モジュール間の負荷バランスを保持することが可能となり,システム全体として安定した状態や性能を保持することが可能となる。
以下,本発明の実施の形態について,図面を用いて説明する。
図1は,本実施の形態による情報処理システムの例を示す図である。図1に示す情報処理システムは,モジュールA10,モジュールB20,ホスト30から構成される。モジュールA10,モジュールB20は,それぞれがCPUを有し,独立に処理を実行する情報機器である。ホスト30からの処理要求をモジュールA10が受け,モジュールB20はモジュールA10からの処理を請け負う。なお,モジュールA10,モジュールB20は,それぞれが別々の筐体に収められた情報処理装置であってもよいし,1つの筐体に収められながらもそれぞれが独立に処理を行うボードのようなものであってもよい。
モジュールA10は,処理性能調整機能部100,スケジューラ110を備える。
スケジューラ110は,モジュールA10において並行的に実行される複数の処理(タスク)のスケジュール管理を行う。スケジューラ110では,タスクを動かすための制御ブロック(以下,TCB(Task Control Block)と呼ぶ)をキュー管理している。以下では,ホスト処理のタスクを実行させるためのTCBをホストTCBと呼び,自機器(図1ではモジュールA10)の処理性能を調整するペースメーカ処理のタスクを実行させるためのTCBをペースメーカTCBと呼ぶものとする。
TCBのフォーマットは,大きく分けて,共通域と処理種別固有域の2つの領域に分かれる。共通域は,処理の種別(ホスト処理,ペースメーカ処理など)によらない,共通の領域である。処理種別固有域は,処理の種別によって,一部フォーマットや格納される情報が異なる領域である。
共通域には,
・スケジューラ110が必要とする情報,
・TCB情報(TCBが格納されているメモリアドレスなどの情報),
・TCB管理情報
などの情報が格納される。
処理種別固有域には,ホスト処理の場合,
・オペレーション種別(リード/ライトなどの種別),
・処理対象アドレス,
・処理対象データサイズ
などの情報が格納され,ペースメーカ処理の場合,
・予定処理内容(例えば,ループ処理を1000回など),
・実績処理回数(実際にペースメーカのタスクが起動された回数)
などの情報が格納される。
処理性能調整機能部100は,自機器の処理性能を調整する機能であり,状態監視部101,ペースメーカ要不要判定部102,ペースメーカTCB処理部103,ホストTCB監視情報104,ペースメーカTCB監視情報105を備える。
状態監視部101は,ホストTCB監視情報104やペースメーカTCB監視情報105などを監視することにより,自機器の状態や自機器に接続された他機器の状態などを監視する。図1に示す情報処理システムにおいて,例えばモジュールB20に処理を依頼してから応答が返ってくるまでの時間などを監視する。
ペースメーカ要不要判定部102は,自機器の処理性能を調整するためのペースメーカのタスクの要不要の判定,すなわちペースメーカTCBの投入や回収の判定を行う。図1に示す情報処理システムにおいて,ペースメーカ要不要判定部102は,例えばモジュールB20の応答時間やペースメーカTCBの投入状況を判断し,ペースメーカTCBを投入するか回収するかを判定する。
ペースメーカTCB処理部103は,ペースメーカTCBの作成,投入,回収を行う手段であり,ペースメーカのタスクを動作させるためのペースメーカTCBを作成するペースメーカTCB作成部106,スケジューラ110にペースメーカTCBを投入するペースメーカTCB投入部107,スケジューラ110からペースメーカTCBを回収するペースメーカTCB回収部108を備える。
ホストTCB監視情報104は,ホストTCBを管理する情報である。ホストTCB監視情報104には,
・閾値情報(相手モジュール規定応答時間,規定単位時間ホスト処理数などのペースメーカTCB投入のための閾値情報),
・相手モジュール応答時間(累積),
・相手モジュール応答時間(単位時間),
・ホスト処理数(累積),
・ホスト処理数(現在),
・ホスト処理回数(累積),
・ホスト処理時間(累積),
・ホスト処理データサイズ(累積),
・相手モジュール情報,
・相手モジュールへの処理依頼開始TOD(Time Of Day )情報(時刻情報)
などの情報が格納される。相手モジュール情報と,相手モジュールへの処理依頼開始TOD情報とについては,スケジューラ110で管理されているホストTCB数分の情報が格納される。
ペースメーカTCB監視情報105は,ペースメーカTCBを管理する情報である。ペースメーカTCB監視情報105には,
・投入条件(例えば,相手モジュール応答時間,単位時間ホスト処理数など,ペースメーカTCBの投入を判断するための条件),
・回収条件(例えば,相手モジュール応答時間が閾値を下回ったら,回数など,ペースメーカTCBの回収を判断するための条件),
・投入個数(累積),
・投入個数(現在),
・投入回数(累積)
などの情報が格納される。
図1に示す情報処理システムのモジュールA10における基本処理の例と,高負荷時の処理の例とを説明する。
<基本処理>
モジュールA10は,ホスト30から処理要求を受けると,ホストTCBを用意し,処理対象アドレスの判定や,処理すべきデータの準備,ホストとのデータ転送などの一連の処理を行う。ここでは,ホスト30からの処理要求が,リード要求またはライト要求であるものとする。
このとき,これら一連の処理は,
(1)処理対象アドレスの判定を行うタスク
(2)処理すべきデータの準備を行うタスク
(3)ホスト30とのデータ転送を行うタスク
の3つのタスクに分割される。ホスト30から要求された処理を分割する目的は,ホスト30から複数のリード(またはライト)要求があったときに,それらの複数の処理に対して同時にサービスすることを可能とするためである。モジュールA10内では,スケジューラ110を介して,順次処理が進められる。
ここで,ホスト30から3つの処理要求(処理#1〜#3)を受けると,モジュールA10では,必要なホストTCB(ホストTCB#1〜#3)が用意され,スケジューラ110に順番にキューイングされる。スケジューラ110は,キューに並べられたホストTCBの順に処理を進めていく。
図2は,CPU処理とキューの状態との例を示す図である。図2において,〔〕はホストTCBを表し,例えば〔TCB#1−2〕は,処理#1の2回目のタスク処理のホストTCBであることを意味する。STEPは,処理が進んでいく段階を表す。各STEPにおいて,CPU処理欄に記載されたTCBは,まさにCPU処理が行われているタスクのTCBを示し,キューの状態欄に記載されたTCBは,順番待ちのためにキューに並べられたTCBを示す。
図2において,STEP−01では,処理#1〜#3のタスクのホストTCBが順にキューイングされた状態である。STEP−02では,先頭にキューイングされていた〔TCB#1−1〕のタスクの処理が実行される。STEP−03では,〔TCB#1−1〕のタスクの処理が終了し,その次にキューイングされていた〔TCB#2−1〕のタスクの処理が実行されている状態である。STEP−03では,1回目のタスク処理が終了した処理#1における2回目のタスク処理のホストTCB(〔TCB#1−2〕)が,最後尾にキューイングされている。このような処理が,順次繰り返される。
モジュールA10は,モジュールB20に対して必要な処理依頼を行いながら,上記の処理#1〜#3を実行する。ここでは,処理#1〜#3のすべてでモジュールB20との通信が行われる。モジュールA10で実行される処理の中には,モジュールB20からの応答を受けないと実行できない処理もある。
モジュールB20は,モジュールA10からの処理依頼を受けると,モジュールA10と同様にTCBを用意し,同様にスケジューラ(図示省略)を介して,ある単位で必要な処理を行う。モジュールB20は,一通りの処理が終了すると,モジュールA10に対して応答を返し,不要となったTCBを消去する。
このようなモジュールA10とモジュールB20との関係があるため,モジュールA10の処理能力によって,モジュールB20の負荷(忙しさ)が変わってくる。つまり,モジュールA10の処理能力が高いほど,すなわちモジュールA10の単位時間当たりの仕事量が多いほど,モジュールA10からモジュールB20への単位時間当たりの処理依頼量も増えるため,モジュールB20の負荷が高い状況となる。
<高負荷時の処理>
ホストからの処理要求が増え,高負荷の状態となるものとする。モジュールA10の処理性能が高ければ,モジュールA10はホストからの処理要求に対してほとんどビジー応答せず多くの仕事量をこなすことができ,それにともないモジュールA10からモジュールB20への処理依頼も増加する。モジュールB20の処理性能がモジュールA10からの処理依頼の増加に耐えうるものでなければ,モジュールB20にはモジュールA10から依頼された処理がどんどん溜まっていき,モジュールB20からモジュールA10への応答に遅延が発生するようになる。
モジュールA10では,このような状況の悪化を監視し,情報処理システム全体としての安定化を図るために,処理性能調整機能部100により自機器の処理性能を調整する。以下,ペースメーカTCBの作成/投入処理,ペースメーカTCBの回収処理,ペースメーカのタスクによる処理など,ペースメーカのタスクによって処理性能の調整を行う例について説明する。
[ペースメーカTCBの作成/投入処理の例]
モジュールA10は,処理性能調整機能部100により,モジュールB20からの応答時間を監視し,所定の閾値以上の応答遅延が発生しているようであれば,自機器内部でペースメーカのタスクを動作させるためのペースメーカTCBを作成し,それを投入することにより自機器の処理量を抑制する。
ここでは,モジュールB20からの応答時間を監視し,ペースメーカTCBの作成/投入を判断しているが,ペースメーカTCBの作成/投入のトリガとしてはさまざまなものが考えられる。例えば,ホスト30からの処理要求に対する自機器からのレスポンス時間を監視したり,自機器の処理量そのものを監視するなどの方法も考えられる。
図3は,ペースメーカTCB作成/投入処理フローチャートである。ここでは,モジュールA10がモジュールB20からの応答時間を監視することにより,ペースメーカTCBの作成/投入を判断する場合を例として,ペースメーカTCB作成/投入処理を説明する。
モジュールA10の処理性能調整機能部100は,モジュールB20からの応答時間を監視し,モジュールB20からの応答時間が所定の閾値を超えているかを判定する(ステップS10)。例えば,ホストTCB監視情報104の相手モジュールへの処理依頼開始TOD情報を監視し,その相手モジュールへの処理依頼開始TOD情報からモジュールB20の応答時間を計算し,算出された応答時間がホストTCB監視情報104の閾値情報(この場合には,相手モジュール規定応答時間)を超えているかを判定する。
モジュールB20からの応答時間が所定の閾値を超えていれば,ペースメーカTCBが投入可能かを判定する(ステップS11)。TCBを格納するメモリ領域などは有限であるので,投入可能なTCBの数も有限となる。そのため,新たにペースメーカTCBを投入することが可能であるかを確認する必要がある。
ペースメーカTCBの投入が可能であれば,ペースメーカTCBの投入数をインクリメント(+1)する(ステップS12)。例えば,ペースメーカTCB監視情報105の投入個数(現在)をインクリメント(+1)する。
ペースメーカTCBを作成し,投入する(ステップS13)。投入されたペースメーカTCBは,スケジューラ110のキューに並べられ,以降スケジューラ110によってペースメーカのタスクがディスパッチされる。
[ペースメーカTCBの回収処理の例]
モジュールA10は,ペースメーカ投入後も引き続きモジュールB20からの応答時間を監視し,応答時間が所定の閾値を下回ったところで,投入されているペースメーカTCBを回収(スケジューラ110から削除)する。ペースメーカTCB回収後は,ペースメーカTCB投入前の状態に戻る。
ここでは,モジュールB20からの応答時間を監視し,ペースメーカTCBの回収を判断しているが,ペースメーカTCB作成/投入の場合と同様にペースメーカTCB回収のトリガとしてはさまざまなものが考えられる。例えば,ホスト30からの処理要求に対する自機器からのレスポンス時間を監視したり,自機器の処理量そのものを監視するなどの方法も考えられる。
また,ペースメーカTCBの回収を所定の閾値で判断するのではなく,ペースメーカTCBを一定時間投入するという考え方もある。例えば,ペースメーカTCBに投入開始時間(TOD情報)と投入期間とを記録しておき,ペースメーカのタスク自身が投入期間を監視し,時間が経過したらペースメーカのタスク自身で回収処理を行うようにしてもよい。その後も高負荷状態が続き,モジュールB20の応答遅延が発生するようであれば,上述の処理にしたがって,再度ペースメーカTCBの作成/投入を行う。
図4は,ペースメーカTCB回収処理フローチャートである。ここでは,モジュールA10がモジュールB20からの応答時間を監視することにより,ペースメーカTCBの回収を判断する場合を例として,ペースメーカTCB回収処理を説明する。
モジュールA10の処理性能調整機能部100は,現在,ペースメーカTCBが投入された状態であるかを判定する(ステップS20)。例えば,ペースメーカTCB監視情報105の投入個数(現在)が1以上であるかを確認する。
ペースメーカTCBが投入された状態であれば,モジュールB20からの応答時間を監視し,モジュールB20からの応答時間が所定の閾値未満であるかを判定する(ステップS21)。例えば,ホストTCB監視情報104の相手モジュールへの処理依頼開始TOD情報を監視し,その相手モジュールへの処理依頼開始TOD情報からモジュールB20の応答時間を計算し,算出された応答時間がホストTCB監視情報104の閾値情報(この場合には,相手モジュール規定応答時間)を下回っているかを判定する。
モジュールB20からの応答時間が所定の閾値未満であれば,ペースメーカTCBの投入数をデクリメント(−1)する(ステップS22)。例えば,ペースメーカTCB監視情報105の投入個数(現在)をデクリメント(−1)する。
ペースメーカTCBを1つ回収する(ステップS23)。回収されたペースメーカTCBは,スケジューラ110のキューから削除される。
以上説明した図4に示すペースメーカTCB回収処理は,処理性能調整機能部100によって実行される処理の例である。ペースメーカTCB回収処理は,ペースメーカのタスクの処理内で実行することも可能である。
[ペースメーカのタスクによる処理の例]
スケジューラ110においてペースメーカTCBの順番が回ってくると,ペースメーカのタスクの処理が実行される。ペースメーカのタスクでは,他の処理に遅延以外の影響を与えない無意味な処理を,CPUに実行させる。ここでは,ペースメーカのタスクによる処理の一例を説明する。なお,ペースメーカのタスクの処理を実行するためのプログラムは,他のタスクの処理を実行するためのプログラムと同様に,モジュールA10内に保持されている。また,ペースメーカのタスクも,他のタスクと同様にスケジューラ110を介して実行されるタスクの1つでしかないので,割り込み処理などが他のタスクと同様に行われ,ペースメーカのタスクにより割り込み処理の反応が遅延したりはしない。
ペースメーカTCBは,投入された時間(TOD情報)や,CPUによって処理された回数のカウンタ(実績処理回数)などの情報を持つ。ペースメーカのタスクがCPU処理に回されたところで,そのペースメーカのタスクにおいて,ペースメーカTCBのTOD情報などをもとにモジュールA10の流量(仕事量)を計算するなどの処理を行う。例えば,TOD情報をもとにペースメーカTCB投入後の経過時間を算出し,また実績処理回数によりそのペースメーカのタスクがCPU処理された回数を取得し,単位時間あたりのそのペースメーカのタスクの処理回数などを求めることにより,モジュールA10の流量を概算することができる。
さらに,ペースメーカのタスクでは,モジュールA10の流量をコントロールするために,必要に応じて本ペースメーカのタスクをその場で必要な時間スリープさせ,他のタスクがCPU処理に回されないように調整する。例えば,先に求められたモジュールA10の流量をもとにCPUに実行させるループ処理の回数を決定し,決定された回数のループ処理をCPUに実行させる。
なお,ペースメーカのタスクによる処理量は,固定であってもよいし,可変であってもよい。例えば,ペースメーカのタスクによる処理量を固定とし,投入するペースメーカTCBの個数を調整することによってCPUへの負荷量を調整してもよいし,ペースメーカのタスクによる処理量を可変とし,ペースメーカのタスクによる処理量を調整することよってCPUへの負荷量を調整してもよい。当然,ペースメーカTCBの投入個数と処理量とを同時に調整するようにしてもよい。
図5は,ペースメーカTCB投入時のCPU処理とキューの状態との例を示す図である。図5の記載は,基本的に図2の記載と同様である。ただし,図5において≪≫はペースメーカTCBを表し,例えば≪TCB#4−2≫は,ペースメーカのタスクである処理#4における2回目の処理であることを意味する。図5の例では,1個のペースメーカのタスクによる処理量を調整する(例えば,CPUに行われるループ処理の回数を調整する)ことにより,ホスト30から要求された処理に割り当てられる単位時間当たりの処理量を調整する。
図5において,STEP−01では,処理#1〜#3のホストTCBと処理#4のペースメーカTCBとが順にキューイングされた状態である。STEP−02では,先頭にキューイングされていた〔TCB#1−1〕のタスクの処理が実行される。STEP−03では,〔TCB#1−1〕のタスクの処理が終了し,その次にキューイングされていた〔TCB#2−1〕のタスクの処理が実行されている状態である。STEP−03では,1回目のタスク処理が終了した処理#1における2回目のタスク処理のホストTCB(〔TCB#1−2〕)が,最後尾にキューイングされている。以下,このような処理が,順次繰り返される。
STEP−05では,ペースメーカTCBである≪TCB#4−1≫のタスクの処理が実行され,例えばCPUにループ処理を行わせるなどにより,モジュールA10の流量を調整する。ペースメーカのタスクの処理終了時に,ペースメーカTCBの実績処理回数をインクリメント(+1)し,スケジューラ110により,そのペースメーカTCB(≪TCB#4−2≫)のキューイングを行う。このような処理が,順次繰り返される。
なお,ペースメーカのタスクの処理でモジュールB20の応答時間の監視等を行い,ペースメーカTCBの回収の判断を行うようにしてもよい。この場合,ペースメーカのタスクの処理によりペースメーカTCBの回収が判断されれば,その処理によってスケジューラ110からペースメーカTCBが回収され,スケジューラ110のキューにペースメーカTCBが並ばない状態となる。
図2に示すペースメーカTCBを投入していない場合と,図5に示すペースメーカTCBを投入している場合とを比較すると,図2ではホストTCB(〔TCB#3−3〕)のタスクの処理がSTEP−10で実行されているのに対して,図5ではホストTCB(〔TCB#3−3〕)のタスクの処理がSTEP−12で実行されている。
すなわち,ペースメーカTCB(≪TCB#4−1≫)とペースメーカTCB(≪TCB#4−2≫)のタスクの処理をCPUに実行させた分だけ,モジュールA10の処理に遅延が発生し,見た目上のモジュールA10の処理性能を低下させることができる。
このように,ペースメーカTCBを投入してモジュールA10の処理性能を調整することにより,モジュールA10とモジュールB20との間の負荷バランスを保つことが可能となり,結果,情報処理システム全体の安定した状態や性能を保持することが可能となる。
ここで,ペースメーカTCBの投入から回収までの具体的な流れを簡単にまとめておく。まず,事前に,ホストTCB監視情報104の閾値情報を設定しておく必要がある。
モジュールA10がホスト30から処理要求を受けると,モジュールA10では,ホストTCBが作成され,処理が開始される。モジュールA10は,ホスト30から要求された処理の流れに従って,必要な処理をモジュールB20に依頼する。
モジュールB20に処理依頼を行ったことを,ホストTCB監視情報104に格納する。具体的には,ホストTCB監視情報104に,相手モジュール情報,相手モジュールへの処理依頼開始TOD情報を格納する。
定期的に,ホストTCB監視情報104を監視する。具体的には,現在の時刻情報と相手モジュールへの処理依頼開始TOD情報とを比較し,モジュールB20の応答時間をチェックする。
モジュールB20の応答時間とホストTCB監視情報104の閾値情報とを比較し,モジュールB20の応答時間が閾値を超えていたら,ペースメーカTCBを作成し,投入する。このとき,ペースメーカTCBに必要な情報(例えば,処理内容=ループ処理を1000回など)を格納する。また,ペースメーカTCB監視情報105にも,必要な情報(例えば,回収条件=応答時間が閾値を下回ったなど)を格納する。
投入されたペースメーカTCBにより動作されるペースメーカのタスクは,順番がくるとスケジューラ110により起動される。起動されたペースメーカのタスクは,ペースメーカTCBの処理内容を認識し,ループ処理を実行する。さらに,ペースメーカTCBの実績処理回数を+1する。また,ペースメーカTCB監視情報105の回収条件を参照し,その回収条件に合致した状態であるかをチェックする。ペースメーカTCB監視情報105の回収条件にまだ合致した状態でない場合には,ペースメーカTCBが再度スケジューラ110によりキューイングされる。
その後,モジュールB20の応答時間が短縮された後に,再度ペースメーカのタスクがスケジューラ110により起動されると,起動されたペースメーカのタスクは,ペースメーカTCB監視情報105の回収条件を参照し,すでにモジュールB20の応答時間が閾値を下回っていることを認識する。よって,ループ処理などを行わずに,またスケジューラ110によりペースメーカTCBが再度キューイングされずに,ペースメーカのタスクの処理が終結される。このとき,ペースメーカTCB監視情報104の投入個数(現在)をデクリメント(−1)する。これがペースメーカTCBの回収となる。
以上説明した処理性能調整機能部100による処理は,コンピュータとソフトウェアプログラムとによって実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも,ネットワークを通して提供することも可能である。
本実施の形態による情報処理システムの例を示す図である。 CPU処理とキューの状態との例を示す図である。 ペースメーカTCB作成/投入処理フローチャートである。 ペースメーカTCB回収処理フローチャートである。 ペースメーカTCB投入時のCPU処理とキューの状態との例を示す図である。 従来技術とその課題を説明するためのシステム構成の例を示す図である。
符号の説明
10 モジュールA
100 処理性能調整機能部
101 状態監視部
102 ペースメーカ要不要判定部
103 ペースメーカTCB処理部
104 ホストTCB監視情報
105 ペースメーカTCB監視情報
106 ペースメーカTCB作成部
107 ペースメーカTCB投入部
108 ペースメーカTCB回収部
110 スケジューラ
20 モジュールB
30 ホスト

Claims (5)

  1. 各タスクの制御ブロックをキューに管理してスケジューリングを行うタスクスケジューリング機能部と,
    CPUに負荷を与えるペースメーカとなるタスクの制御ブロックを前記キューに投入し,該タスクの処理の実行により自モジュールの処理性能を調整する処理性能調整機能部とを備え,
    前記処理性能調整機能部は,他のモジュールに対して依頼したデータの処理の応答時間があらかじめ定められた閾値を超えた場合,または自モジュールの単位時間あたりの処理量があらかじめ定められた閾値を超えた場合に,前記ペースメーカとなるタスクの制御ブロックを前記キューに投入する
    ことを特徴とする処理性能調整機能を有するモジュール。
  2. 前記処理性能調整機能部は,他のモジュールに対して依頼したデータの処理の応答時間があらかじめ定められた閾値を下回った場合,または前記ペースメーカとなるタスクがキューに投入されてから規定の時間が経過した場合に,前記ペースメーカとなるタスクの制御ブロックを前記キューから削除する
    ことを特徴とする請求項1に記載の処理性能調整機能を有するモジュール。
  3. 前記処理性能調整機能部は,前記制御ブロックの投入数を変えることにより,または前記ペースメーカとなるタスクの処理量を変えることにより,前記CPUに与える負荷の量を調整する
    ことを特徴とする請求項1または請求項2に記載の処理性能調整機能を有するモジュール。
  4. 各タスクの制御ブロックをキューに管理してスケジューリングを行うタスクスケジューリング機能部を備えるモジュールのコンピュータが,
    CPUに負荷を与えるペースメーカとなるタスクの制御ブロックを前記キューに投入する処理と,
    前記ペースメーカとなるタスクの処理の実行により,自モジュールの処理性能を調整する処理とを実行し,
    前記ペースメーカとなるタスクの制御ブロックを前記キューに投入する処理では,他のモジュールに対して依頼したデータの処理の応答時間があらかじめ定められた閾値を超えた場合,または自モジュールの単位時間あたりの処理量があらかじめ定められた閾値を超えた場合に,前記ペースメーカとなるタスクの制御ブロックを前記キューに投入する
    ことを特徴とする処理性能調整方法。
  5. 各タスクの制御ブロックをキューに管理してスケジューリングを行うタスクスケジューリング機能部を備えるモジュールのコンピュータに,
    CPUに負荷を与えるペースメーカとなるタスクの制御ブロックを前記キューに投入する処理と,
    前記ペースメーカとなるタスクの処理の実行により,自モジュールの処理性能を調整する処理とを実行させ,
    前記ペースメーカとなるタスクの制御ブロックを前記キューに投入する処理では,他のモジュールに対して依頼したデータの処理の応答時間があらかじめ定められた閾値を超えた場合,または自モジュールの単位時間あたりの処理量があらかじめ定められた閾値を超えた場合に,前記ペースメーカとなるタスクの制御ブロックを前記キューに投入する
    ことを特徴とする処理性能調整プログラム。
JP2007258795A 2007-10-02 2007-10-02 処理性能調整機能を有するモジュール,処理性能調整方法および処理性能調整プログラム Active JP5115122B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007258795A JP5115122B2 (ja) 2007-10-02 2007-10-02 処理性能調整機能を有するモジュール,処理性能調整方法および処理性能調整プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007258795A JP5115122B2 (ja) 2007-10-02 2007-10-02 処理性能調整機能を有するモジュール,処理性能調整方法および処理性能調整プログラム

Publications (2)

Publication Number Publication Date
JP2009087223A JP2009087223A (ja) 2009-04-23
JP5115122B2 true JP5115122B2 (ja) 2013-01-09

Family

ID=40660537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007258795A Active JP5115122B2 (ja) 2007-10-02 2007-10-02 処理性能調整機能を有するモジュール,処理性能調整方法および処理性能調整プログラム

Country Status (1)

Country Link
JP (1) JP5115122B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976978B (zh) * 2019-04-03 2023-04-07 湖南科技学院 一种基于大数据的计算机性能控制系统
CN111984416B (zh) * 2020-08-26 2024-04-19 中国广电四川网络股份有限公司 基于模块竞争的性能提升方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03260839A (ja) * 1990-03-12 1991-11-20 Hitachi Ltd マイクロコンピュータ
JPH0619819A (ja) * 1992-07-01 1994-01-28 Fujitsu Ltd 送受信制御装置
JPH0877039A (ja) * 1994-09-05 1996-03-22 Hitachi Ltd テスト方法
JP2002351678A (ja) * 2001-05-28 2002-12-06 Atr Adaptive Communications Res Lab 連続メディアストリーム処理におけるスケジューリング方法
JP4213572B2 (ja) * 2003-11-28 2009-01-21 株式会社東芝 電子機器およびプロセッサ速度制御方法
JP2007179359A (ja) * 2005-12-28 2007-07-12 Fujitsu Ltd タスク制御方法およびタスク入力制御装置

Also Published As

Publication number Publication date
JP2009087223A (ja) 2009-04-23

Similar Documents

Publication Publication Date Title
US8959515B2 (en) Task scheduling policy for limited memory systems
US8943353B2 (en) Assigning nodes to jobs based on reliability factors
US7810099B2 (en) Optimizing workflow execution against a heterogeneous grid computing topology
JP4961833B2 (ja) クラスタシステム、負荷分散方法、最適化クライアントプログラム、及び調停サーバプログラム
KR101471394B1 (ko) 비파괴 시간에 실행하도록 컴퓨터 마이크로-작업을 스케쥴링하는 방법, 시스템 및 장치
EP1750200A2 (en) System and method for executing job step, and computer product
US20080016508A1 (en) Distributed processing management apparatus, distributed processing management method and distributed processing management program
CN102541460B (zh) 一种多磁盘场景下的磁盘管理方法和设备
US20060212873A1 (en) Method and system for managing load balancing in data processing system
KR101242338B1 (ko) 멀티 스트림 승인 스케쥴링
US20120254485A1 (en) Multi-thread file input and output system and multi-thread file input and output program
US20170132040A1 (en) Methods to apply iops and mbps limits independently using cross charging and global cost synchronization
JP4516999B2 (ja) データ通信制御装置、データ通信制御方法およびそのためのプログラム
EP3274828B1 (en) Methods and nodes for scheduling data processing
CN113228574A (zh) 计算资源调度方法、调度器、物联网系统和计算机可读介质
US9607275B2 (en) Method and system for integration of systems management with project and portfolio management
JP5115122B2 (ja) 処理性能調整機能を有するモジュール,処理性能調整方法および処理性能調整プログラム
CN106843890B (zh) 基于智能决策的传感器网络、节点及其运行方法
CN112799811A (zh) 一种边缘网关的高并发线程池任务调度方法
CN110287159B (zh) 一种文件处理方法及装置
JP2007188452A (ja) 入出力制御装置、入出力制御方法および入出力制御プログラム
CN116848508A (zh) 基于强化学习模型调度任务以供计算机执行
CN111857983B (zh) 基于分布式数据采集任务调度方法及装置
JP7353836B2 (ja) 情報処理装置、方法およびプログラム
JP4034712B2 (ja) ネットワークシステム、分散処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120830

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121001

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5115122

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151026

Year of fee payment: 3