JP2009059316A - Measuring device, measurement program, and measuring method - Google Patents

Measuring device, measurement program, and measuring method Download PDF

Info

Publication number
JP2009059316A
JP2009059316A JP2007228413A JP2007228413A JP2009059316A JP 2009059316 A JP2009059316 A JP 2009059316A JP 2007228413 A JP2007228413 A JP 2007228413A JP 2007228413 A JP2007228413 A JP 2007228413A JP 2009059316 A JP2009059316 A JP 2009059316A
Authority
JP
Japan
Prior art keywords
measurement
program
synchronization
communication
computer
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.)
Pending
Application number
JP2007228413A
Other languages
Japanese (ja)
Inventor
Kenji Kanemura
賢治 兼村
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007228413A priority Critical patent/JP2009059316A/en
Publication of JP2009059316A publication Critical patent/JP2009059316A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To solve a problem wherein difference in processing time between object processes of communication processing cannot be measured before performing the communication processing. <P>SOLUTION: This measurement program makes a computer output synchronous waiting time after measurement processing is performed as a process and is synchronous with the other first process and perform the measurement processing for performing the first communication with the other first process. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、測定装置、測定プログラム、および、測定方法に関する。   The present invention relates to a measurement apparatus, a measurement program, and a measurement method.

特許文献1は、プロセッサ上での手続き処理時間を測定する技術を開示する。特許文献2は、プロセスが、セマフォで待ち状態となっている時間を測定する技術を開示する。   Patent Document 1 discloses a technique for measuring a procedure processing time on a processor. Patent Document 2 discloses a technique for measuring a time during which a process is in a waiting state in a semaphore.

特開平10−63550号公報JP-A-10-63550 特開平10−63516号公報Japanese Patent Laid-Open No. 10-63516

上述した特許文献は、何れも、コンピュータに、プロセスとして実行されて、他プロセスと同期をとった後、当該同期の待ち時間の出力、および、他プロセスとの通信を行う測定処理を実行させる測定プログラムを備えていない。従って、特許文献の技術は、各々単独にても、その組み合わせに於いても、通信処理実行前に当該通信処理対象プロセスの処理時間の差異に起因する同期の待ち時間を測定出来ないという課題がある。   In each of the above-mentioned patent documents, measurement is performed by causing a computer to execute a measurement process that is executed as a process and synchronizes with another process, and then outputs a waiting time for the synchronization and performs communication with the other process. There is no program. Therefore, the technique of the patent document has the problem that the synchronization waiting time due to the difference in the processing time of the communication processing target process cannot be measured before the communication processing is executed, either individually or in combination. is there.

本発明の目的は、上述した課題を解決する測定装置、測定プログラム、および、測定方法を提供することにある。   An object of the present invention is to provide a measurement apparatus, a measurement program, and a measurement method that solve the above-described problems.

本発明の一実施形態の測定プログラムは、コンピュータに、プロセスとして実行されて、第1の他プロセスと同期をとった後、当該同期の待ち時間の出力、および、前記第1の他プロセスとの第1の通信を行う測定処理を実行させる。   The measurement program according to an embodiment of the present invention is executed as a process in a computer and synchronizes with the first other process, and then outputs the synchronization waiting time and the first other process. The measurement process for performing the first communication is executed.

本発明の一実施形態の測定方法は、コンピュータが、第1の他プロセスと同期をとった後、当該同期の待ち時間の出力、および、前記第1の他プロセスとの第1の通信をプロセスとして実行する測定行程を有する。   In the measurement method according to an embodiment of the present invention, after the computer synchronizes with the first other process, the computer outputs the synchronization waiting time and performs the first communication with the first other process. As the measurement process to be carried out.

本発明は、通信処理実行前に、当該通信処理対象プロセス間で生じた処理時間の差異に起因する同期待ち時間を測定することが出来る。   The present invention can measure the synchronization waiting time due to the difference in processing time generated between the communication processing target processes before executing the communication processing.

図1は、本発明の第1実施形態の測定装置10を示す。測定装置10は、例えば、複数のプロセッサ11を備える並列処理コンピュータから構成される。プロセッサ11の数は、一つでも構わない。   FIG. 1 shows a measuring apparatus 10 according to a first embodiment of the present invention. The measuring apparatus 10 is composed of, for example, a parallel processing computer including a plurality of processors 11. The number of processors 11 may be one.

測定装置10はプログラムを並列実行可能である。測定装置10内で並列実行されるプログラムの制御単位はプロセス12と呼ばれる。即ち、測定装置10は、複数のプロセス12を並列実行する。各プロセス12は、何れかのプロセッサ11によって実行される。プロセス12は図示しない制御プログラムによって制御される。ここで、制御プログラムとは、UNIX(登録商標)、Linux等のOS(Operating System)である。   The measuring apparatus 10 can execute a program in parallel. A control unit of a program executed in parallel in the measuring apparatus 10 is called a process 12. That is, the measuring apparatus 10 executes a plurality of processes 12 in parallel. Each process 12 is executed by one of the processors 11. The process 12 is controlled by a control program (not shown). Here, the control program is an OS (Operating System) such as UNIX (registered trademark) or Linux.

測定装置10は時計13も包含する。時計13は現在の時刻を示す。時刻の単位はミリ行単位程度が望ましいが、これに限られない。   The measuring device 10 also includes a clock 13. The clock 13 indicates the current time. The unit of time is preferably about a millimeter row, but is not limited to this.

測定装置10は記憶装置15と接続されている。記憶装置15は、プロファイル格納域20、分散並列アプリケーション30、通信ライブラリ40を包含する。分散並列アプリケーション30は、測定装置10が実行するプログラムである。通信ライブラリ40は通信用のプログラム部品の集合である。   The measuring device 10 is connected to a storage device 15. The storage device 15 includes a profile storage area 20, a distributed parallel application 30, and a communication library 40. The distributed parallel application 30 is a program executed by the measurement apparatus 10. The communication library 40 is a set of communication program parts.

通信ライブラリ40は、プログラム部品として測定プログラム41と通信プログラム42を備える。測定装置10は入出力装置16と接続されている。   The communication library 40 includes a measurement program 41 and a communication program 42 as program parts. The measuring device 10 is connected to an input / output device 16.

図2は分散並列アプリケーション30の構成を示す。分散並列アプリケーション30は、通常複数のユーザ手続き31から構成される。ユーザ手続き31は、入れ子関係を有していても良い。ユーザ手続き31は、業務処理プログラム32と測定プログラム41を包含する。   FIG. 2 shows the configuration of the distributed parallel application 30. The distributed parallel application 30 is usually composed of a plurality of user procedures 31. The user procedure 31 may have a nesting relationship. The user procedure 31 includes a business process program 32 and a measurement program 41.

業務処理プログラム32は、分散並列アプリケーション30の業務目的を達成するために作成されたプログラム部分である。分散並列アプリケーション30が、例えば、ある図形の面積を求めるものであれば、面積算出の為の処理を行うプログラムである。   The business processing program 32 is a program part created to achieve the business purpose of the distributed parallel application 30. For example, if the distributed parallel application 30 calculates the area of a certain figure, it is a program that performs processing for area calculation.

一方、測定プログラム41は、ユーザ手続き31を実行するプロセス12から呼び出されて業務処理プログラム32ための通信および本発明の目的である測定を行う為のプログラムである。測定プログラム41は、分散並列アプリケーション30の作成時に、通信ライブラリ40から取り出されて、ユーザ手続き31に組み込まれている。例えば、分散並列アプリケーション30のリンク編集時にリンカーが測定プログラム41を組み込む。測定プログラム41が、ユーザ手続き31から起動された時にダイナミックリンク管理プログラムが組み込んでも良い。   On the other hand, the measurement program 41 is a program that is called from the process 12 that executes the user procedure 31 and performs communication for the business processing program 32 and measurement that is the object of the present invention. The measurement program 41 is extracted from the communication library 40 and incorporated in the user procedure 31 when the distributed parallel application 30 is created. For example, the linker incorporates the measurement program 41 when editing the link of the distributed parallel application 30. The dynamic link management program may be incorporated when the measurement program 41 is activated from the user procedure 31.

なお、本発明にかかる測定を実施するときは、測定プログラム41がユーザ手続き31に組み込まれるが、通常の稼働時には通信プログラム42が組み込まれる。通信プログラム42は、ユーザ手続き31を実行するプロセス12から呼び出されて業務処理プログラム32ための通信を行う。通信プログラム42は、本発明の目的である測定は行わない。   When carrying out the measurement according to the present invention, the measurement program 41 is incorporated in the user procedure 31, but the communication program 42 is incorporated during normal operation. The communication program 42 is called from the process 12 that executes the user procedure 31 and performs communication for the business processing program 32. The communication program 42 does not perform the measurement that is the object of the present invention.

分散並列アプリケーション30は、測定装置10の内部で、通常複数のプロセス12に分散されて、並列に実行される。図3はこの様子を例示する。   The distributed parallel application 30 is normally distributed to a plurality of processes 12 inside the measuring apparatus 10 and executed in parallel. FIG. 3 illustrates this situation.

先ず、OSが、分散並列アプリケーション30の開始点として指定されているユーザ手続き31(例えば、Procedure A)をプロセス12(例えば、Process0)として起動する。起動されたProcedure Aは、その業務処理プログラム32を実行する。   First, the OS activates a user procedure 31 (for example, Procedure A) designated as a starting point of the distributed parallel application 30 as a process 12 (for example, Process 0). The activated Procedure A executes the business processing program 32.

Procedure Aの業務処理プログラム32は、並列実行が可能な処理部分に達すると、Process0とは別のプロセス12(例えば、Process1乃至n)を生成する。生成するプロセス12はひとつであっても複数であっても構わない。測定装置10のプロセッサ11は、生成したProcess0、および、生成されたProcess1乃至nを各々並列に実行する。   When the procedure A business processing program 32 reaches a processing portion that can be executed in parallel, it generates a process 12 (for example, Process 1 to n) different from Process 0. One or a plurality of processes 12 may be generated. The processor 11 of the measuring apparatus 10 executes the generated Process 0 and the generated Process 1 to n in parallel.

生成されたProcess1乃至nが実行するプログラム(例えば、Procedure.a1乃至an)は、生成時に指定されている。   A program (for example, Procedure.a1 to an) executed by the generated Process1 to n is specified at the time of generation.

Process1乃至nは、各々Procedure.a1乃至anの業務処理プログラム32を実行し、その後、計算結果を送受信する為に測定プログラム41を呼び出す。Process0も、業務処理プログラム32が終了すると測定プログラム41を呼び出す。   Process 1 to n execute the business processing program 32 of Procedure.a1 to an, respectively, and then call the measurement program 41 to transmit and receive the calculation result. Process 0 also calls the measurement program 41 when the business processing program 32 ends.

上記で呼び出された測定プログラム41は、Process0乃至nの各プロセス12の同期をとる。即ち、業務処理プログラム32を実行し終えたプロセス12は、まだ業務処理プログラム32を実行し終えないプロセス12を待ち合わせるのである。最後のプロセス12が業務処理プログラム32を実行し終えると、測定プログラム41は、同期で各Process0乃至nの各プロセス12に生じた待ち時間をプロファイル格納域20に出力し、必要な通信を行う。   The measurement program 41 called above synchronizes each process 12 of Process0 to n. That is, the process 12 that has finished executing the business process program 32 waits for the process 12 that has not yet executed the business process program 32. When the last process 12 finishes executing the business processing program 32, the measurement program 41 synchronously outputs the waiting time generated in each process 12 of each Process0 to n to the profile storage area 20, and performs necessary communication.

ここで、分散並列アプリケーション30は、例えば、ある図形を複数の区分に分割し、各々の区分の面積積分を並列して実行し、最後に合算して当該図形の面積を求めるものであるとする。   Here, for example, the distributed parallel application 30 divides a certain figure into a plurality of sections, executes area integration of each section in parallel, and finally adds them together to obtain the area of the figure. .

具体的には、分散並列アプリケーション30は、Process0乃至nの各プロセス12の業務処理プログラム32で各区分の面積を求め、各々の算出値をProcess0で合算するものとする。   Specifically, it is assumed that the distributed parallel application 30 obtains the area of each division by the business processing program 32 of each process 12 of Process0 to n and adds the calculated values by Process0.

この場合、上述の相互通信において、Process1乃至nの各プロセス12は、各々の計算結果をPrecess0に送信する。Process0は、Process1乃至nの各プロセス12から計算結果を受信する。   In this case, in the above-described mutual communication, each process 12 of Process1 to n transmits each calculation result to Precess0. Process 0 receives the calculation result from each process 12 of Process 1 to n.

上述例の分散並列アプリケーション30は、種々の方法で記載可能である。例えば、MPI(Message-Passing Interface)が用いられても良い。このとき、上記の通信はメッセージパッシングとして実現される。   The distributed parallel application 30 of the above example can be described in various ways. For example, MPI (Message-Passing Interface) may be used. At this time, the above communication is realized as message passing.

なお、本発明を利用可能な分散並列アプリケーション30はこの例に限られない。分散並列アプリケーション30が、処理の一部を複数のプロセス12で分散して並列に処理し、並列処理の結果を相互に授受するものであれば他のものでも構わない。   The distributed parallel application 30 that can use the present invention is not limited to this example. Other distributed parallel applications 30 may be used as long as a part of the processing is distributed in parallel by a plurality of processes 12 and the results of the parallel processing are mutually exchanged.

メッセージパッシングによる結果を送受信した後、通常Process1乃至nはProcess0からの消滅指示を受けたのち消滅する。Process0は、次のユーザ手続き31を実行する。あるいは、OSや他のユーザプログラムの制御を受けて、Procedure Aを繰り返し実行しても良い。   After transmitting / receiving the result of message passing, the processes 1 to n usually disappear after receiving the disappearance instruction from the process 0. Process 0 executes the next user procedure 31. Alternatively, Procedure A may be repeatedly executed under the control of the OS and other user programs.

図4は、上述したプロセス12相互間で同期を取るための同期表50を示す。同期表50は親ユーザ手続きID51を包含する。親ユーザ手続きID51は、同期対象となるプロセス12を生成したユーザ手続き31の識別子である。図3の例では、Procedure Aの識別子が親ユーザ手続きID51である。   FIG. 4 shows a synchronization table 50 for synchronizing the processes 12 described above. The synchronization table 50 includes a parent user procedure ID 51. The parent user procedure ID 51 is an identifier of the user procedure 31 that generated the process 12 to be synchronized. In the example of FIG. 3, the identifier of Procedure A is the parent user procedure ID 51.

同期表50は、さらに、同期対象となるプロセス12の数分の、同期プロセスID52、同期状態53、待ち開始時刻54を包含する。図3の例では、Process0乃至nについて各々同期プロセスID52、同期状態53、待ち開始時刻54を包含する。同期状態53は、同期プロセスID52が示すプロセス12の同期が完了したか未完了かを示す。   The synchronization table 50 further includes synchronization process IDs 52, synchronization states 53, and waiting start times 54 corresponding to the number of processes 12 to be synchronized. In the example of FIG. 3, each of Process 0 to n includes a synchronization process ID 52, a synchronization state 53, and a waiting start time 54. The synchronization state 53 indicates whether the synchronization of the process 12 indicated by the synchronization process ID 52 is completed or not completed.

同期表50は、測定装置10の図示せぬメモリに格納される。   The synchronization table 50 is stored in a memory (not shown) of the measurement apparatus 10.

図5は測定プログラム41のフローチャートである。前述したように、ユーザ手続き31が測定プログラム41を呼び出す。ユーザ手続き31は、呼び出し時に、同期対象となるプロセス12を生成したユーザ手続き31の識別子や同期対象プロセス12の識別子をパラメータとして与える。これらの情報は、同期表50の親ユーザ手続きID52や同期プロセスID52に格納されたり、同期表50の親ユーザ手続きID52や同期プロセスID52と比較されたりする。   FIG. 5 is a flowchart of the measurement program 41. As described above, the user procedure 31 calls the measurement program 41. When the user procedure 31 is called, the identifier of the user procedure 31 that generated the process 12 to be synchronized and the identifier of the synchronization target process 12 are given as parameters. These pieces of information are stored in the parent user procedure ID 52 and the synchronization process ID 52 of the synchronization table 50, and are compared with the parent user procedure ID 52 and the synchronization process ID 52 of the synchronization table 50.

これらの情報は、例えば、親ユーザ手続きID51が示すユーザ手続き31を実行する親のプロセス12が、子のプロセス12を生成したとき、または、その後に、親のプロセス12と子のプロセス12とで共有される。そして、各プロセス12上で、ユーザ手続き31が、測定プログラム41にパラメータとして与える。   For example, when the parent process 12 that executes the user procedure 31 indicated by the parent user procedure ID 51 generates the child process 12, or after that, the parent process 12 and the child process 12 perform the above information. Shared. Then, on each process 12, the user procedure 31 gives the measurement program 41 as a parameter.

測定プログラム41は、同期表50がメモリ上にあるかを調べる(S51)。これは、呼び出し時のパラメータで与えられたユーザ手続き31の識別子と一致する親ユーザ手続きID51を持つ同期表50を検索することで行う。測定プログラム41は、当該同期表50が発見できなければ(S51でN)、与えられたパラメータを基に同期表50を作成する(S5B)。なお、同プログラムは、同期状態53の初期値として同期未完了を示すように設定する。   The measurement program 41 checks whether the synchronization table 50 exists on the memory (S51). This is performed by searching the synchronization table 50 having the parent user procedure ID 51 that matches the identifier of the user procedure 31 given by the parameter at the time of calling. If the synchronization table 50 cannot be found (N in S51), the measurement program 41 creates the synchronization table 50 based on the given parameters (S5B). The program is set to indicate that synchronization is incomplete as the initial value of the synchronization state 53.

同プログラムは、当該同期表50が発見できれば(S51でY)、他の全てのプロセス12の同期が完了しているかを調べる(S52)。これは、自らのプロセス12以外のプロセス12の同期状態53が同期完了を示すか否かを調べることで行う。   If the synchronization table 50 can be found (Y in S51), the program checks whether the synchronization of all the other processes 12 has been completed (S52). This is performed by checking whether or not the synchronization state 53 of the processes 12 other than its own process 12 indicates synchronization completion.

少なくとも一つのプロセス12で同期が完了していなければ(S52でN)、即ち、他のプロセス12について同期状態53が同期未完了を示すものが存在すれば、同プログラムは、自らのプロセス12の待ち開始時刻54を設定する。これは、時計13を読み込んで、待ち開始時刻54に格納することで行う。   If synchronization is not completed in at least one process 12 (N in S52), that is, if there is a process whose synchronization status 53 indicates that synchronization has not been completed for another process 12, the program A waiting start time 54 is set. This is done by reading the clock 13 and storing it at the waiting start time 54.

その後、同プログラムは、他のプロセス12が同期するのを待ち合わせる(S54)。他の全てのプロセス12で同期が完了すると、当該待ち合わせが解除されて、同プログラムは、必要な通信を行って(S55)終了する。即ち、同プログラムは、呼び出し元のユーザ手続き31にリターンする。なお、必要な通信とは、メッセージパッシングによる、例えば、各プロセス12の間の計算結果の送受信である。   Thereafter, the program waits for another process 12 to synchronize (S54). When synchronization is completed in all the other processes 12, the waiting is canceled, and the program performs necessary communication (S55) and ends. That is, the program returns to the calling user procedure 31. The necessary communication is, for example, transmission / reception of calculation results between the processes 12 by message passing.

他の全てのプロセス12の同期が完了している場合(S52でY)、同プログラムは、全てのプロセス12の各々の同期待ち時間(測定値)を算出する(S56)。これは、時計13の現在値と、各プロセス12の待ち開始時刻54との差分を求めることで行う。なお、自らのプロセス12の同期待ち時間は0である。   When the synchronization of all the other processes 12 is completed (Y in S52), the program calculates the synchronization waiting time (measured value) of each of all the processes 12 (S56). This is performed by obtaining a difference between the current value of the clock 13 and the waiting start time 54 of each process 12. Note that the synchronization waiting time of the process 12 is 0.

同プログラムは、このようにして求めた各プロセス12の同期待ち時間をプロファイル格納域20に出力する(S57)。   The program outputs the synchronization waiting time of each process 12 thus determined to the profile storage area 20 (S57).

同期待ち時間は、同期が完了する都度、新たなレコードとして出力しても良い。ユーザ手続き31(例えば、Procedure A)が繰り返し実行される場合は、同期待ち時間は、同期が完了するたびに、各プロセス12(例えば、Process0乃至n)に累積しても良い。繰り返し実行結果を累積することは、同期待ち時間にたいする偶然の要素の影響を平滑化する。   The synchronization waiting time may be output as a new record each time synchronization is completed. When the user procedure 31 (for example, Procedure A) is repeatedly executed, the synchronization waiting time may be accumulated in each process 12 (for example, Process 0 to n) every time synchronization is completed. Accumulating repeated execution results smooths the effects of accidental factors on synchronization latency.

同プログラムは、同期表50を走査して、同期待ち合わせを行っている全ての他のプロセス12の待ち合わせ解除を行う(S58)。   The program scans the synchronization table 50 and cancels the waiting of all other processes 12 that are waiting for synchronization (S58).

その後、同プログラムは、同一ユーザ手続き31の再実行に備えて、同期表50の再初期設定を行う(S59)。即ち同プログラムは、全ての同期状態53が、同期未完了を示すように再設定する。その後、同プログラムは、必要な通信を行って(S5A)終了する。なお、必要な通信とは、メッセージパッシングによる、例えば、各プロセス12の間の計算結果の送受信である。   Thereafter, the program performs reinitialization of the synchronization table 50 in preparation for re-execution of the same user procedure 31 (S59). That is, the program resets all the synchronization states 53 so as to indicate that synchronization is not completed. Thereafter, the program performs necessary communication (S5A) and ends. The necessary communication is, for example, transmission / reception of calculation results between the processes 12 by message passing.

図6は、測定プログラム41の通信処理のフローチャートである。この通信処理は、図5において、S55、S5Aの両ステップで行われる処理である。同処理の入力パラメータは、送受信の別、送受信対象のプロセス12の識別子、および、送信メッセージ、あるいは受信メッセージ域である。これらのパラメータは、ユーザ手続き31が測定プログラム41を呼び出すときに与える。   FIG. 6 is a flowchart of the communication process of the measurement program 41. This communication process is a process performed in both steps S55 and S5A in FIG. The input parameters for this processing are the identifier of the process 12 to be transmitted / received, the transmission message, or the reception message area. These parameters are given when the user procedure 31 calls the measurement program 41.

同プログラムは、入力パラメータが送信を示す場合(S61でY)、送信対象プロセス12(Precess0)に、送信メッセージを送信する(S62)。   When the input parameter indicates transmission (Y in S61), the program transmits a transmission message to the transmission target process 12 (Precess0) (S62).

同プログラムは、入力パラメータが受信を示す場合(S61でN)、受信対象の全てのプロセス12(Process1乃至n)から、メッセージを受信する(S63)。   When the input parameter indicates reception (N in S61), the program receives a message from all the processes 12 (Process1 to n) to be received (S63).

なお、図6は通信プログラム42のフローチャートでもある。ユーザ手続き31が、本発明にかかる測定を行わないときに、測定プログラム41の代わりに通信プログラム42を使用する。   FIG. 6 is also a flowchart of the communication program 42. When the user procedure 31 does not perform the measurement according to the present invention, the communication program 42 is used instead of the measurement program 41.

図7は、測定プログラム41がプロファイル格納域20に出力した測定値を例示する。測定値は、同期対象となるプロセス12を生成したユーザ手続き31(Procedure A)毎に、同期対象プロセス12毎の同期待ち時間を示す。この同期待ち時間は、同期毎の測定値である場合もあるし、同期が繰り返された場合の累積値である場合もあることは前述の通りである。業務処理プログラム32の処理時間が長ければこの同期待ち時間は短く、逆に、業務処理プログラム32の処理時間が短ければこの同期待ち時間は長くなる(図3)。従って、こも同期待ち時間により、各プロセス12で実行される業務処理プログラム32の処理時間差が解る。   FIG. 7 illustrates the measurement values output to the profile storage area 20 by the measurement program 41. The measurement value indicates the synchronization waiting time for each synchronization target process 12 for each user procedure 31 (Procedure A) that generated the process 12 to be synchronized. As described above, the synchronization waiting time may be a measured value for each synchronization, or may be a cumulative value when synchronization is repeated. If the processing time of the business processing program 32 is long, the synchronization waiting time is short. Conversely, if the processing time of the business processing program 32 is short, the synchronization waiting time is long (FIG. 3). Therefore, the processing time difference of the business processing program 32 executed in each process 12 can be understood from the synchronization waiting time.

図示しない表示ソフトウェアが、プロファイル格納域20から測定値を読み込んで、例えば、入出力装置16に表示する。   Display software (not shown) reads the measurement values from the profile storage area 20 and displays them on the input / output device 16, for example.

図8は本実施形態の特徴的部分を示す。図6は、コンピュータである測定装置10に、プロセス12として実行される測定プログラム41を示す。同プログラムは、他のプロセス12と同期をとった後、当該同期の待ち時間の出力、および、他のプロセス12との通信を行う測定処理を実行させる。   FIG. 8 shows a characteristic part of this embodiment. FIG. 6 shows a measurement program 41 executed as the process 12 in the measurement apparatus 10 which is a computer. After synchronizing with the other process 12, the program causes the waiting time for the synchronization to be output and the measurement process for performing communication with the other process 12 to be executed.

本実施形態の効果は以下の通りである。   The effects of this embodiment are as follows.

第1の効果は、業務処理プログラム32によって生じる処理時間差が、高精度で測定できる点である。この処理時間差は、各プロセス12で分散実行した業務処理プログラム32の演算量の差異や実行時に利用する共有資源の競合度合いの違いにより生ずる。この測定の結果、より効率的な並列実行の為の性能チューニングが可能になる。具体的には、共用資源の増減や、各業務処理プログラム32の各プロセス12への割当の適正変更などが可能となる。   The first effect is that the processing time difference caused by the business processing program 32 can be measured with high accuracy. This difference in processing time is caused by a difference in the amount of calculation of the business processing program 32 distributedly executed in each process 12 and a difference in the degree of competition of shared resources used at the time of execution. As a result of this measurement, performance tuning for more efficient parallel execution becomes possible. Specifically, it is possible to increase / decrease the number of shared resources and change the assignment of each business processing program 32 to each process 12 appropriately.

業務処理プログラム32によって生じる処理時間差が高精度で測定できる理由は、当該プログラム実行後の通信前に、呼び出された測定プログラム41内で、プロセス12間同期をとって、同期待ち時間を測定するからである。   The reason why the processing time difference caused by the business processing program 32 can be measured with high accuracy is that the synchronization waiting time is measured by synchronizing the processes 12 in the called measurement program 41 before communication after the execution of the program. It is.

この測定により、プロセス12の処理時間に含まれていた通信処理に依存して発生する通信待ち時間を測定値から排除して、業務処理プログラム32の処理時間差の高精度な測定が出来る。   By this measurement, the communication waiting time generated depending on the communication processing included in the processing time of the process 12 is excluded from the measured value, and the processing time difference of the business processing program 32 can be measured with high accuracy.

第2の効果は、業務処理プログラム32によって生じる処理時間差を容易に測定できることである。その理由は、同期および同期待ち時間の測定手段を通信ライブラリ40にプログラム部品として組み込んだからである。分散並列アプリケーション30の測定用の実行形式ファイルが再リンクのみで作成可能となり、ソール修正および再コンパイルが不要になるからである。   The second effect is that the processing time difference caused by the business processing program 32 can be easily measured. The reason is that the means for measuring synchronization and synchronization waiting time is incorporated in the communication library 40 as a program part. This is because the execution format file for measurement of the distributed parallel application 30 can be created only by relinking, and the sole correction and recompilation are not required.

本発明の第2実施形態は、以下の通りである。先ず、本実施形態では、OSが分散並列アプリケーション30を起動するときに、時計13を読み出して、図示せぬ開始時刻格納域に格納する。   The second embodiment of the present invention is as follows. First, in this embodiment, when the OS starts the distributed parallel application 30, the clock 13 is read and stored in a start time storage area (not shown).

そして、最後に同期したプロセス12で実行される測定プログラム41が、通信の前に時計13を読み出し、開始時刻格納域の時刻からの経過時間を算出する。そして同プログラムは、この算出値をプロファイル格納域20に追加出力する(図5のS59に追加)。   Then, the measurement program 41 executed by the last synchronized process 12 reads the clock 13 before communication, and calculates the elapsed time from the time in the start time storage area. Then, the program additionally outputs the calculated value to the profile storage area 20 (added to S59 in FIG. 5).

この算出された経過時間は、分散並列アプリケーション30で最初に実行されたユーザ手続き31について、最も処理時間を要したプロセス12の実行時間を示すことになる。   The calculated elapsed time indicates the execution time of the process 12 that takes the longest processing time for the user procedure 31 executed first in the distributed parallel application 30.

本実施形態では、各プロセス12の実行時間のばらつきを把握して、より適切な性能チューニングが可能となる。その理由は、この実行時間と、各プロセス12の同期待ち時間から、各プロセス12の実行時間を算出できるからである。   In the present embodiment, it is possible to grasp the variation in the execution time of each process 12 and perform more appropriate performance tuning. The reason is that the execution time of each process 12 can be calculated from the execution time and the synchronization waiting time of each process 12.

図9は、本実施形態の測定プログラム41がプロファイル格納域20に出力した測定値を例示する。この例では、Precess0、1、2の業務処理プログラム32の実行時間が、各々、4.5秒、1.6秒、13.0秒等と把握できる。   FIG. 9 illustrates measurement values output to the profile storage area 20 by the measurement program 41 of the present embodiment. In this example, the execution times of the business processing programs 32 of Precess0, 1, 2 can be grasped as 4.5 seconds, 1.6 seconds, 13.0 seconds, etc., respectively.

測定装置の全体構成を示す図である。It is a figure which shows the whole structure of a measuring apparatus. 分散並列アプリケーションの構成を示す図である。It is a figure which shows the structure of a distributed parallel application. 分散並列アプリケーションの実行の様子を示す図である。It is a figure which shows the mode of execution of a distributed parallel application. 同期表の構成を示す図である。It is a figure which shows the structure of a synchronous table. 測定プログラムのフローチャートである。It is a flowchart of a measurement program. 測定プログラムの通信処理のフローチャートである。It is a flowchart of the communication process of a measurement program. 測定結果を示す図である。It is a figure which shows a measurement result. 測定プログラムの構成を示す図である。It is a figure which shows the structure of a measurement program. 第2の実施形態の測定結果を示す図である。It is a figure which shows the measurement result of 2nd Embodiment.

符号の説明Explanation of symbols

10 測定装置
11 プロセッサ
12 プロセス
13 時計
15 記憶装置
16 入出力装置
20 プロファイル格納域
30 分散並列アプリケーション
31 ユーザ手続き
32 業務処理プログラム
40 通信ライブラリ
41 測定プログラム
42 通信プログラム
50 同期表
51 親ユーザ手続きID
52 同期プロセスID
53 同期状態
54 待ち開始時刻
DESCRIPTION OF SYMBOLS 10 Measuring apparatus 11 Processor 12 Process 13 Clock 15 Storage device 16 Input / output device 20 Profile storage area 30 Distributed parallel application 31 User procedure 32 Business processing program 40 Communication library 41 Measurement program 42 Communication program 50 Synchronization table 51 Parent user procedure ID
52 Synchronization process ID
53 Synchronization state 54 Waiting start time

Claims (10)

コンピュータに、プロセスとして実行されて、
第1の他プロセスと同期をとった後、当該同期の待ち時間の出力、および、前記第1の他プロセスとの第1の通信を行う測定処理を実行させる測定プログラム。
Running as a process on a computer,
A measurement program for executing, after synchronization with the first other process, output of the waiting time for the synchronization and measurement processing for performing first communication with the first other process.
前記コンピュータに、
前記第1の他のプロセス、および、前記同期後に前記第1のプロセスと第2の通信を行う第2の他のプロセスの両者と前記同期をとる前記測定処理を実行させる請求項1の測定プログラム。
In the computer,
2. The measurement program according to claim 1, wherein the measurement processing is performed in synchronization with both the first other process and the second other process that performs second communication with the first process after the synchronization. .
前記コンピュータに実行されるユーザ手続きから業務処理後に前記第1の通信を行う為に呼び出されるプログラム部品である、請求項1または2の何れかに記載の測定プログラム。 The measurement program according to claim 1, wherein the measurement program is a program component called to perform the first communication after a business process from a user procedure executed by the computer. 分散並列アプリケーションに属する前記ユーザ手続きを、前記プロセス及び前記第1の他のプロセスとして各々実行する前記コンピュータに、前記ユーザ手続きの前記業務処理による演算結果を送信するメッセージパッシングとして前記第1の通信を実行させる請求項3に記載の測定プログラム。 The first communication is performed as message passing for transmitting a calculation result by the business process of the user procedure to the computer that executes the user procedure belonging to the distributed parallel application as the process and the first other process, respectively. The measurement program according to claim 3 to be executed. 前記コンピュータに、前記待ち時間を前記ユーザ手続きおよび前記プロセス毎に累積させる請求項4の測定プログラム。 The measurement program according to claim 4, wherein the computer accumulates the waiting time for each user procedure and each process. 請求項1乃至5の何れかひとつに記載の測定プログラムを実行する測定装置。 A measuring apparatus that executes the measurement program according to claim 1. コンピュータが、
第1の他プロセスと同期をとった後、当該同期の待ち時間の出力、および、前記第1の他プロセスとの第1の通信をプロセスとして実行する測定行程を有する測定方法。
Computer
A measurement method comprising a measurement step of executing, as a process, an output of a waiting time for the synchronization and a first communication with the first other process after synchronizing with the first other process.
前記コンピュータが、
前記第1の他のプロセス、および、前記同期後に前記第1のプロセスと第2の通信を行う第2の他のプロセスの両者と前記同期をとる前記測定行程を有する請求項7の測定方法。
The computer is
The measurement method according to claim 7, further comprising the measurement step of synchronizing the first other process and the second other process that performs second communication with the first process after the synchronization.
前記測定行程は、前記コンピュータが、前記コンピュータが実行するユーザ手続きから業務処理後に前記第1の通信を行う為のプログラム部品を呼び出して実施する請求項7または8の何れかに記載の測定方法。 The measurement method according to claim 7, wherein the measurement process is performed by the computer calling a program component for performing the first communication after a business process from a user procedure executed by the computer. 分散並列アプリケーションに属する前記ユーザ手続きを、前記プロセス及び前記第1の他のプロセスとして各々実行する前記コンピュータが、前記ユーザ手続きの前記業務処理による演算結果を送信するメッセージパッシングとして前記第1の通信を実行する請求項9に記載の測定方法。 The computer that executes the user procedure belonging to the distributed parallel application as the process and the first other process respectively performs the first communication as message passing for transmitting a calculation result by the business process of the user procedure. The measurement method according to claim 9 to be executed.
JP2007228413A 2007-09-04 2007-09-04 Measuring device, measurement program, and measuring method Pending JP2009059316A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007228413A JP2009059316A (en) 2007-09-04 2007-09-04 Measuring device, measurement program, and measuring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007228413A JP2009059316A (en) 2007-09-04 2007-09-04 Measuring device, measurement program, and measuring method

Publications (1)

Publication Number Publication Date
JP2009059316A true JP2009059316A (en) 2009-03-19

Family

ID=40554959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007228413A Pending JP2009059316A (en) 2007-09-04 2007-09-04 Measuring device, measurement program, and measuring method

Country Status (1)

Country Link
JP (1) JP2009059316A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014092873A (en) * 2012-11-01 2014-05-19 Nec Corp Hybrid parallel processing system, hybrid parallel processing method, and computer program
JP2015106311A (en) * 2013-11-29 2015-06-08 富士通株式会社 Communication control device, information processing device, parallel computer system, control program, and method for controlling parallel computer system
JP2021089601A (en) * 2019-12-04 2021-06-10 富士通株式会社 Information processing apparatus, information processing method, and information processing program
JP2021117577A (en) * 2020-01-23 2021-08-10 日本電気株式会社 Information processing device, information processing method and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03230226A (en) * 1990-02-05 1991-10-14 Nec Corp Synchronous wait time measurement system
JPH04225439A (en) * 1990-12-27 1992-08-14 Fujitsu Ltd Log/sampling data analyzing method
JPH1063550A (en) * 1996-08-23 1998-03-06 Fujitsu Ltd Executing performance analytic display method and medium stored with program executing the method
JPH1063516A (en) * 1996-08-20 1998-03-06 Nec Corp Method and device for bottleneck detection
JPH10260949A (en) * 1997-03-18 1998-09-29 Hitachi Ltd Multiprocessor system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03230226A (en) * 1990-02-05 1991-10-14 Nec Corp Synchronous wait time measurement system
JPH04225439A (en) * 1990-12-27 1992-08-14 Fujitsu Ltd Log/sampling data analyzing method
JPH1063516A (en) * 1996-08-20 1998-03-06 Nec Corp Method and device for bottleneck detection
JPH1063550A (en) * 1996-08-23 1998-03-06 Fujitsu Ltd Executing performance analytic display method and medium stored with program executing the method
JPH10260949A (en) * 1997-03-18 1998-09-29 Hitachi Ltd Multiprocessor system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014092873A (en) * 2012-11-01 2014-05-19 Nec Corp Hybrid parallel processing system, hybrid parallel processing method, and computer program
JP2015106311A (en) * 2013-11-29 2015-06-08 富士通株式会社 Communication control device, information processing device, parallel computer system, control program, and method for controlling parallel computer system
JP2021089601A (en) * 2019-12-04 2021-06-10 富士通株式会社 Information processing apparatus, information processing method, and information processing program
JP2021117577A (en) * 2020-01-23 2021-08-10 日本電気株式会社 Information processing device, information processing method and program
JP7434925B2 (en) 2020-01-23 2024-02-21 日本電気株式会社 Information processing device, information processing method and program

Similar Documents

Publication Publication Date Title
WO2017161984A1 (en) Method, device and system for deploying data clusters, and computer storage medium
CN108845954B (en) Pressure testing method, system and storage medium
WO2016202123A1 (en) File pushing method, apparatus, and system
JP5456202B2 (en) Master device, slave device, and time synchronization method
CN110502310B (en) Time synchronization method and device of virtual machine
JP2009059316A (en) Measuring device, measurement program, and measuring method
JP2012099102A (en) Verification method and products for distributed computer system and interactive client-server applications
CN107015902B (en) Test method and test equipment
JP2012099106A (en) Electronic equipment, method and products for compressing state graph
JP6457340B2 (en) Estimation apparatus, system, method, and program
CN108628733B (en) Method and device for testing batch service processing operation
CN107657002A (en) File synchronisation method and device
WO2014187402A1 (en) Method and device for realizing acceleration of starting network management client
JP2006349364A (en) Time correction method
CN110851528B (en) Database synchronization method and device, storage medium and computer equipment
JP4605191B2 (en) Interrupt processing synchronization device, interrupt processing synchronization method, and program
JP2018110326A (en) Synchronizer, synchronization method, synchronous program, and synchronous system
JP2008187235A (en) Network system and slave synchronization method
JP6922241B2 (en) Information processing equipment, information processing methods, programs, information processing systems
CN110782040A (en) Method, device, equipment and medium for training tasks of pitorch
JP2010039526A (en) Computer program and master computer
CN104348906B (en) Data agreement method and device in a kind of distributed system
CN112765265A (en) Data synchronization method and device, computer equipment and readable storage medium
JP2010244300A (en) Test pattern creation method, simulation method, information processing apparatus and simulation apparatus
CN111193570A (en) Method, device, system, medium and electronic equipment for executing instructions

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20090512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110615

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110705

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110705