JP3881739B2 - 計算機システムの性能モニタリング方法およびシステム - Google Patents
計算機システムの性能モニタリング方法およびシステム Download PDFInfo
- Publication number
- JP3881739B2 JP3881739B2 JP02995197A JP2995197A JP3881739B2 JP 3881739 B2 JP3881739 B2 JP 3881739B2 JP 02995197 A JP02995197 A JP 02995197A JP 2995197 A JP2995197 A JP 2995197A JP 3881739 B2 JP3881739 B2 JP 3881739B2
- Authority
- JP
- Japan
- Prior art keywords
- performance data
- display
- computer
- data
- input
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は、複数の計算機をネットワークで接続した計算機システムにおける性能データの採取ならびにその表示をおこなう性能モニタリング方法、そのための計算機システムおよびプログラム記憶媒体に係り、特に並列計算機あるいは分散システムに好適な性能モニタリング方法に関する。
【0002】
【従来の技術】
並列計算機や分散システムでは、それらを構成するノードと呼ばれる計算機が複数個協調して並列に稼働するため、それらのノードの動作は、ノード間通信に例示されるように、他のノードの動作に依存する。したがって、逐次型計算機に比較してその動作は非常に複雑なものとなる。
【0003】
このような並列計算機を有効に使用し十分な性能を引き出すためには、ノード単体の動作のみならず、ノード間の動作の因果関係や負荷のバランスなども含めた複雑な稼働状況を正確に把握し、それらの情報を実行中のプログラムのチューニングに役立てていくことが必要となる。
【0004】
計算機の稼働状況の把握を支援する従来技術としては、主に次の2通りの方法が用いられてきた。第1は、Hewlett−Packard社が販売しているPerfViewなどで用いられている方法で、分散システムの各ノード毎にCPUの稼働状況やメモリの使用状況、ネットワークの通信頻度などといったそのノードの稼働状況に関する性能データを計測し、磁気ディスク記憶装置などの、そのノードに含まれた記憶装置に蓄積する。各ノードに蓄積された性能データを、その分散システムに接続された一つの計算機内に集積し、グラフ表示などによって視覚的に理解できるよう表示する。
【0005】
第2は、IBM社のVisualization Toolに代表される方法で、並列計算機の各ノード上に性能データを採取するプロセスを起動し、ネットワークを介してその並列計算機に接続された制御用計算機上に起動された表示プロセスが、各ノード上のプロセスからリアルタイムに性能データを受信し、表示を行う。たとえば、米国International Business Machines Corp.発行の、“IBM Parallel Environment for AIX Operation and Use Version 2.1.0,”pp.263−265,1995(資料番号GC23−3891−00)参照。
【0006】
【発明が解決しようとする課題】
一般に並列計算機あるいは分散システムは複数の利用者により共有して使用されるようになっている。したがって、このような計算機の性能データをネットワークを介してリアルタイムに複数の利用者がモニタリングできることが望ましい。
【0007】
しかし、第1の方法では、各ノード毎に性能データを記憶装置に蓄積することができるが、性能データの測定を一度終えてからデータの解析ならびに表示を行うため、リアルタイムに稼働状況の把握をすることができない。
【0008】
第2の方法では、各ノード上のプロセスからリアルタイムに性能データを受信し表示することができるが、上記参考文献は、複数の利用者が同じ監視対象の計算機の性能データをモニタリングする方法を具体的には示していない。
【0009】
複数の利用者が同じモニタリング対象の計算機の性能データのモニタリングを行う場合、利用者の数が増加するに従ってそのモニタリング対象の計算機に対する、そのモニタリングのための負荷が増大しないことがさらに望ましい。
【0010】
従って本発明の目的は、性能測定の対象となる計算機の負荷の増大を抑えつつ、リアルタイムに性能データを複数の利用者がモニタリングするのに適した計算機性能モニタリング方法、そのための計算機システムおよびプログラム記憶媒体を提供することにある。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明では、監視対象の計算機により性能データを繰り返し採取し、稼働状況モニタ用の計算機にネットワークを通じて送信する。このモニタ用の計算機に受信プロセスを起動し、このプロセスは、送信された性能データを受信し、その計算機と同じかまたは異なる複数の計算機上に起動された一つまたは複数の利用プロセスにその受信した性能データを分配する。測定された性能データは、複数の測定項目に対する複数の性能データを含む。それらの利用プロセスは、例えば、複数の表示プロセスあるいは複数の蓄積プロセスである。
【0012】
いずれかの表示プロセスが上記受信プロセスにより転送された性能データを受信したときには、その表示プロセスは、転送された性能データの内、一部の測定項目に対する性能データを、その表示プロセスが起動されている計算機に接続された表示装置上に表示する。いずれかの蓄積プロセスが上記受信プロセスにより転送された性能データを受信したときには、その蓄積プロセスは、転送された性能データを全て、その蓄積プロセスが起動されている計算機に接続された記憶装置に記憶する。
【0013】
本発明の一つのより望ましい動作態様では、監視対象の計算機が並列計算機である場合には、その並列計算機の各ノード上に起動した採取プロセスが採取した性能データを、上記ネットワークに接続された、並列計算機内の所定の一つのノード上に起動された収集プロセスにより収集し、上記受信プロセスに転送する。
【0014】
【発明の実施の形態】
以下、本発明に係る性能モニタリング方法を図面に示したいくつかの実施の形態を参照してさらに詳細に説明する。なお、以下においては、同じ参照番号は同じものもしくは類似のものを表わすものとする。また、第2の実施の形態以降では、第1の実施の形態との相違点を主に説明する。
【0015】
<発明の実施の形態1>
図12において、並列計算機1は、それぞれ少なくとも一つのプロセッサ2Aとメモリ2Bなどで構成される複数のノード2と、それらのノード間を接続する内部ネットワーク5とからなる。各ノードのメモリ2Bは、そのノードのプロセッサ2Aが実行するプログラムおよびデータを保持する。各ノードあるいは一部のノードはさらに磁気記憶装置等の周辺装置を有するが、ここでは簡単化のために図示していない。並列計算機1の特定の1個のノードは外部ネットワーク21と接続されており、外部ネットワーク21には複数の計算機11が接続され、上記一つのノードおよびこれらの計算機はこのネットワーク21を介して相互に通信可能になっている。並列計算機1が監視対象の計算機であり、外部ネットワーク21に接続された二つの計算機11がモニタリングに使用される計算機の例である。ネットワーク21に接続された他の計算機は、簡単化のために図示されていない。各計算機11は、プロセッサ11Aやメモリ11Bにより構成され、その計算機11には、ディスプレイ装置とキーボードなどを含む入出力装置12と磁気ディスク記憶装置などの記憶装置13が接続されている。各プロセッサは、適当なOS、たとえば、X/Open Company Limitedにより開発され、ライセンスされているUNIXにより制御される。
【0016】
図1には、本実施の形態におけるモニタリングシステムを構成する5種類のプロセスとそれらの間の関連を示す。これらのプロセスは、適当なプログラム記録媒体に記録された5つのプログラムが、並列計算機1に組み込まれて、それぞれプロセスとして実行されたものである。並列計算機1の各ノード2には採取プロセス4がおかれる。この採取プロセス4はそれぞれのノード2の性能データを一定の時間間隔で繰り返し採取する機能を持つ。収集プロセス3は並列計算機1の複数のノード2のうち、外部ネットワーク21に接続されている特定のノード上におかれ、各ノード上の採取プロセス4が採取した各ノードの性能データを収集し、いずれか一つのモニタ用の計算機11へ送信する。
【0017】
一方、この一つのモニタ用計算機11には受信プロセス15、表示プロセス16そして蓄積プロセス17が起動される。受信プロセス15は複数のモニタ用計算機の内の1つのみに起動され、収集プロセス3と1対1でデータの送受信を行う。表示プロセス16ならびに蓄積プロセス17は、一人または複数の利用者によって必要な数だけ起動され、受信プロセス15から性能データの分配を受ける。表示プロセス16は、その性能データ内の一部の項目別性能データを入出力装置12内のディスプレイ装置上に表示する。蓄積プロセスは、その性能データの全体を記憶装置13へ蓄積したりする。この表示プロセス16および蓄積プロセス17は、必ずしも受信プロセス15の起動されたモニタ用計算機11上で起動される必要はなく、そのモニタ用の計算機とネットワーク21で接続されている他の計算機上でもそれらのプロセスを起動することもできる。また、いずれか一つのモニタ用計算機11上に複数の表示プロセス16を起動することもできる。同様にその計算機上に複数の蓄積プロセス17を起動することも可能である。
【0018】
次に、本モニタリングシステムの各プロセスがどのように連携をとりながら動作するかを、図6(a),(b)のフローチャートならびに図2から図5に示された上記5つのプロセスの内部構成図を用いて説明する。
【0019】
まず並列計算機1上の、外部ネットワーク21に接続された上記特定のノード2上に収集プロセス3を起動する(ステップ521(図6(a)))。通常の運用では、この収集プロセス3の起動はシステム管理者が並列計算機1に対して収集プロセス起動コマンドを投入することによって行う。収集プロセス3は、起動されると、まず初期化処理を実行する。たとえば、ノード数、各ノードの属性や性能データを取得するノードの数など、並列計算機1の構成が記述された構成定義ファイル208(図3)を読み込む。本実施の形態では、全てのノードが性能データを取得すると仮定する。各ノードの属性には、そのノードのアドレス、磁気ディスク記憶装置など周辺機器がそのノードに付属しているか否かの周辺装置付属状況などの情報が含まれる。初期化処理が終わったら、この収集プロセス3はいずれか一つのモニタ用計算機11上に起動されるであろう受信プロセス15からの接続要求を待つ。
【0020】
次いで、いずれか一つのモニタ用計算機11上に受信プロセス15を起動する(ステップ541)。通常の運用では、受信プロセス15の起動は、システム管理者がモニタ用計算機11から受信プロセス起動コマンドを投入することによって行う。この受信プロセス15は並列計算機1に対してネットワークにより接続された任意の計算機上に起動することが可能である。しかし、本プロセスは複数の利用者が異なる計算機上で起動した複数の表示プロセスから接続される可能性があるため、並列計算機の管理用ワークステーションなど複数の利用者からのアクセスが可能な特定の計算機上で起動するのが一般的である。システム管理者はこの受信プロセス15の起動コマンドの引数として、収集プロセス3へ接続要求を出す際に必要となる並列計算機1のIPアドレス情報(あるいはホスト名)、性能データ採取の時間間隔などのパラメータを入力する。
【0021】
起動された受信プロセス15は、図4の接続処理ルーチン305により、収集プロセス3に対して接続要求を行う(ステップ542)。本接続要求は、UNIXにおけるconnectシステムコールで実装することができる。この時、接続要求を出す相手である収集プロセス3の識別情報として、起動の際に引数として与えられた並列計算機のIPアドレス情報を用いる。接続要求を受け取った収集プロセス3では、接続処理ルーチン202が、受信プロセス15内の接続処理ルーチン305(図4)のとの接続処理を行い、これにより収集プロセス3が受信プロセス15との間でデータの送受信を行うのを可能にする(ステップ522)。
【0022】
接続処理の完了後、収集プロセス3は先に構成定義ファイル208から読み込んだ並列計算機1の構成定義情報を受信プロセス15へ送信する(ステップ523)。さて、本システムでは、システムを構成するプロセス間でメッセージを授受することにより、要求の伝達やデータの送受信を行う。本実施の形態では、メッセージは可変長のバイト列であり、先頭1バイトはメッセージの種類を表す識別子を格納する識別子フィールドであり、それに続くデータフィールドにデータを格納する。メッセージは、データフィールドを伴わず、識別子フィールドのみから成る場合もある。上記ステップ523での、上記構成定義情報の伝達のためには、収集プロセス3において、内部処理ルーチン207(図3)が受信プロセス15に対応して設けられた入出力バッファ203上にその構成定義情報を含むメッセージを構成する。すなわち、識別子フィールドに本メッセージが構成定義情報を含むことを示す1バイトの識別子を格納し、データフィールドに、上記監視用の計算機11のIPアドレスを格納する。このように構成されたメッセージをUNIXのsendシステムコールを用いて受信プロセス15へネットワーク21を介して送る。
【0023】
受信プロセス15では、収集プロセス3からこのメッセージ受信すると、入力解析ルーチン306(図4)にてその識別子からメッセージ内容が並列計算機1の構成定義情報であることを検知する。さらに、構成定義情報に含まれたノード数から、性能データの転送に必要な入出力バッファ301,302のサイズを算出する。算出されたサイズは後にそれらの入出力バッファが確保されるときに使用される。各入出力バッファ301または302は、後に起動される表示プロセス16あるいは蓄積プロセス17の一つに対応して確保される。これらの入出力バッファのサイズは、1時間ステップに一つの採取プロセス4により採取される性能データの長さを並列計算機内のノード数倍した長さ以上確保すればよい。次いで、受信プロセス15は、収集プロセス3に対して各ノードの採取プロセス4の起動を要求する(ステップ543)。具体的には、上記計算機構成定義情報の授受と同様に、採取プロセス4は、起動要求であることを示す要求識別子を含んだメッセージを収集プロセス3へ送信し、それを受信した収集プロセス3が入力解析ルーチン205でその識別子から要求の内容を識別する。
【0024】
受信プロセス15から採取プロセス4の起動を要求された収集プロセス3は、先に受信した構成定義情報内のノードアドレスを使用して、各ノード2上に採取プロセス4を起動する(ステップ524)。起動にはUNIXのリモートシェル機能を用いる。採取プロセス4は起動されると(ステップ501)、UNIXのconnectシステムコールを用いて接続処理ルーチン100(図2)により収集プロセス3との接続処理を実行するなどの初期処理を行い、収集プロセス3からモニタリング開始が要求されるのを待つ。このようにして採取プロセス4の起動および採取プロセスによる収集プロセス3との接続処理が終了すると、収集プロセス3は受信プロセス15に対して起動処理終了を通知する。それを受けた受信プロセス15は収集プロセス3に対してモニタリング開始を要求する(ステップ544)。この時、受信プロセスがモニタリング開始要求のために送信するメッセージには、要求の内容を示す識別子の他、性能データ採取時間間隔についての情報が含まれる。
【0025】
モニタリング開始要求を受けた収集プロセス3は、該当する採取プロセス4へ開始要求メッセージを転送する(ステップ525)。採取プロセス4が起動されると、カウンタ制御/読み出しルーチン104がselectシステムコールを発行し、採取プロセス4はメッセージ到着待ち状態になる。採取プロセス4は、selectシステムコールに対するリターンの値により、メッセージ到着を検出すると、この採取プロセス4の処理は入力解析ルーチン102に移る。入力解析ルーチン102ではreceiveシステムコールを発行してメッセージを入出力バッファ101に読み込む。メッセージの先頭の識別子がモニタリング開始要求識別子であることを確認し、メッセージに含まれる性能データ採取時間間隔を取り出し、これを戻り値として使用してカウンタ制御/読み出しルーチン104に戻る。こうして採取要求を受けた採取プロセス4は、要求に含まれている採取時間間隔を読みとり、カウンタ制御/読み出しルーチン104は、この採取時間間隔をクロック107にセットし、クロック107はセットされた時間間隔ごとにカウンタ制御/読み出しルーチン104に割り込みを発生する。
【0026】
カウンタ制御/読み出しルーチン104は、クロックからの割り込みを受けると、その都度、UNIXの性能データ採取のためのシステムコールであるrstatなどの関数を発行してOS105から性能データを採取する(ステップ502)。性能データは複数の項目別性能データからなり、採取可能な項目別性能データの数と種類は、上記関数の仕様によって予め決まっている。通常、単位時間内でのCPU利用率、メモリ利用率、磁気ディスク記憶装置アクセス回数、ネットワークによる通信回数(すなわち、送信回数と受信回数)などの項目別性能データを得ることができる。OSは、これらの性能データを、カーネル内のソフトウエアカウンタ106、またはそのノード内のハードウエアカウンタ108より読み出し、rstatの出力引数として返す。
【0027】
このようにして性能データを採取した採取プロセス4のカウンタ制御、読み出しルーチン104は、その性能データを入出力バッファ101に格納し、出力制御ルーチン103に制御を移す。出力制御ルーチン103は、sendシステムコールを発行し、それにより入出力バッファ101の内容を内部ネットワーク5を介して収集プロセス3へ送信する(ステップ503)。収集プロセス3では、いずれかの採取プロセス4からの性能データを含むメッセージの到着を、内部処理ルーチン207(図3)がOSのシステムコールであるselect関数を用いて監視する。メッセージの到着を確認すると、内部処理ルーチン207は、入力解析ルーチン205を起動する。入力解析ルーチン205は、receiveシステムコールを発行して、そのメッセージ内の性能データを入出力バッファ201へ読み込む。入力解析ルーチン205は、その性能データの読み込みが終了すると、送信元の採取プロセスを記憶し、全ての採取プロセス4から性能データが送信されてきたかを確認し、処理を内部処理ルーチン207に戻す。
【0028】
この時、性能データをまだ送信してきてない採取プロセス4がある場合は、内部処理ルーチン207はselectシステムコールを発行して性能データを含むメッセージ到着の監視を続ける。全ての採取プロセス4からの性能データが到着した場合は、内部処理ルーチン207はそれらの採取プロセス4からの性能データを、それぞれの採取プロセスに対応して設けられた入出力バッファ201から、受信プロセス15に対する入出力バッファ203へコピーし、さらに、それらのコピーされた各ノードに関する性能データを一つのメッセージに組み立てる。メッセージは、識別子に続いて、各採取プロセスから送られた性能データを連ねた性能データからなる。次いで内部処理ルーチン207は、出力制御ルーチン206を起動する。出力制御ルーチン206は、UNIXのsendシステムコールを発行し、この性能データを含むメッセージを受信プロセス15に送信する(ステップ526)。
【0029】
受信プロセス15では、内部処理ルーチン308がUNIXのselectシステムコールを発行し、収集プロセス3からのメッセージ到着を待つ。収集プロセス3からのメッセージの到着を検出すると、内部処理ルーチン308は、入力解析ルーチン306に処理を移す。入力解析ルーチン306は、UNIXのreceiveシステムコールを発行して、そのメッセージ内の性能データを収集プロセス3に対応して設けられた入出力バッファ304へ読み込む(ステップ545)。性能データを受信した後、受信プロセス15は、表示プロセス16または蓄積プロセス17が接続されているかを確認する。表示プロセスが1つも接続されていない場合には、以下の性能データの転送処理は行わない。少なくとも一つの表示プロセス16が接続されていた場合には、受信プロセス15は入出力バッファ304に到着したメッセージをその表示プロセス16に対して1対1に設けられた入出力バッファ301にコピーし、それによりそのメッセージをその入出力バッファ301に接続された表示プロセス16に分配する。もし複数の表示プロセス16が接続されている入出力バッファ301があるときには、全ての表示プロセス16にその性能データを全く同じ方法で分配する。蓄積プロセス17が接続されている場合には、その蓄積プロセスに接続して設けられた入出力バッファ301を利用する。本分配処理の詳細に関しては後述する。
【0030】
このようにして、採取プロセス4、収集プロセス3、受信プロセス15がシステム管理者によって起動された後、本システムの使用者は表示プロセス16あるいは蓄積プロセス17を起動すれば、これらのプロセスを使用して性能データをモニタリングをすることが可能となる。この場合、図示された他のモニタ用の計算機11は、並列計算機1の一人の利用者が使用する机上の計算機でもよい。こうして、システム管理者が管理する計算機11からもあるいはそれから隔たった、利用者が管理する個人用の汎用の計算機11からも並列計算機1の性能データをモニタ可能になる。なお、本明細書ではこのように、性能データのモニタリング専用でない汎用の計算機でも性能データのモニタリングに使用される計算機をモニタ用の計算機と呼んでいる。
【0031】
本実施の形態では、受信プロセスを任意の計算機に起動可能にするとともに、性能データを使用する表示プロセスあるいは蓄積プロセスも任意の計算機に起動可能になっている。さらに、個々の表示プロセスが要求する項目別性能データに依らないで、予め定めた複数の項目別性能データを採取し、表示プロセスはその中から項目別性能データを選択して利用する。これらの予め定められた複数の項目が十分多ければ、利用者が他の項目別性能データを要求した場合でも、通常は上の方法によっても利用者の要求を満たすことができる。
【0032】
さらに、本実施の形態では、蓄積プロセスでは利用者が後で利用する項目別性能データを選択できるように、採取された全ての項目別性能データを記憶装置に保持するようになっている。このためにも、利用者の要求する項目別性能データが何であるかに依らないで予め定めた一定数の項目別性能データを採取している。
【0033】
さらに、収集プロセス、採取プロセスと受信プロセスは、表示プロセスあるいは蓄積プロセスの起動とは独立に起動され、その後の表示プロセスあるいは蓄積プロセスの起動に応じて採取した性能データをそれらのプロセスに分配している。これにより、起動された表示プロセスの有無あるいはその数が変化しても、受信プロセスと収集プロセス、採取プロセスは同じ処理を実行すればよいことになる。
【0034】
表示プロセス16の動作は以下の通りである。表示プロセス16はモニタリングシステムの使用者が自分の使用するモニタ用計算機11上で起動する(ステップ561(図6(b)))。この時、使用者は受信プロセス15が起動された計算機のIPアドレスをあらかじめ確認しておき、その表示プロセス16の起動時の引数として指定する。
【0035】
複数の利用者が本モニタリングシステムを利用する場合には、通常は、利用者毎に異なるモニタ用計算機を用いる。例えば、二人の利用者が、図1に示される2台のモニタ用計算機11のそれぞれを用いる。本実施の形態では、同一の利用者が同じ計算機11上に複数の表示プロセスを起動することができる。少なくとも一つの表示プロセス(第1種の表示プロセス)は、後に例示するように、その表示プロセスに対して定まった項目別性能データを、その表示プロセスにより定められた図形もしくはグラフでもって表示するように構成されている。その他の表示プロセス(第2種の表示プロセス)は利用者が選んだ項目別性能データを、その表示プロセスに対してあらかじめ定められたグラフにより表示するように構成される。後者の種類の表示プロセスとして、それぞれ異なるグラフに対応して準備された複数の表示プロセスが同一のモニタ用の計算機上に起動可能に構成されている。さらにいずれの種類の表示プロセスも、起動された後、利用者の指示により受信プロセスに性能データの転送を要求するように構成されている。このように、表示可能なグラフごとに表示プロセスを起動するように表示プロセスを構成してあるので、各表示プロセスの構造が簡単である。
【0036】
以上の結果、本実施の形態では性能データを同じ計算機上に表示するには、利用者は最小限一つの表示プロセスを起動する必要があるが、一般には利用者は複数の項目別性能データの表示を希望するので、同一の利用者が同一の計算機上に複数の第2種の表示プロセスを起動することになる。その際、どのグラフで性能データを表示するかに応じて、起動すべき第2種の表示プロセスを選択し、その選択された第2種の表示プロセスを起動後に、その表示プロセスで表示すべき項目別性能データを指示するようになっている。
【0037】
起動された表示プロセス16では、制御ルーチン403が表示画面の初期化や受信プロセス15へ接続するための初期化処理を行った後、接続処理ルーチン406に処理を移して受信プロセス15へ接続要求を発行する(ステップ562)。
【0038】
接続要求を受け取った受信プロセス15の接続処理ルーチン303は、その表示プロセス用に入出力バッファ301ならびに要求フラグ302を生成し、上記表示プロセスに対して接続処理を行う(ステップ546)。上記受信プロセスに対する接続処理が終了し、そのプロセスに対してデータの送受信が可能となったら、受信プロセス15は今接続した表示プロセス16に対して、受信プロセス15が先に収集プロセス3から受信した、並列計算機1の構成定義情報を送信する。
【0039】
構成定義情報を受信した表示プロセス16は、その情報を参照して性能データを蓄積するための送受信バッファ404の確保や全ノードの性能データを表示するためのグラフのレイアウトの計算などを行った上で、ウィンドウを表示装置上に表示する(ステップ563)。図7は、表示プロセス(第1種の表示プロセス)により予め定められた複数の項目別性能データを表示するウィンドウの例である。二つの直方体および一組の矢印(601,602,603)によって一つのノードの稼働状況を表す。このような図形を複数のノードに対応して複数個配置することによって並列計算機全体の稼働状況を表す。2つの直方体601,602の高さはそれぞれ一つのノードでのCPU利用率とメモリ利用率に対応し、一組の矢印603の長さはネットワーク21へのそのノードからの送信回数と送受信回数に対応する。表示ウィンドウ610は、表示エリア620と制御エリア630から構成され、使用者は制御エリア630に配置されたボタン640,650などのオブジェクトを利用して表示プロセスの制御を行う。ボタン640を操作することによりデータ表示が開始され、ボタン650を操作することにより表示が停止される。
【0040】
図8は1画面に利用者が選択した1種類の項目別性能データを表示する他の表示プロセス(第2種の表示プロセス)により表示されるウィンドウの例である。表示エリア620には棒グラフが表示される。グラフの横軸1711は異なるノードに対応し、縦軸1712に一つの項目別性能データがマッピングされる。利用者は、制御エリア630に与えられた性能データのリスト1704から、棒グラフの縦軸にマッピングしたい性能データを選択する。ボタン640,650は図7の場合と同様である。図7あるいは図8のいずれの表示プロセスの場合でも、使用者が表示ウィンドウ610または1700内のボタン640の操作によりデータ表示の開始を指示すると、表示プロセス16は受信プロセス15に対して性能データの転送要求メッセージを送信する(ステップ564)。
【0041】
前述のように、受信プロセス15は、内部処理ルーチン308においてselectシステムコールを発行し、入出力バッファ301および304へのメッセージ到着待ちの状態にある。表示プロセス16からのデータ転送要求メッセージの到着によりselectシステムコールはリターンし、内部処理ルーチン308は、このメッセージの到着を検出すると、入力解析ルーチン306に処理を移す。入力解析ルーチン306はreceiveシステムコールを発行して要求メッセージを当該表示プロセスと接続された入出力バッファ301に読み込む。次いで、出力制御ルーチン307は要求メッセージの識別子をチェックし、メッセージがデータ転送要求であることを判定して、その入出力バッファ301に付随する要求フラグ302をセットする。なお、同じ使用者または異なる使用者によって複数の表示プロセス16または蓄積プロセス17が起動された場合には、受信プロセス15は上記の処理を繰り返し、それら全てのプロセスと接続操作を行う。
【0042】
このように表示プロセス16が受信プロセス15に接続され、使用者の画面操作によって表示が開始された後の装置動作について説明する。前述の手順により採取プロセス4から収集プロセス3を経由して受信プロセス15へ性能データの転送が行われる(ステップ504,527,548)。このとき、受信プロセス15は内部処理ルーチン308においてselectシステムコールを発行し、入出力バッファ301,305へのメッセージ到着待ち状態にある。収集プロセス3からの性能データを含むメッセージの到着を契機としてselectシステムコールは内部処理ルーチン308にリターンし、さらに内部処理ルーチン308は入力解析ルーチン306に制御を移す。入力解析ルーチン306はreceiveシステムコールを発行して到着したメッセージを入出力バッファ304に読み込み、メッセージの識別子をチェックしてこれが性能データを含むメッセージであることを確認して内部処理ルーチン308に処理を戻す。内部処理ルーチン308は表示プロセス16と接続された入出力バッファ301に付随する要求フラグ302を順次確認する(ステップ547)。
【0043】
もしいずれかの入出力バッファ301に付随する要求フラグ302がセットされていれば性能データを含むメッセージを入出力バッファ304からその一つの入出力バッファ301にメモリコピーし、出力制御ルーチン307を起動する。出力制御ルーチン307はsendシステムコールを発行して入出力バッファに格納された上記メッセージをその入出力バッファ301に接続された表示プロセスへ転送し、その入出力バッファ301に付随する要求フラグ302をクリアする(ステップ549)。この処理を全ての接続されている表示プロセス16に対して設けられている全ての要求フラグ302について繰り返すことにより、受信プロセス15は全ての表示プロセス16に対して性能データを分配する。蓄積プロセスが入出力バッファ301に接続されている場合も全く同様である。このように複数の表示プロセス16に対して性能データを分配する処理を、モニタ用計算機11上にある受信プロセス15が行うため、起動された表示プロセス16の数が増えた場合でも並列計算機1上にある採取プロセス4や収集プロセス3にはその影響はなく、監視対象の並列計算機の負荷が増加しない。
【0044】
受信プロセス15から性能データの転送を受けた表示プロセス16は、受信した全てのデータのうち表示に必要な項目別性能データを参照して表示画面を作成し、入出力装置12に描画する(ステップ566)。表示に必要なデータとは、図7のウィンドウを持つ表示プロセスの場合には、CPU利用率、メモリ利用率、通信回数という、その表示プロセスで定められた3つの項目別性能データであり、図8のウィンドウを持つ表示プロセスの場合には、その表示プロセスに対して利用者が指示した一つの項目別性能データである。
【0045】
表示プロセス16は、処理564から処理566までの表示動作を繰り返すことによって、次々に送られてくる性能データを表示していく。すなわち、表示プロセス16の制御ルーチン403は、データ転送要求を受信プロセス15に送信する(ステップ564)。そのときの具体的な動作は後に説明するとおりである。制御ルーチン403は、その後、利用者のウィンドウ操作あるいは受信プロセスからの性能データを含むメッセージの到着のいずれかを検出するための待ち状態になる。性能データを含むメッセージが到着すると、制御ルーチン403はreceiveシステムコールを発行してメッセージを送受信バッファ404に読み込む(ステップ565)、処理を入力解析ルーチン401に移す。入力解析ルーチン401は、受信プロセス15から送られたメッセージの識別子が、性能データを含むメッセージの識別子であることを確認する。次いで描画処理ルーチン402を起動し、描画処理ルーチン402は、ウィンドウ上のグラフの高さを性能データに応じて変化させる(ステップ566)。描画が終了すると処理は制御ルーチン403に戻り、制御ルーチン403は、次の時間ステップの性能データに対するデータ転送要求メッセージを送受信バッファ404に作成し、sendシステムコールを発行してこのメッセージを受信プロセス15に送信する(ステップ564)。送信後、制御ルーチン403は再び上記待ち状態に戻る。
【0046】
一方、表示の停止は、各時間ステップに対する性能データの描画の後に送信している性能データ転送要求メッセージの送信を中止することにより実現される。使用者が表示ウインド610内のボタン605を操作すると、制御ルーチン403は上記待ち状態から抜けて入力解析ルーチン401に制御を移す。入力解析ルーチン401がその要求を解析し、押されたボタンが停止ボタン650であることを制御ルーチン403に伝える。制御ルーチン403は、この状態が検出されると、その後、受信プロセス15に対して性能データ転送要求メッセージの送信を行わない。データ転送要求が行われない表示プロセス16は対応する要求フラグ302をセットしない。したがって、受信プロセス15はそのような表示プロセス16には性能データを送信しない。したがって、その表示プロセス16の表示は停止する。
【0047】
表示プロセス16の終了処理は、表示ウインド610のメニュー操作により実行される。停止処理の場合と同様に、終了処理の場合も利用者のウィンドウ操作を制御ルーチン403が検出して上記待ち状態から抜け、入力解析ルーチン401に処理を移す。入力解析ルーチン401はメニューから停止が選ばれたことを検出し、制御ルーチン403に伝える。制御ルーチン403は送受信バッファ404に終了通知メッセージを形成し、sendシステムコールによりこれを受信プロセス15に送出する(ステップ567)。
【0048】
終了通知メッセージを受けた受信プロセス15は、その表示プロセス16との接続状態を解消し、割り当てていた入出力バッファならびに要求フラグを解放する(ステップ550)。接続が解消されたら、表示プロセス16は終了処理(ステップ568)を行ったうえで終了する(ステップ569)。全ての表示プロセス16との接続が解消されたら、システム管理者は、受信プロセス15の終了処理を開始することが可能となる。受信プロセス15の終了処理を開始するには、受信プロセス15が起動されている計算機11を制御するOSが提供する割り込み機能を利用して受信プロセス15に対して割り込み信号を入力する。割り込み信号を受け取った受信プロセス15は収集プロセス3に対して終了要求を発行する(ステップ551)。終了要求を受けた収集プロセス3は、全ての採取プロセス4に対して終了要求を発行し(ステップ528)、それを受けた採取プロセス4は終了処理を行う(ステップ505)。全ての採取プロセス4に対する接続が解消されたら、収集プロセス3は受信プロセス15との接続を解消する。その後、収集プロセス3および受信プロセス15は、各々独立に終了処理を行い、本モニタリングシステム内の全てのプロセスが終了する(ステップ529,552)。
【0049】
次に、蓄積プロセス17が記憶装置13に性能データを蓄積し、その蓄積したデータを表示プロセス16で表示する方法について説明する。
図5に示す蓄積プロセス17は、表示プロセス16と同様に、使用者によって起動される。蓄積プロセス17が起動されると、接続処理ルーチン455が受信プロセス15へ接続要求を発行し、表示プロセス16が実行したのと同様の手順で受信プロセス15と接続し、その蓄積プロセス17の動作を使用者に制御させるための制御ウィンドウ(図示せず)を表示する。制御ウィンドウは、表示プロセス16の表示ウィンドウ、たとえば610(図7)と同様であるが、表示エリア620はなく、制御エリア630のみで構成される。制御エリア630で使用者が制御できるのは、蓄積するデータ項目の選択、蓄積するファイル名の指定、蓄積の開始ならびに終了である。制御エリア上の操作で蓄積するデータ項目ならびに蓄積するファイル名を設定した後、データ蓄積開始の操作を行うと、蓄積プロセス17は表示プロセス16と同様に性能データの受信を行う。入力解析ルーチン451は、受信プロセス15から送られたメッセージの識別子が、性能データを含むメッセージの識別子であることを確認する。この性能データは送受信バッファ452に格納され、その後、この性能データは、データ整形ルーチン453で蓄積用のデータ形式に整形され、出力ルーチン454によって磁気ディスク記憶装置などの記憶装置13へ蓄積される。
【0050】
蓄積するファイル1004の形式は、図9(d)に示すように、まず最初に並列計算機のノード総数、前述した各ノードの属性、データを採取したノード一覧などといった並列計算機の構成定義情報を格納する。その情報の後に、複数のブロックが記憶される。各ブロックは、複数のノードの一つと、複数の時間ステップの一つに対応する。各ブロックは、複数のデータレコードからなり、各データレコードは、同じ時間ステップに同じノードから取得された、異なる測定項目に対する性能データを含む。ブロックの最初と最後には、それぞれ図9(a)のヘッダレコード1001および図9(b)のブロック終了レコード1003が置かれ、ブロックの境界を示す。ヘッダレコードには、ブロック全体の長さを示すブロック長やそのブロックに属する複数のデータレコードを生成したノードの番号およびそれらのデータレコードに含まれる性能データが取得された時間ステップを表す時刻情報等が含まれている。さらに、全てのレコードの先頭にはレコードの種類を示すタイプコードおよびそのレコードの長さを示すレコード長がある。ブロックの並ぶ順は、まず、特定のノードと特定の時間ステップに対応する一つのブロックが記憶され、次に同じ時間ステップに対する他のノードに対する他の複数のノードが記憶される。同じ時間ステップに対する全てのノードに対する複数のブロックが蓄積された後に、後続の複数の時間ステップに対する複数のブロックが並ぶ。
【0051】
このようにして蓄積プロセス17により蓄積されたデータは、いずれかの表示プロセス16で表示することが可能となる。この表示に使用する表示プロセスは、すでに起動され、図7または図8に示す表示ウインドウに性能データを表示している表示プロセスでもよく、まだ起動されていない表示プロセスを使用してもよい。以下では、すでに起動され、性能データの表示に使用されている表示プロセスを使用する場合について説明する。
【0052】
図10のフローチャートは表示プロセス16が蓄積データを読み込んで表示を行う手順を示したものである。まず、利用者が事前に入出力装置12から表示をする蓄積データが格納されたファイル名を入力する(ブロック1101)。その後、利用者が表示プロセス16に対して蓄積データ表示モードへの切り替えの要求を入力すると、表示プロセス16は蓄積データ表示モードへ切り替える(ステップ1102)。この時、表示プロセス16は、受信プロセスへのデータ転送要求の送信を停止し、入力先切替ルーチン405(図5)がデータ入力先を受信プロセス15から記憶装置13上の指定したファイルへ切り替える。
【0053】
表示プロセス16はこのファイルをオープンすると(ステップ1104)、表示プロセス16はファイルの先頭にある並列計算機の構成定義情報を読み込む(ステップ1105)。この時、それまで使用していた構成定義情報をバッファ(図示せず)へ退避し、ファイルから読み込んだ構成定義情報をもとにグラフのレイアウト等を計算し直し、そのグラフを表示画面に表示する。次に、ファイルを最後まで読んでブロック数を数え、先に読み込んだ構成定義情報のノード数でこのブロック数を割ることにより、蓄積されている複数のブロックが測定された時間ステップ数を計算する(ステップ1106)。そして、蓄積データ表示機能の制御画面を表示する(ステップ1107)。
【0054】
図11は制御画面の一例である。ファイル名表示欄902には、現在読み込みを行っているファイル名が表示され、データ数表示欄903には処理ブロック1106で計算した蓄積データの時間ステップ数が表示される。表示範囲入力欄904,905,906には、それぞれ表示する時間ステップ範囲の最初、最後および何時間ステップおきにデータを表示するかという読み飛ばす時間ステップ数を入力する。スライダ907は、現在何番目の時間ステップのデータを表示しているかを示すもので、この位置を動かすことによって、表示データを変更することが可能である。ボタン908,909,910,911は、それぞれ一つ前の時間ステップへのコマ送り、連続表示の停止、連続表示の開始、一つ先の時間ステップへのコマ送りを指定するためのボタンである。
【0055】
ステップ1109で、このような制御画面901により、利用者が表示時刻、すなわち表示すべきデータの時間ステップを指定すると、表示プロセス16はファイルの内容を読み込んで、該当する時間ステップのデータを検索する(ステップ1110)。そして、そのデータを表示装置へ描画する(ステップ1111)。また、ステップ1109で、制御画面901のボタン910を押して連続表示を開始させると、表示範囲入力欄905で指定された表示範囲の最後の時間ステップに到達するか、表示ボタン909により連続表示の停止が指定されるまで(ステップ1112)、現在読み込んでいるデータの次から1時間ステップ分のデータを読み込み(ステップ1113)、表示することを繰り返す(ステップ1114)。表示を繰り返す時間間隔は、ファイルに蓄積しているヘッダレコード1001内の時刻情報から算出する方法や、あらかじめ指定する方法などが考えられるが、いずれにしても図5における表示プロセス16内のクロック生成ルーチン407によって時刻を計測し、指定時間が経過したら描画処理を行う。
【0056】
マウス等の入力装置より、蓄積データ表示機能の終了が利用者により指示されると(ステップ1108)、終了処理を実行し、それにより、入力先切替ルーチン405が受信プロセスへと入力先を切り替え、この表示プロセス16は、通常のデータ表示モードへ戻る(ステップ1115)。この時、表示プロセス16はファイルから読み込まれた構成定義情報を破棄し、バッファへ退避させておいた以前の構成定義情報を復活させ、表示エリア上のグラフを蓄積データ表示モードに切り替える以前のリアルタイム表示の状態に戻す。これにより、蓄積プロセス17と表示プロセス16を起動しておくことにより、現在のデータをリアルタイムで表示している最中に、過去のデータを表示し直すことが可能になる。また、事前に蓄積しておいたデータを用いて、並列計算機の稼働状況を事後解析することも可能となる。なお、蓄積プロセス17はそれぞれのモニタ用の計算機11上に並行して起動し、それぞれの蓄積プロセスによりそれぞれが起動された計算機に含まれた記憶装置13に性能データを並行して蓄積することができる。
【0057】
さらに、蓄積プロセス17は受信プロセス15から見ると表示プロセス16と特に区別されるものではないため、1つの受信プロセス15に対して複数の表示プロセス16が起動可能であるということは、複数の蓄積プロセス17の起動が可能であることを意味する。したがって、複数の使用者がそれぞれ互いに異なる蓄積プロセス17を同時に起動することによりデータ蓄積機能を同時に利用することが可能となり、しかもそれらの蓄積プロセスの起動により並列計算機の負荷が増大することはない。
【0058】
<発明の実施の形態2>
本発明は、上記実施の形態で使用した並列計算機とは異なるものにも適用可能である。上記実施の形態では、並列計算機の内の特定のノードのみが外部ネットワークに接続されていた。しかし、すでに開発されている並列計算機の中には、複数の特定のノードがこの外部ネットワークに接続されているものもある。そのような並列計算機においては、それらの特定のノードの各々に、収集プロセスを配置し、並列計算機内に性能データの収集および受信プロセスへの転送をそれらの複数の収集プロセスにより分割して実行させることができる。
【0059】
すなわち、受信プロセスと各特定のノードに起動された収集プロセスとの間の通信を使用して、その収集プロセスがその特定のノードを含む一部の複数のノードの性能データの収集を指示し、それらのノードが採取した性能データをその収集プロセスが収集し、上記受信プロセスに転送する。このことを各特定のノードに起動された収集プロセスが行う互いに並行に行う。こうすることにより、先の実施の形態における、全てのノードが採取した複数の性能データを収集する特定の一つのノードの負荷よりは、この実施の形態2における各特定のノードの負荷が減少する。このような並列計算機においても、複数のユーザが、この並列計算機に性能データをモニタしようとする場合でも、並列計算機の負荷が増大することはない。
【0060】
<発明の実施の形態3>
すでに開発されている他の並列計算機では、それぞれが複数のノードを含むような複数のパーティションに分割されている。この場合には、各パーティションごとに、その中の複数のノードによりいずれかの一つジョブを並列に実行させることができる。もちろん各パーティションで複数のジョブを実行させることも可能である。しかし、一人の利用者が一つのパーティションを占有して使用するのに適している。このような計算機システムではそれぞれのパーティションごとに稼動状況をモニタリングすることが有効である。
【0061】
例えば、図13では、並列計算機1が二つのパーティション1、パーティション2(100A,100B)に分割されている。各パーティションに含まれた複数のノードの内、予め定められた一つのノードが外部ネットワーク21に接続されている。この場合、採取プロセス4を各ノード上で起動し、かつ収集プロセス3を各パーティションの、外部ネットワーク21に接続された特定のノード2上に起動する。パーティション1の性能データを監視するために、第1の受信プロセス15Aを第1のモニタ用計算機11上に起動し、第1のパーティションの特定のノードに起動された、収集プロセス3と交信させる。さらに表示プロセス16Aあるいは蓄積プロセス17Aをそのモニタ用計算機上11に起動し、上記第1の受信プロセスと15Aに接続する。実施の形態1の場合と同様にして、表示プロセス16Aあるいは蓄積プロセス17Aはこの受信プロセス15Aからパーティション1の性能データの分配を受ける。さらに他の図示しない表示プロセスあるいは蓄積プロセスを他の図示しない計算機に起動された場合、その表示プロセスあるいは蓄積プロセスもこの第1の受信プロセスを介して性能データの分配を受ける。
【0062】
同様にして他のパーティション2に関しても第2の受信プロセス15B、表示プロセス16Bあるいは蓄積プロセス17Bあるいはさらに他の図示しない表示プロセスあるいは蓄積プロセスを起動する。この実施の形態においては、各パーティションごとに性能データを他のパーティションとは独立に採取することができる。さらに、同じパーティションの性能データをモニタする表示プロセスと蓄積プロセスの両方が同じモニタ用の計算機に上に起動された場合にもあるいは同じパーティションの性能データをモニタする複数の表示プロセスを異なるモニタ用のp計算機上に起動した場合にも、並列計算機の負荷は増えない。
【0063】
<発明の実施の形態4>
実施の形態2の最も極端な場合は、並列計算機の全てのノードが外部ネットワークに接続されている場合である。この場合には、各ノードに上記採取プロセスと収集プロセスの機能を兼ねたプロセスを起動し、上記受信プロセスが、各ノードのこのプロセスと交信してそのノードの性能データを受信させればよい。この場合には、各ノードに性能データの採取のための同じプロセスが起動されるので、実施の形態1に比べて、異なるノード間で性能モニタのための負荷の偏りが少ない。
【0064】
<発明の実施の形態5>
本発明は、外部ネットワークで結合された複数の計算機からなる分散型の計算機システムに対しても同様に適用が可能である。この場合には、この分散型のシステムに属する複数の計算機の各々に、採取プロセスを配置し、それらの計算機の内の一つ、たとえば、ネットワークを管理する計算機に収集プロセスを配し、さらに、それらの計算機の内の、監視対象となる複数の計算機のうちの一つに受信プロセスを配し、それらの監視対象となる複数の計算機の一部あるいはそれらの監視対象となる複数の計算機とは異なるいずれか一つの計算機に表示プロセスあるいは蓄積プロセスを配置すればよい。なお、受信プロセスを監視対象となる複数の計算機とは異なるものに起動することも可能である。この結果、各採取プロセスと上記収集プロセスの間の通信あるいは収集プロセスと受信プロセスの間の通信は外部ネットワークを介して行われる点で、実施の形態1と異なる。しかし、複数の表示プロセスあるいは蓄積プロセスにこの受信プロセスから性能データを分配できることは実施の形態1と同じである。
【0065】
<変形例>
本発明は以上に示した実施の形態に限定されるものではなく、以下に例示する複数の変形例を含めいろいろの変形例を含むものである。
(1)並列計算機内部の高速通信手順の利用
実施の形態では、並列計算機内部の通信、すなわち採取プロセス4と収集プロセス3との間の性能データの受け渡しにTCP/IPによる通信を用いるとして説明を行った。しかし、並列計算機によっては、内部ネットワークが複数のデータを異なるパスを経由して並列に転送可能なものを使用するものが多い。そのような内部ネットワークを介したノード間の通信には、TCP/IPよりも軽量、高速な内部通信手順を利用しているものも多い。そのような計算機においては、上記実施の形態1,2,3のごとく、その計算機内の一つもしくは一部の複数のノードに起動された収集プロセスに他のノードで採取された性能データを転送する方法を採用した場合には、そのノード間通信には、並列計算機固有の高速内部通信プロトコルを使用することが性能データの転送の高速化の点で有効である。
【0066】
この場合、図3に示す収集プロセス3では、入力解析ルーチン205ならびに出力制御ルーチン206に代えて、内部通信に対応した入力解析ルーチンおよび出力制御ルーチンの組、ならびに外部通信に対応した入力解析ルーチンと出力制御ルーチンの組とがが用意され、内部通信と外部通信のいずれを行うかにより、これらの組の一方が使用される。入出力バッファ201は前者により使用され、入出力バッファ203は後者により使用される。例えば、採取プロセス4から 高速内部通信手順によって入出力バッファ201に送られてきたデータは、採取プロセス4用の、高速内部通信に対応した入力解析ルーチンによって受信され、一度、内部処理ルーチン207へ渡される。内部処理ルーチン207は受信プロセス15と通信するための、外部ネットワーク通信に対応した出力制御ルーチン206を呼び出し、データを引き渡す。その出力制御ルーチン206はTCP/IPなどの、モニタ用計算機11と通信が可能なプロトコルによって受信プロセス15へデータを送信する。本変形により、並列計算機の全てのノードがTCP/IPなどといった比較的負荷の重い通信プロトコルを使用する場合より、並列計算機1にかかる、モニタリングによる負荷を減らすことが可能となる。
【0067】
(2)採取する項目の受信プロセスからの指定
実施の形態1では、採取プロセスが採取する項目別性能データは予め決まっていたが、受信プロセスからこれらの項目を指定させてもよい。このためには、システム管理者が受信プロセスを起動するときに、その受信プロセスを起動する計算機11にこれらのデータを指定する情報を入力させればよい。
【0068】
(3)受信プロセスでの一部の項目別性能データの選択
上記実施の形態1では、採取プロセスにて採取された複数の項目別性能データ(例えばCPU利用率、メモリ利用率、磁気ディスク記憶装置アクセス回数、通信回数)が、収集プロセス3、受信プロセス15を経由してつねに表示プロセス16にまで転送された。これに対し、受信プロセス15にて表示に必要な項目のみを選択して表示プロセス16に転送させると、転送されるデータ量を低減できる。これを実現するためには、表示プロセス16が利用者によって起動され、受信プロセス15に対して接続が確立した(ステップ562(図6(b)))直後に、表示プロセス16から受信プロセス15に対して表示すべき性能データの通知を行う。受信プロセス15はどの表示プロセスがどの項目別性能データを必要とするかを記憶する。受信プロセス15において内部処理ルーチン308が性能データを入出力バッファ304から、いずれかの表示プロセスに接続された入出力バッファ301へメモリコピーする際に、受信した性能データ全体をコピーするのではなく、必要と記憶された項目別性能データのみを選択してコピーする。
【0069】
(4)項目別性能データの選択的採取
実施の形態1では、表示プロセスまたは蓄積プロセスの起動とは独立に、性能データの収集を受信プロセスから収集プロセスに要求した。しかし、いずれかの表示プロセスまたは蓄積プロセスが起動されてから、この要求を発行するように受信プロセスを構成することもできる。その際、利用者が要求する項目別性能データを表示プロセスあるいは蓄積プロセスから受信プロセスに通知させ、受信プロセスにより起動されたそれらのプロセスが通知した項目別性能データを採取することを監視対象の計算機に要求させることもできる。この方法を採ると、新たに表示プロセスあるいは蓄積プロセスが起動された場合に、その新たに起動されたプロセスが要求する項目別性能データが追加して採取されるように、受信プロセスが採取を要求する項目別性能データを更新することが望ましい。こうすることにより、必要最小限の項目別性能データのみを採取することになるので、採取する性能データの量が少なくなる。
【0070】
(5)複数の時間ステップでの採取されたデータの一括転送
実施の形態1は、データを採取する時間ステップ毎に採取プロセス4から表示プロセス16までデータを送信するものであったが、変形例として採取プロセス4において複数の時間ステップの性能データを蓄積しておき、それらをまとめて1回のデータ送信で送り出す方式が考えられる。以下その変形例について説明する。図2において、採取プロセス4の出力制御ルーチン103は、カウンタ制御/読み出しルーチン104からデータを受け取ると、入出力バッファ101中のその時点での最後尾へ格納し、入出力バッファ101へ格納したレコード数を記憶しておく。入出力バッファ101内のレコード数が所定値に達したら、出力制御ルーチン103はそれまで格納したデータをまとめて一つのデータとして収集プロセス3へ送信する。収集プロセス3ならびに受信プロセス15については、前述の実施の形態1と同様の動作をする。このデータを最終的に受信した表示プロセス16は、図5において、内部のクロック407を参照して、一定時間毎に送受信バッファ404内のデータから一時刻分のデータを読み出し、表示を行う。送受信バッファ404内のデータを全て処理し終えたら、表示プロセス16は受信プロセス15へデータ要求を送信する。なお、蓄積プロセス17に関しては、動作に変更はなく、前述の実施の形態1の通りデータを蓄積する。これにより、採取したデータの転送回数を少なくすることが可能となり、通信負荷を減少することが可能となる。
【0071】
【発明の効果】
本発明によれば、監視対象の計算機から採取された性能データを利用するモニタ用のプロセス(表示プロセスあるいは蓄積プロセス)の数が増大しても、監視対象の計算機自体の負荷はほとんど増加することがない。
【図面の簡単な説明】
【図1】本発明による並列計算機性能モニタリングシステムの全体構成図。
【図2】並列計算機性能モニタリングシステムにおける採取プロセスのモジュール関連図。
【図3】並列計算機性能モニタリングシステムにおける収集プロセスのモジュール関連図。
【図4】並列計算機性能モニタリングシステムにおける受信プロセスのモジュール関連図。
【図5】並列計算機性能モニタリングシステムにおける表示プロセス/蓄積プロセスのモジュール関連図。
【図6】図1のシステムで採用される並列計算機性能モニタリング方法の処理手順を示すフローチャート。
【図7】性能データの表示画面の一例を示す図。
【図8】性能データの表示画面の他の例を示す図。
【図9】(a)は、蓄積プロセスが記憶装置へ蓄積するブロックのヘッダレコードの形式の例を示す図。
(b)は、蓄積プロセスが記憶装置へ蓄積するブロックの通常のデータレコードの形式の例を示す図。
(c)は、蓄積プロセスが記憶装置へ蓄積するブロックのブロック終了レコードの形式の例を示す図。
(d)は、蓄積プロセスが記憶装置へ蓄積するファイルの形式の例を示す図。
【図10】蓄積されたデータの再表示処理手順を示すフローチャート。
【図11】蓄積されたログデータの表示機能を制御するための制御画面の一例を示す図。
【図12】本発明による性能モニタリング方法を適用する並列計算機の全体構成図。
【図13】本発明による性能モニタリング方法を適用する他の並列計算機の全体構成図。
Claims (1)
- プロセッサとメモリを含む複数のノードを有する計算機システムを監視対象とし、該計算機システムとネットワークを介して接続された複数のモニタ用計算機で前記監視対象の計算機システムの所望の性能データをそれぞれ表示する計算機システムの性能モニタリング方法であって、
前記モニタ用計算機の一つで、受信プロセスを稼動させることにより、前記モニタ用計算機の一つから前記計算機システムに、性能データの定期的送信を要求し、
他のモニタ用計算機から接続要求を受けるごとに、該他のモニタ用計算機のために入出力バッファを確保し、
他のモニタ用計算機からデータ転送要求を受けるごとに、該他のモニタ用計算機のために確保した前記入出力バッファに付随する要求フラグをセットし、
前記監視対象の計算機システムから送信された性能データを受信するごとに、前記要求フラグがセットされている入出力バッファの全てに受信した性能データを格納し、格納した入出力バッファから該入出力バッファに対応するモニタ用計算機に前記性能データを送信し、かつ送信に対応して該入出力バッファに付随する要求フラグをクリアする、
ステップを実行して前記監視対象の計算機システムの性能データを複数のモニタ用計算機に分配することを特徴とする計算機システムの性能モニタリング方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02995197A JP3881739B2 (ja) | 1996-02-14 | 1997-02-14 | 計算機システムの性能モニタリング方法およびシステム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2643796 | 1996-02-14 | ||
JP8-26437 | 1996-02-14 | ||
JP02995197A JP3881739B2 (ja) | 1996-02-14 | 1997-02-14 | 計算機システムの性能モニタリング方法およびシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09330302A JPH09330302A (ja) | 1997-12-22 |
JP3881739B2 true JP3881739B2 (ja) | 2007-02-14 |
Family
ID=26364224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02995197A Expired - Fee Related JP3881739B2 (ja) | 1996-02-14 | 1997-02-14 | 計算機システムの性能モニタリング方法およびシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3881739B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19911759C1 (de) * | 1999-03-16 | 2000-09-07 | Ibm | Vorrichtung und Verfahren zur Ablaufüberwachung von Vorgängen in einem Digitalrechner |
US7761557B2 (en) * | 2005-01-06 | 2010-07-20 | International Business Machines Corporation | Facilitating overall grid environment management by monitoring and distributing grid activity |
JP2008084009A (ja) * | 2006-09-27 | 2008-04-10 | Toshiba Corp | マルチプロセッサシステム |
JP5069269B2 (ja) * | 2009-04-02 | 2012-11-07 | 日本電信電話株式会社 | 監視制御システム |
JP6324652B2 (ja) * | 2011-08-26 | 2018-05-16 | 株式会社タカゾノテクノロジー | 調剤システムおよび調剤装置 |
JP6407315B2 (ja) * | 2017-01-18 | 2018-10-17 | 株式会社タカゾノテクノロジー | 調剤システム |
-
1997
- 1997-02-14 JP JP02995197A patent/JP3881739B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09330302A (ja) | 1997-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0790559B1 (en) | Method of monitoring a computer system, featuring performance data distribution to plural monitoring processes | |
US7075568B2 (en) | Digital camera, system, and method for capturing and storing an image, and using an event signal to indicate a change in the content stored in a memory | |
JP3554007B2 (ja) | ノードネットワークを用いた通信方法及び通信システム | |
US5774656A (en) | Information processing system and method and service supplying method for use within a network | |
US9438660B2 (en) | Method and system for distributing art | |
US5689637A (en) | Console simulator, multi-console management system and console management distribution system | |
JP2677744B2 (ja) | 分散メモリ式デジタル計算システム | |
US6078955A (en) | Method for controlling a computer system including a plurality of computers and a network processed as a user resource | |
KR970004090B1 (ko) | 멀티프로세서 시스템의 신규 프로그램 실행 초기화 방법 및 장치 | |
JPH0855075A (ja) | 対等サブシステム間のデータストリーミング機能を効率的に処理するコンピュータシステム | |
JP2004038758A (ja) | 記憶制御装置、記憶制御装置の制御方法、及びプログラム | |
JPH0844680A (ja) | 並列計算機システムにおけるモニタデータ収集方法 | |
JP3881739B2 (ja) | 計算機システムの性能モニタリング方法およびシステム | |
US7237005B2 (en) | Job network setup method, job network execution method, job management system, management terminal and program | |
JP3870701B2 (ja) | コンピュータの階層情報管理方法および装置ならびにその処理プログラムを記録した記録媒体 | |
Chesson | The network UNIX system | |
WO2017017774A1 (ja) | ストレージ監視システムおよびその監視方法 | |
JP2002297428A (ja) | 分散データ管理システム、分散データ管理方法及び分散データ管理プログラム | |
JP3384911B2 (ja) | 複合計算機システムにおける状態監視システム | |
JP3221093B2 (ja) | ネットワークプリント制御システム | |
JP2000322278A (ja) | プロセス実行制御方法 | |
JP4550278B2 (ja) | 遠隔計算機処理 | |
JP2000293463A (ja) | データ処理装置および表示処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JPH02139626A (ja) | マルチウインドウイベント管理装置 | |
JPH07334467A (ja) | 計算機システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040209 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040209 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20040209 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060711 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060908 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060908 |
|
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: 20061017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061113 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101117 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101117 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131117 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |