[go: up one dir, main page]

JPH05274185A - Meausring device for performance of information processing system - Google Patents

Meausring device for performance of information processing system

Info

Publication number
JPH05274185A
JPH05274185A JP4088238A JP8823892A JPH05274185A JP H05274185 A JPH05274185 A JP H05274185A JP 4088238 A JP4088238 A JP 4088238A JP 8823892 A JP8823892 A JP 8823892A JP H05274185 A JPH05274185 A JP H05274185A
Authority
JP
Japan
Prior art keywords
remote procedure
performance
procedure call
debugger
source code
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.)
Granted
Application number
JP4088238A
Other languages
Japanese (ja)
Other versions
JP2924436B2 (en
Inventor
Shigehisa Kawabe
惠久 川邉
Ichiro Yamashita
一郎 山下
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP4088238A priority Critical patent/JP2924436B2/en
Publication of JPH05274185A publication Critical patent/JPH05274185A/en
Application granted granted Critical
Publication of JP2924436B2 publication Critical patent/JP2924436B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

PURPOSE:To simplify the measurement of performance of an information processing system containing plural processes which perform communication with each other with call of a remote procedure without caring of this remote procedure call. CONSTITUTION:In a decentralized information processing system where plural processes perform communication with each other with a remote procedure call and attain the parallel operations, it is previously detected that a remote procedure call is given to the process to undergo the measurement of its performance by a remote procedure call issue detecting means 15. The means 15 also specifies a process that has a remote procedure to be called. A remote procedure call end detecting means 16 detects the end of the remote procedure call processing. The satellite performance measuring means 12a and 12b are connected to the processes 11a and 11b and measure the performance of satellites. Then a central performance measurement control means 14 controls the operating states of both means 12a and 12b in response to detection result of the means 15 and also stores the measurement results of both means 12a and 12b.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は複数の計算機を互いに関
連制御することによって、複数のプログラムを分散して
処理する分散型の情報処理システムに関し、特にこうし
たプログラムの並行、並列あるいは分散処理に際してそ
のシステム内で並行・並列動作する各プロセスを対象と
して好適な性能測定装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed information processing system for processing a plurality of programs in a distributed manner by controlling a plurality of computers in association with each other, and more particularly to a parallel, parallel or distributed processing of such programs. The present invention relates to a performance measuring apparatus suitable for each process that operates in parallel / parallel in a system.

【0002】[0002]

【従来の技術】近年、ネットワークの普及や計算機の低
価格化と、計算機に要求される処理の複雑化と多様化に
より、複数のプロセス各々について通信チャネルを介し
た通信手段を通じて互いに通信を行い協調して並行・並
列動作するプロセスからなるプログラムが作成されるよ
うになってきている。特に、広域ネットワークや狭域ネ
ットワークで結合された複数の計算機に分散配置された
前記並行・並列動作するプロセスからなる分散プログラ
ムのプログラミングがおこなわれるようになっている。
2. Description of the Related Art In recent years, due to the spread of networks, the cost reduction of computers, and the complexity and diversification of processing required for computers, a plurality of processes communicate with each other through communication means via communication channels and cooperate with each other. Then, a program consisting of processes that operate in parallel and in parallel is being created. In particular, programming of a distributed program consisting of the processes operating in parallel / parallel in a distributed manner on a plurality of computers connected by a wide area network or a narrow area network is performed.

【0003】このようなプログラミングにおいては、協
調して並行・並列動作するプロセスを容易に記述する方
法や性能測定する方法の開拓が大きな課題となってい
る。協調して並行・並列動作するプロセスを容易に記述
する方法の一つとしては、プログラムを、処理を提供す
るサーバと処理結果を利用するクライアントとして機能
分離をおこない、記述することでモジュール化しプログ
ラミングを行う方法がある。特にサーバとクライアント
の機能分離の方式の一つに遠隔手続き呼出として知られ
る方法がある(たとえば、「分散コンピューティング環
境の最前線」 『日経エレクトニクス』1990.6.
11、no.502 pp.122−148参照)。遠
隔手続き呼出は処理の単位を手続としてとらえ同一ある
いは遠隔の計算機上のプロセスに対し手続を指定し引数
を送信し、手続の返り値を受信する。また手続の副作用
が情報処理システムの状態に反映されることで、処理が
行われる。この遠隔手続呼出を導入することで簡単に協
調して並行・並列動作するプロセスからなるプログラム
のプログラミングが可能である。性能測定に際しても簡
単に協調して並行・並列動作するプロセスをいかに扱う
かが大きな問題の一つとなっている。
In such programming, the development of a method for easily describing processes that perform parallel / parallel operations in cooperation and a method for measuring performance has become a major issue. One way to easily describe processes that operate in parallel / parallel in cooperation is to modularize programming by separating the functions of the program as a server that provides the processing and a client that uses the processing results. There is a way to do it. In particular, there is a method known as a remote procedure call as one of the methods of separating the functions of the server and the client (for example, "Forefront of distributed computing environment", "Nikkei Electronics" 1990.6.
11, no. 502 pp. 122-148). In the remote procedure call, the unit of processing is regarded as a procedure, the procedure is designated to the process on the same or a remote computer, the argument is transmitted, and the return value of the procedure is received. Further, the processing is performed by reflecting the side effect of the procedure on the state of the information processing system. By introducing this remote procedure call, it is possible to easily program a program consisting of processes that operate in parallel / parallel in cooperation. One of the major problems in performance measurement is how to handle processes that operate in parallel and parallel in a simple and cooperative manner.

【0004】従来の性能測定方式は単一のプロセスを扱
うにすぎなかった。例えば、AT&TのUNIXオペレ
ーティングシステムでは、オペレーティングシステムの
核に組み込まれている機能としてユーザプロセスの管理
データにアクセスする機能を用いてプロセスの実行終了
時に、ユーザモードで消費した時間とシステムモードで
消費した時間と全体で消費した時間を報告するソフトウ
ェア”time”が提供されている。しかし近年では並
行・並列動作するプロセスを扱った性能測定に関して研
究されており、たとえば、遠隔手続呼出機能に通信障害
の発生や遠隔手続呼出に関する再試行の情報を管理する
機構を組み込み、遠隔手続呼出しの性能低下について測
定した文献も公表されている。(たとえば、R.Coo
per,「Pilgrim:A Debugger fo
r Distributed Systems」Pro
c. of 7th Int. Conf. on Dist
ributedComputing Systems、
pp.458−465 (Sep.1987)参照)。
Traditional performance measurement schemes have only dealt with a single process. For example, AT &T's UNIX operating system uses the function of accessing the management data of the user process as a function incorporated in the core of the operating system to consume the time spent in the user mode and the system mode at the end of execution of the process. Software "time" is provided to report time and total time spent. However, in recent years, research has been conducted on performance measurement for processes that operate in parallel and in parallel.For example, the remote procedure call function incorporates a mechanism for managing information on the occurrence of communication failures and retry information related to remote procedure calls, and The literature that measures the performance degradation of is also published. (For example, R. Coo
per, “Pilgrim: A Debugger fo
r Distributed Systems ”Pro
c. of 7th Int. Conf. on Dist
ribbed Computing Systems,
pp. 458-465 (Sep. 1987)).

【0005】[0005]

【発明が解決しようとする課題】しかし従来のプログラ
ム性能測定方式では、単一のプロセスの性能測定を行う
ものであり、また並行・並列動作するプロセスの場合で
も、それらのプロセスのそれぞれを、単一のプロセスと
して性能測定するものであり、並行・並列動作するプロ
セスからなるプログラムの全体の性能については、プロ
セスごとの性能をユーザが集計して間接的に測定可能と
する機能を重点として考えられていた。従って、遠隔手
続呼出を用いた並行・並列動作するプロセスのプログラ
ムの場合、遠隔手続呼出しが発行されたときの通信手順
や引数の通信部分、あるいは、遠隔手続呼出しが終了し
たときの通信手順や返り値の通信部分を考慮しなければ
ならず、そのようなプログラムをあたかも単一プロセス
のプログラムと同様に簡単に性能測定することは困難で
あるという問題があった。本発明は、従来のプログラム
性能測定方式の持つ前記問題を解決するものであり、遠
隔手続き呼出しにより互いに通信を行う複数のプロセス
により実現される情報処理システムにおいて遠隔手続き
呼出しを意識しないで簡単に性能測定ができるプログラ
ム性能測定装置を提供することを課題とする。
However, in the conventional program performance measuring method, the performance of a single process is measured, and even in the case of processes operating in parallel or in parallel, each of those processes can be measured as a single process. The performance is measured as a single process.The overall performance of a program consisting of parallel and parallel processes is thought to be focused on the function that allows the user to aggregate the performance of each process and indirectly measure it. Was there. Therefore, in the case of a program of a process that operates in parallel or in parallel using remote procedure call, the communication procedure and the communication part of the argument when the remote procedure call is issued, or the communication procedure and the return when the remote procedure call is completed There is a problem that it is difficult to measure the performance of such a program as easily as a single-process program, because the communication part of the value must be taken into consideration. The present invention solves the above-mentioned problem of the conventional program performance measuring method, and enables easy performance in an information processing system realized by a plurality of processes communicating with each other by remote procedure call without being aware of remote procedure call. An object is to provide a program performance measuring device that can perform measurement.

【0006】[0006]

【課題を解決するための手段】本発明は、図1に示すよ
うに、複数のプロセスすなわち第1のプロセス11a,
第2のプロセス11b,…第nのプロセス11nが通信
チャネルを介した通信手段すなわち第1の通信手段13
a,第2の通信手段13b,…第nの通信手段13nを
通じて遠隔手続呼出しにより互いに通信を行い並行・並
列動作を実現する分散型の情報処理システムの性能測定
装置において、性能測定対象のプロセスに遠隔手続き呼
出しがあることを前もって検出するとともに、呼び出さ
れる遠隔手続を有するプロセスを特定する遠隔手続呼出
発行検出手段15と、遠隔手続呼出しの処理の終了を検
出する遠隔手続呼出終了検出手段16と、前記複数のプ
ロセス11a,11bの各々に接続して性能測定を行う
複数の衛星性能測定手段12a,12bと、前記遠隔手
続呼出発行検出手段15の検出あるいは前記遠隔手続呼
出終了検出手段16の検出に応答して、前記衛星性能測
定手段12a,12bの動作状態の切り替え制御を行う
とともに、前記衛星性能測定手段12a,12bから通
知される測定結果を蓄積する中央性能測定制御手段14
とを有することを特徴とする。
According to the present invention, as shown in FIG. 1, a plurality of processes, that is, a first process 11a,
The second process 11b, ... The nth process 11n is a communication means via the communication channel, that is, the first communication means 13
a, second communication means 13b, ... In the performance measurement device of the distributed information processing system which communicates with each other by remote procedure call through the nth communication means 13n to realize parallel / parallel operation, Remote procedure call issuance detection means 15 for detecting in advance that there is a remote procedure call and for identifying the process having the remote procedure called, and remote procedure call end detection means 16 for detecting the end of the processing of the remote procedure call, For detecting a plurality of satellite performance measuring means 12a, 12b for connecting to each of the plurality of processes 11a, 11b to measure performance, and for detecting the remote procedure call issuance detecting means 15 or the remote procedure call end detecting means 16. In response, switching control of the operating states of the satellite performance measuring means 12a, 12b is performed, and Central performance measurement control unit 14 for storing the measurement result notified from the performance measuring means 12a, 12b
And having.

【0007】[0007]

【作用】本発明によれば、複数のプロセスのうちの一つ
である例えば第1のプロセス11aが遠隔手続き呼出し
を発行するとき、遠隔手続呼出発行検出手段15はその
遠隔手続き呼出しの発行を検出すると共に、要求される
遠隔手続きを含む第2のプロセス11bが動作している
計算機Bを特定し、中央性能測定制御手段14に通知す
る。中央性能測定制御手段14は、要求される遠隔手続
きを含む第2のプロセス11bが動作している計算機上
に第2の衛星性能測定手段12bを起動する。そして、
中央性能測定制御手段14は、衛星性能測定手段との接
続状態を、第1の通信手段13aによる第1の衛星性能
測定手段12aとの接続から、第2の通信手段13bに
よる第2の衛星性能測定手段12bとの接続に切り替え
る。これにより第1のプロセス11aの性能測定を行う
者は第2のプロセス11bの性能測定を第1のプロセス
11aの性能測定に引続き行う。遠隔手続の実行が終了
し遠隔手続呼出終了検出手段16が隔手続き呼出しの実
行の終了を検出すると中央性能測定制御手段14に通知
する。中央性能測定制御手段14は、第2の通信手段1
3bを通じて、第2の衛星性能測定手段12bに、第2
のプロセス11bの性能測定を終了するように指示し、
第2のプロセス11bの性能測定が終了すると第2の衛
星性能測定手段12bおよび第2の通信手段13bを消
滅させ、第1の衛星性能測定手段12aに切り替えると
同時に、第2のプロセス11bの性能測定データを第1
のプロセス11aの性能測定データと併合する。さらに
遠隔手続き呼びだしが発生するたびに遠隔手続きが実行
されるプロセスに接続するn個の衛星性能測定手段を起
動して通信手段につぎつぎと切替えることで、第1のプ
ロセス11aの性能測定に引続き並行・並列動作するn
個のプロセスの性能・測定を行ない、n個の性能測定の
データを併合した形で得ることができるものである。
According to the present invention, when one of the plurality of processes, for example, the first process 11a issues a remote procedure call, the remote procedure call issue detection means 15 detects the issue of the remote procedure call. At the same time, the computer B on which the second process 11b including the requested remote procedure is operating is specified and notified to the central performance measurement control means 14. The central performance measurement control means 14 activates the second satellite performance measurement means 12b on the computer on which the second process 11b including the required remote procedure is running. And
The central performance measurement control means 14 changes the connection state with the satellite performance measurement means from the connection with the first satellite performance measurement means 12a by the first communication means 13a to the second satellite performance by the second communication means 13b. The connection is switched to the measuring means 12b. Thus, the person who measures the performance of the first process 11a continues to measure the performance of the second process 11b after the performance measurement of the first process 11a. When the execution of the remote procedure is completed and the remote procedure call completion detection means 16 detects the completion of the execution of the remote procedure call, it notifies the central performance measurement control means 14. The central performance measurement control means 14 is the second communication means 1.
2b to the second satellite performance measuring means 12b through
Command to end the performance measurement of process 11b
When the performance measurement of the second process 11b is completed, the second satellite performance measuring means 12b and the second communication means 13b are extinguished and switched to the first satellite performance measuring means 12a, and at the same time, the performance of the second process 11b. First measurement data
And the performance measurement data of the process 11a. Further, each time a remote procedure call is issued, the n satellite performance measuring means connected to the process for executing the remote procedure are activated to switch the communication means one after another, so that the performance measurement of the first process 11a continues in parallel. .N operating in parallel
The performance / measurement of each process can be performed, and the data of n performance measurements can be obtained in a combined form.

【0008】[0008]

【実施例】以下図面を参照しながら実施例に基づいて本
発明の特徴を具体的に説明する。図2は本発明の実施例
を示すブロック図、図3および図4は性能測定をするク
ライアントおよびサーバのサンプルプログラムの例、図
5は遠隔手続き呼び出しの記述ファイルの例を示す図で
ある。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The features of the present invention will be specifically described based on embodiments with reference to the drawings. 2 is a block diagram showing an embodiment of the present invention, FIGS. 3 and 4 are examples of client and server sample programs for performance measurement, and FIG. 5 is an example of a description file of a remote procedure call.

【0009】図2において、遠隔手続呼出記述ファイル
23には、遠隔手続名と遠隔手続の引数の型や数、返り
値の型が定義されている。図5に示す例においては、遠
隔手続呼出記述ファイルの例として遠隔手続名がpri
ntmessageで、引数はstringの型で1個
を持ち、返り値はint型を持つことが示されている。
衛星性能測定手段には、本実施例ではソースコードデバ
ッガ203,213を用いている。ソースコードデバッ
ガ203,213は実行中のプログラムに接続し、ソー
スファイル202,212のソースコード中の特定の場
所に対応するターゲットプログラム内の地点にブレーク
ポイントを埋め込み、実行がそのブレークポイントに達
して中断されたのち、制御がソースコードデバッガ20
3,213に渡された時点で、ソースコードデバッガに
接続されている時計204、214により時刻を引き出
したり、ターゲットプロセスのプロセス情報(例えば、
UNIXオペレーティングシステムではu構造テーブ
ル)中に存するところの、処理前の実行時間に関する情
報を引き出した後、実行を継続しターゲットプロセスは
所定の処理を実行する。つぎに再度ブレークポイントに
達して中断された時点で同様の手続きにより、処理後の
時刻、あるいは実行時間に関する情報を引き出して、前
回のブレークポイントによる中断で得られた時刻、ある
いは実行時間に関する情報と合わせて計算を行ない、そ
の所定の処理にかかった時間を計算する。例えば、UN
IXオペレーティングシステムの場合、実時間、ユーザ
状態での実行時間、システム状態での実行時間を知るこ
とができる。また、デバッガインタフェース26はソー
スコードデバッガ203,213から得られた時刻およ
び実行時間に関する情報を蓄積する時刻実行時間蓄積部
261をもつ。
In FIG. 2, the remote procedure call description file 23 defines the remote procedure name, the type and number of arguments of the remote procedure, and the type of return value. In the example shown in FIG. 5, the remote procedure name is pri as an example of the remote procedure call description file.
It is shown in ntmessage that the argument has one string type and the return value has an int type.
In this embodiment, source code debuggers 203 and 213 are used as the satellite performance measuring means. The source code debuggers 203 and 213 connect to the program being executed, embed a breakpoint at a point in the target program corresponding to a specific location in the source code of the source files 202 and 212, and the execution reaches that breakpoint. After being interrupted, control passes to the source code debugger 20.
3 and 213, the time is pulled out by the clocks 204 and 214 connected to the source code debugger, or the process information of the target process (for example,
After extracting the information about the execution time before processing, which is present in the u structure table in the UNIX operating system), the execution is continued and the target process executes the predetermined processing. Then, when the breakpoint is reached again and interrupted, the information about the time or execution time after processing is extracted by the same procedure, and the information about the time or execution time obtained by the interruption by the previous breakpoint is collected. The calculation is also performed, and the time required for the predetermined processing is calculated. For example, UN
In the case of the IX operating system, it is possible to know the real time, the execution time in the user state, and the execution time in the system state. Further, the debugger interface 26 has a time execution time storage unit 261 that stores information about the time and the execution time obtained from the source code debuggers 203 and 213.

【0010】またこの実施例では測定の対象とするプロ
セスは2つの場合を考える。予めクライアントプロセス
201には第1のソースコードデバッガ203が結合さ
れているものとするが、クライアントプロセス201が
起動されたあとで、クライアントプロセス201のプロ
セス番号を知り第1のソースコードデバッガ203を接
続してもよい。第1のソースコードデバッガ203は第
1のTCPソケット28aによる通信チャネルを介して
デバッガインタフェース26と結合している。性能測定
をする者はディスプレイ端末装置27からコマンドを発
行し、そのコマンドはデバッガインタフェース26を通
じて第1のソースコードデバッガ203に送られ、第1
のソースコードデバッガ203はクライアントのソース
コードを持つクライアントソースファイル202を参照
してソースコード性能測定が行われる。第1のソースコ
ードデバッガ203に与えられた性能測定のコマンドに
対する処理時間を含めた性能測定結果は第1のTCPソ
ケット28aによる通信チャネルを介してデバッガイン
タフェース26に送られ時刻実行時間蓄積部261に蓄
積される。
Further, in this embodiment, two cases are considered as the processes to be measured. It is assumed that the first source code debugger 203 is connected to the client process 201 in advance, but after the client process 201 is started, the process number of the client process 201 is known and the first source code debugger 203 is connected. You may. The first source code debugger 203 is coupled to the debugger interface 26 via a communication channel via the first TCP socket 28a. The person measuring the performance issues a command from the display terminal device 27, and the command is sent to the first source code debugger 203 through the debugger interface 26, and the first
The source code debugger 203 refers to the client source file 202 having the source code of the client to measure the source code performance. The performance measurement result including the processing time for the performance measurement command given to the first source code debugger 203 is sent to the debugger interface 26 via the communication channel by the first TCP socket 28a and is sent to the time execution time storage unit 261. Accumulated.

【0011】そこで例えば第1のソースコードデバッガ
203はクライアントプロセス202に対しソースコー
ド(図3参照)の行7の実行の前に、行7で「resu
lt=printmessage(&message,
cl);」を実行するとき、引数を第3のTCPソケッ
ト29を用いてサーバプロセス211に送信し終り、結
果を読み込むために待ち状態になる直前に中断されるよ
うに、第1のブレークポイントを設定する。第1のソー
スコードデバッガ203はクライアントプロセス202
の実行が開始されるときにその開始時刻を時刻実行時間
蓄積部261に記録し、実行すると前記第1のブレーク
ポイントまで実行が進み、第1のブレークポイント検出
器24はクライアントプロセス202のソースコード中
での現在の停止地点からクライアントソースファイル2
02を参照し、現在の停止地点が手続呼出しであるかど
うかを調べ、手続呼出しでない場合は、デバッガインタ
フェース26には何も出力しない。また現在の停止地点
が手続呼出しであった場合は、時刻実行時間蓄積部26
1に中断された時刻を記録したあと、第1のソースコー
ドデバッガ203は、第1のブレークポイントを取り除
きコンティニュ実行を第1のソースコードデバッガ20
3に指示する。
Therefore, for example, the first source code debugger 203 instructs the client process 202 to execute "resu" at line 7 before executing line 7 of the source code (see FIG. 3).
lt = printmessage (& message,
cl); ”is executed, the first breakpoint is set so that the argument is completely transmitted to the server process 211 by using the third TCP socket 29 and the process is interrupted just before the waiting state for reading the result. To set. The first source code debugger 203 is the client process 202.
When the execution is started, its start time is recorded in the time execution time accumulating unit 261. When the execution is executed, the execution proceeds to the first breakpoint, and the first breakpoint detector 24 uses the source code of the client process 202. Client source file 2 from the current stop point in
02, it is checked whether the current stop point is a procedure call. If it is not a procedure call, nothing is output to the debugger interface 26. If the current stop point is a procedure call, the time execution time accumulation unit 26
After recording the time of interruption at 1, the first source code debugger 203 removes the first breakpoint and executes the continue execution with the first source code debugger 20.
Instruct 3.

【0012】デバッガインタフェース26は時刻実行時
間蓄積部261に蓄積された二つの時刻の差を計算する
ことで、クライアントの実行の開始からサーバプロセス
への遠隔手続き呼びだしの開始までの処理時間を得る。
The debugger interface 26 obtains the processing time from the start of execution of the client to the start of the remote procedure call to the server process by calculating the difference between the two times stored in the time execution time storage unit 261.

【0013】また第1のソースコードデバッガ203は
遠隔手続呼出記述ファイル23を参照し、手続呼出しの
手続名と一致する遠隔手続名が存在すれば、現在の停止
地点はクライアントプロセス202中で遠隔手続呼出し
を行う行であるとみなし、デバッガインタフェース26
に遠隔手続名と遠隔手続に用いられる通信チャネルのチ
ャネル番号と遠隔手続が起動されることを通知する。例
えば通信チャネルのチャネル番号としてはRFC106
0(1990年3月 J.ReynoldsJ.Pst
el ISI)に規定されているインターネットプロト
コルのポート番号があげられる。
Further, the first source code debugger 203 refers to the remote procedure call description file 23, and if there is a remote procedure name that matches the procedure name of the procedure call, the current stop point is the remote procedure in the client process 202. The debugger interface 26 regards the line as a call.
Notify the remote procedure name, the channel number of the communication channel used for the remote procedure, and that the remote procedure is activated. For example, the channel number of the communication channel is RFC106
0 (March 1990 J. Reynolds J. Pst
The port number of the Internet protocol specified in (el ISI) is given.

【0014】例えば図3においてクライアントが行7の
実行の前に、行7の「result=printmes
sage(&message,cl);」で停止してい
る時、第1のブレークポイント検出器24は遠隔手続呼
出記述ファイル23の行cの「int PRINTME
SSAGE(string)=1;」とを比較し、手続
printmessageが遠隔手続PRINTMES
SAGEに相当することを検出し、デバッガインタフェ
ース26に遠隔手続printmessageが起動さ
れることを通知する。デバッガインタフェース26は前
記第1のブレークポイント検出器24からの遠隔手続起
動通知を遠隔手続起動通知蓄積部262記録する。
For example, in FIG. 3, the client executes "result = printmes" on line 7 before executing the process on line 7.
"(page, message, cl);", the first breakpoint detector 24 detects that "int PRINTME" at line c of the remote procedure call description file 23.
SSAGE (string) = 1; ", the procedure printmessage determines that the remote procedure PRINTMES
It detects that it corresponds to SAGE and notifies the debugger interface 26 that the remote procedure printmessage is started. The debugger interface 26 records the remote procedure start notification from the first breakpoint detector 24 in the remote procedure start notification storage unit 262.

【0015】またデバッガインタフェース26は記録さ
れた前記遠隔手続の起動通知の有無を調べ、通知の記録
があれば、遠隔手続を含むプロセスを有する計算機名を
しらべる。これは例えば、通知された遠隔手続名の呼出
しに与えられる引数の中に含まれる遠隔手続を含むプロ
セスを有する計算機名が含まれているような、遠隔手続
の実現であれば、第1のソースコードデバッガ203に
ステップ実行を指示するかわりに、手続呼出しの引数の
詳細な内容を表示するコマンドを与えその結果を調べる
ことにより知ることができる。あるいは、遠隔手続の起
動において、特定の計算機名を指定せずに遠隔手続投入
先計算機決定器22にてその遠隔手続を含むプロセスを
有する複数の計算機の中から一つの計算機を決定するよ
うにしてもよい。この場合は、デバッガインタフェース
26はその遠隔手続投入先計算機決定器22からの出力
により、遠隔手続を含むプロセスを有する計算機名を知
ることができる。
Further, the debugger interface 26 checks whether or not there is a recorded start notification of the remote procedure, and if there is a record of the notification, it checks the computer name having the process including the remote procedure. This is, for example, the first source if the remote procedure is realized such that the computer name having the process including the remote procedure included in the argument given to the call of the notified remote procedure name is included. Instead of instructing the code debugger 203 to carry out step execution, a command for displaying the detailed contents of the procedure call argument is given and the result can be checked to find out. Alternatively, in starting the remote procedure, one computer is selected from a plurality of computers having a process including the remote procedure by the remote procedure input computer determiner 22 without designating a specific computer name. Good. In this case, the debugger interface 26 can know the computer name having the process including the remote procedure from the output from the remote procedure input computer determiner 22.

【0016】デバッガインタフェース26は前記遠隔手
続を含むプロセスを有する計算機上に第2のソースコー
ドデバッガ213を起動し、第2のTCPソケット28
bによる通信チャネルを介し、デバッガインタフェース
26と接続する。次に、デバッガインタフェース26は
プロセステーブルアクセス部215を用い、通知されて
いる遠隔手続に用いられる通信チャネルのチャネル番号
から、前記遠隔手続を有しクライアントプロセス201
からの接続を待っているプロセスのプロセス番号を特定
し、第2のソースコードデバッガ213に接続すべきサ
ーバプロセス211のプロセス番号として通知しサーバ
プロセス211と第2のソースコードデバッガ213を
接続する。
The debugger interface 26 activates the second source code debugger 213 on the computer having the process including the remote procedure, and the second TCP socket 28.
It connects with the debugger interface 26 via the communication channel by b. Next, the debugger interface 26 uses the process table access unit 215 to determine the client process 201 having the remote procedure from the channel number of the communication channel used for the notified remote procedure.
The process number of the process waiting for connection from is specified, the second source code debugger 213 is notified as the process number of the server process 211 to be connected, and the server process 211 and the second source code debugger 213 are connected.

【0017】デバッガインタフェース26は記録された
前記遠隔手続の名前を第2のソースコードデバッガ21
3に通知し、次に第2のソースコードデバッガ213に
対してサーバプロセスのプログラム(図4)の「行ホ」
を実行したときに遠隔手続の結果を第3のTCPソケッ
ト29を用いてクライアントプロセス201に送信しお
わった直後に中断されるように第2のブレークポイント
を設定するよう通知する。
The debugger interface 26 uses the recorded name of the remote procedure as the second source code debugger 21.
3 is notified to the second source code debugger 213, and then "line h" of the server process program (FIG. 4) is notified.
Is executed, the result of the remote procedure is sent to the client process 201 by using the third TCP socket 29, and the second breakpoint is set so as to be interrupted immediately after being exhausted.

【0018】その後デバッガインタフェース26は第1
のソースコードデバッガ203に対して継続実行を指示
するコンティニュー命令を通知する。クライアントプロ
セスは遠隔手続の実行が終了するまで待ち状態に入る。
その後デバッガインタフェース26はディスプレイ端末
装置27からの入力が主に第2のソースコードデバッガ
213に送られ、第2のソースコードデバッガ213か
ら出力された性能測定のコマンドに対して返された処理
時間を含めた性能測定結果はデバッガインタフェース2
6に蓄積される。すなわち、遠隔手続がクライアントプ
ロセス201から発行され、サーバプロセス211は第
2のブレークポイントで停止すると、第2のソースコー
ドデバッガ213は時計214の時刻を第2のTCPソ
ケット28bによる通信チャネルを介し、デバッガイン
タフェース26に通知し、時刻実行時間蓄積部261に
記録する。デバッガインタフェース26は時刻実行時間
蓄積部261に記録されている時刻をもとに、サーバプ
ロセス211において遠隔手続きにより消費された処理
時間を計算して得る。
Thereafter, the debugger interface 26 is the first
The source code debugger 203 is notified of the continue instruction instructing continuous execution. The client process waits until the execution of the remote procedure is completed.
After that, the debugger interface 26 mainly sends the input from the display terminal device 27 to the second source code debugger 213 and displays the processing time returned for the performance measurement command output from the second source code debugger 213. Included performance measurement result is debugger interface 2
It is accumulated in 6. That is, when the remote procedure is issued from the client process 201 and the server process 211 stops at the second breakpoint, the second source code debugger 213 sets the time of the clock 214 via the communication channel by the second TCP socket 28b, It notifies the debugger interface 26 and records it in the time execution time storage unit 261. The debugger interface 26 calculates and obtains the processing time consumed by the remote procedure in the server process 211 based on the time recorded in the time execution time storage unit 261.

【0019】このように第1のソースコードデバッガ2
03と第2のソースコードデバッガ213を制御するこ
とで、デバッガインタフェース26を介して性能測定を
する者には、遠隔手続呼出しが発行されたときの通信手
順や引数の通信部分の詳細に立ち入ることなく、あたか
もクライアントプロセス201から単なるシングルプロ
セス上の、遠隔手続ではない手続呼出しが実行されたの
と同様に手軽に性能測定をすることができる。特に遠隔
計算機上で実行されているサーバプロセス211の性能
測定をしていることを意識せずに性能測定できる。
In this way, the first source code debugger 2
03 and the second source code debugger 213, the person who measures the performance via the debugger interface 26 can enter the details of the communication procedure and the communication part of the argument when the remote procedure call is issued. Instead, it is possible to measure the performance as easily as if the client process 201 executed a procedure call on a simple process, which is not a remote procedure. In particular, the performance can be measured without being aware that the performance of the server process 211 executed on the remote computer is being measured.

【0020】遠隔手続が終了すると、クライアントプロ
セス201はサーバプロセス211からの返り値を受信
するため待ち状態から抜け出し、実行を継続し、所定の
処理を終了する。デバッガインタフェース26は、第1
のソースコードデバッガ203から通知された時刻を時
刻実行時間蓄積部26に記録し、サーバプロセス中の遠
隔手続きで消費された処理時間とクライアントプロセス
で消費された処理時間および、全体で消費された処理時
間を計算して性能測定をする者にディスプレイ端末装置
27を通して通知する。
When the remote procedure ends, the client process 201 receives the return value from the server process 211, exits from the waiting state, continues execution, and ends a predetermined process. The debugger interface 26 is the first
The time notified from the source code debugger 203 is recorded in the time execution time accumulation unit 26, and the processing time consumed by the remote procedure in the server process, the processing time consumed by the client process, and the processing consumed as a whole Those who calculate the time and measure the performance are notified through the display terminal device 27.

【0021】サーバプロセス211は「行ホ」(図4)
において第3のブレークポイントで停止し、デバッガイ
ンタフエース26は第2のソースコードデバッガ213
から第2のTCPソケット28bを通じてそれを知った
あと、第2のソースコードデバッガ213に第2のブレ
ークポイントを取り除くよう指示する。第2のブレーク
ポイントが取り除かれたら、デバッガインタフエース2
6はディスプレイ端末装置27からのコマンドは第1の
ソースコードデバッガ203に送られるように切り替
え、第1のソースコードデバッガ203の出力が再びデ
バッガインタフエース26に蓄積されるようになる。
The server process 211 is a "line" (FIG. 4).
At the third breakpoint at the debugger interface 26 and the second source code debugger 213
Tells the second source code debugger 213 to remove the second breakpoint after it knows it through the second TCP socket 28b. Once the second breakpoint is removed, the debugger interface 2
6, the command from the display terminal device 27 is switched so as to be sent to the first source code debugger 203, and the output of the first source code debugger 203 is again stored in the debugger interface 26.

【0022】その後、デバッガインタフエース26は第
2のソースコードデバッガ213にサーバプロセス21
1の性能測定を終了するように指示する。その結果サー
バプロセス211は第2のソースコードデバッガ213
との接続が切断され、継続実行される。サーバプロセス
211からの遠隔手続の返り値がクライアントプロセス
201に戻される。このように第1のソースコードデバ
ッガ203と第2のソースコードデバッガ213を制御
することで、性能測定をする者には、遠隔手続呼出しが
発行されたときの通信手順や返り値の通信部分を意識せ
ずに、あたかもシングルプロセス上の、遠隔手続ではな
い手続を実行するプログラムの性能測定と同様な手軽さ
で分散プロセスの実行時間の測定を行なうことができ
る。性能測定をする者は特にサーバプロセス211の実
行時間の測定をしていることを意識せずに遠隔手続の実
行時間を測定できるという効果がある。
Thereafter, the debugger interface 26 causes the second source code debugger 213 to send the server process 21.
Instruct to finish the performance measurement of 1. As a result, the server process 211 uses the second source code debugger 213.
The connection with is disconnected, and it continues to run. The return value of the remote procedure from the server process 211 is returned to the client process 201. By controlling the first source code debugger 203 and the second source code debugger 213 in this way, the person measuring the performance is notified of the communication procedure when the remote procedure call is issued and the communication part of the return value. It is possible to measure the execution time of a distributed process with the same ease as the performance measurement of a program that executes a procedure that is not a remote procedure on a single process. There is an effect that the person who measures the performance can measure the execution time of the remote procedure without being aware of the fact that the execution time of the server process 211 is measured.

【0023】また以上のように、サーバプロセスやクラ
イアントプロセスで消費された時間だけでなく、デバッ
ガインタフエース26がさらに細かくブレークポイント
を設定することで、時刻の通知を制御するとサーバープ
ロセスの停止時間の集計や遠隔手続呼出しにおける通信
に要する時間の計測を行うことが簡単にできるようにな
るという別の利点もある。
Further, as described above, not only the time consumed by the server process or the client process but also the debugger interface 26 sets breakpoints more finely to control the notification of the time, the stop time of the server process is reduced. There is also another advantage that it becomes easy to measure the time required for communication such as tallying and remote procedure call.

【0024】[0024]

【発明の効果】以上述べたように本発明によれば並行・
並列に動作する分散システムにおいて遠隔手続き呼びだ
しの発行や返り値の返還時に、サーバプロセスとクライ
アントプロセスの衛星性能測定手段を適切に制御するこ
とにより、性能測定をする者には、遠隔手続呼出しが発
行されたときの通信手順や引数の通信部分、あるいは、
遠隔手続呼出しが終了したときの通信手順や返り値の通
信部分を意識せずに、あたかもクライアントプロセスか
ら単なるシングルプロセス上の、遠隔手続ではない手続
呼出しが実行され、返り値が返されたかのように見え、
性能測定をする者は、従来の単一プロセスに対する性能
測定手法と同様な手法で、プロセスの並行・並列動作を
意識することなく簡単に遠隔手続呼出を行う並行・並列
分散プログラムの性能測定ができる。また、中央デバッ
ガでサーバプロセスの停止時間の集計と遠隔手続呼出し
における通信に要する時間の計測を行うことが簡単にで
きるようになる良好な性能測定装置を提供することがで
きるものである。
As described above, according to the present invention,
A remote procedure call is issued to those who perform performance measurement by appropriately controlling the satellite performance measuring means of the server process and client process when issuing a remote procedure call or returning a return value in a distributed system operating in parallel. Communication procedure or argument communication part when
As if the client process performed a non-remote procedure call on a simple process without paying attention to the communication procedure when the remote procedure call ended and the communication part of the return value, and returned the return value. Look,
A person who measures performance can measure the performance of a parallel / parallel distributed program that simply calls a remote procedure without being aware of the parallel / parallel operation of processes, using the same method as the conventional performance measurement method for a single process. .. Further, it is possible to provide a good performance measuring device which enables the central debugger to easily collect the stop time of the server process and measure the time required for communication in the remote procedure call.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の構成を示すブロック図、FIG. 1 is a block diagram showing a configuration of the present invention,

【図2】 本発明の実施例を示すブロック図、FIG. 2 is a block diagram showing an embodiment of the present invention,

【図3】 性能測定をするクライアントのサンプルプロ
グラムの一例を示す図、
FIG. 3 is a diagram showing an example of a sample program of a client for measuring performance,

【図4】 性能測定をするクライアントおよびサーバの
サンプルプログラムの一例を示す図、
FIG. 4 is a diagram showing an example of a sample program of a client and a server for measuring performance,

【図5】 は遠隔手続き呼び出しの記述ファイルの例を
示す図。
FIG. 5 is a diagram showing an example of a remote procedure call description file.

【符号の説明】[Explanation of symbols]

11a…第1のプロセス、11b…第2のプロセス、1
2a…第1の衛星性能測定手段、12b…第2の衛星性
能測定手段、13a…第1の通信手段、13b…第2の
通信手段、14…中央性能測定制御手段、15…遠隔手
続呼出発行検出手段、16…遠隔手続呼出終了検出手
段、201…クライアントプロセス、202…クライア
ントソースファイル、203…第1のソースコードデバ
ッガ、204…時計、212…サーバソースファイル、
211…サーバプロセス、213…第2のソースコード
デバッガ、214…時計、215…プロセステーブルア
クセス部、22…遠隔手続投入先計算機決定器、23…
遠隔手続呼出記述ファイル、24…第1のブレークポイ
ント検出器、25…第2のブレークポイント検出器、2
6…デバッガインタフェース、27…ディスプレイ端末
装置、28a…第1のTCPソケット、28b…第2の
TCPソケット、29…第3のTCPソケット。
11a ... 1st process, 11b ... 2nd process, 1
2a ... 1st satellite performance measuring means, 12b ... 2nd satellite performance measuring means, 13a ... 1st communication means, 13b ... 2nd communication means, 14 ... Central performance measurement control means, 15 ... Remote procedure call issue Detecting means, 16 ... Remote procedure call end detecting means, 201 ... Client process, 202 ... Client source file, 203 ... First source code debugger, 204 ... Clock, 212 ... Server source file,
211 ... Server process, 213 ... Second source code debugger, 214 ... Clock, 215 ... Process table access unit, 22 ... Remote procedure submission destination computer determiner, 23 ...
Remote procedure call description file, 24 ... first breakpoint detector, 25 ... second breakpoint detector, 2
6 ... Debugger interface, 27 ... Display terminal device, 28a ... 1st TCP socket, 28b ... 2nd TCP socket, 29 ... 3rd TCP socket.

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセスが通信チャネルを介した
通信手段を通じて遠隔手続呼出しにより互いに通信を行
い並行・並列動作を実現する分散型の情報処理システム
の性能測定装置において、 性能測定対象のプロセスに遠隔手続き呼出しがあること
を前もって検出するとともに、呼び出される遠隔手続を
有するプロセスを特定する遠隔手続呼出発行検出手段
と、 遠隔手続呼出しの処理の終了を検出する遠隔手続呼出終
了検出手段と、 前記複数のプロセスの各々に接続して性能測定を行う複
数の衛星性能測定手段と、 前記遠隔手続呼出発行検出手段の検出あるいは前記遠隔
手続呼出終了検出手段の検出に応答して、前記衛星性能
測定手段の動作状態の切り替え制御を行うとともに、前
記衛星性能測定手段から通知される測定結果を蓄積する
中央性能測定制御手段とを有することを特徴とする情報
処理システムの性能測定装置。
1. A performance measuring device of a distributed information processing system, wherein a plurality of processes communicate with each other by calling a remote procedure through a communication means via a communication channel to realize parallel / parallel operation. Remote procedure call issuance detecting means for detecting in advance that there is a remote procedure call and specifying a process having a remote procedure to be called; remote procedure call end detecting means for detecting the end of the processing of the remote procedure call; A plurality of satellite performance measuring means connected to each of the processes for performance measurement; and in response to the detection of the remote procedure call issue detecting means or the remote procedure call end detecting means, the satellite performance measuring means Controls switching of operating states and accumulates measurement results notified from the satellite performance measuring means. Performance measuring device of the information processing system characterized by having a central performance measurement controller.
JP4088238A 1992-03-13 1992-03-13 Information processing system performance measurement device Expired - Fee Related JP2924436B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4088238A JP2924436B2 (en) 1992-03-13 1992-03-13 Information processing system performance measurement device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4088238A JP2924436B2 (en) 1992-03-13 1992-03-13 Information processing system performance measurement device

Publications (2)

Publication Number Publication Date
JPH05274185A true JPH05274185A (en) 1993-10-22
JP2924436B2 JP2924436B2 (en) 1999-07-26

Family

ID=13937286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4088238A Expired - Fee Related JP2924436B2 (en) 1992-03-13 1992-03-13 Information processing system performance measurement device

Country Status (1)

Country Link
JP (1) JP2924436B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987005131A1 (en) * 1986-02-17 1987-08-27 Fanuc Ltd Method of inputting graphic form
JP2001051871A (en) * 1999-08-09 2001-02-23 Ricoh Co Ltd Remote debugging device
US6807575B1 (en) 1999-05-06 2004-10-19 Hitachi, Ltd. Performance monitoring method in a distributed processing system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987005131A1 (en) * 1986-02-17 1987-08-27 Fanuc Ltd Method of inputting graphic form
US6807575B1 (en) 1999-05-06 2004-10-19 Hitachi, Ltd. Performance monitoring method in a distributed processing system
US7836062B2 (en) 1999-05-06 2010-11-16 Hitachi, Ltd. Performance monitoring method in a distributed processing system
JP2001051871A (en) * 1999-08-09 2001-02-23 Ricoh Co Ltd Remote debugging device

Also Published As

Publication number Publication date
JP2924436B2 (en) 1999-07-26

Similar Documents

Publication Publication Date Title
KR100502023B1 (en) Terminal for computer network and recording method of control history
US6836881B2 (en) Remote tracing of data processing nodes in an asynchronous messaging network
JP2924436B2 (en) Information processing system performance measurement device
US10831634B1 (en) Replication of user interface events
CN115982049A (en) Abnormal detection method, device and computer equipment in performance testing
CN114090605B (en) Day cutting method and device, computer equipment and storage medium
US5734810A (en) Client server system performing automatic reconnection and control method thereof
JPH08221433A (en) Information retrieval system
JP2000076027A (en) Executing method for specific operation, data transmitting method, printer, slave system, host system, recording medium storing control program managing execution of specific operation and recording medium storing control program controlling data transmission
JP3945521B2 (en) Distributed processing system and performance monitoring method thereof
CN113821493B (en) A data collection method and system adapted to different recorders
JPH04195436A (en) Automatic test system for computer system
JPH05197586A (en) Debugging system for distributed information processing system
JPH10240705A (en) Fault integrated management device
CN113835958A (en) A method, device, medium and device for monitoring the progress of distributed task execution
CN113704088B (en) Process tracing method, process tracing system and related device
JPH0561800A (en) Fault analyzing method
CN120567725A (en) Method, device, equipment and storage medium for regulating and controlling network connection private line
JPH0689250A (en) System for sampling valid trace information in communication processor
JPH0969057A (en) Device and method for state totalization
JPH06250953A (en) Computer network monitor and support system
JP2912046B2 (en) File server control method
JPH0713832A (en) Backup management device
JP2002108657A (en) Failure recovery method
JP2878159B2 (en) Transaction processing system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090507

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100507

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees