JP5966389B2 - Computer apparatus, arithmetic processing system, checkpoint setting method and program - Google Patents

Computer apparatus, arithmetic processing system, checkpoint setting method and program Download PDF

Info

Publication number
JP5966389B2
JP5966389B2 JP2012017856A JP2012017856A JP5966389B2 JP 5966389 B2 JP5966389 B2 JP 5966389B2 JP 2012017856 A JP2012017856 A JP 2012017856A JP 2012017856 A JP2012017856 A JP 2012017856A JP 5966389 B2 JP5966389 B2 JP 5966389B2
Authority
JP
Japan
Prior art keywords
memory
memory usage
checkpoint
instruction
execution
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
Application number
JP2012017856A
Other languages
Japanese (ja)
Other versions
JP2013156886A (en
Inventor
佑基 水野
佑基 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2012017856A priority Critical patent/JP5966389B2/en
Publication of JP2013156886A publication Critical patent/JP2013156886A/en
Application granted granted Critical
Publication of JP5966389B2 publication Critical patent/JP5966389B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)

Description

本発明は計算装置に関し、特にチェックポイントを設定してメモリイメージを取得する計算装置に関する。   The present invention relates to a computing device, and more particularly to a computing device that acquires a memory image by setting checkpoints.

ハイパフォーマンスコンピューティングの分野においては、大規模計算を行うために、多数の計算ノードをネットワークを介して接続した計算クラスタが用いられる。計算クラスタの大規模化に伴いハードウェア部品も増加している。そのため、計算ノードが、障害などに遭遇する頻度が高まっている。その結果、問題発生時におけるジョブのリカバリがますます重要になってきている。ジョブのリカバリ方法の一つを以下に説明する。計算ノードは、定期的にチェックポイントを設定し、設定されたチェックポイントにおいてメモリイメージを採取及び保存する。計算ノードは、問題発生時に、直前のチェックポイントのメモリイメージを復元し、ジョブをリスタートする。このリカバリ方法の場合、リスタートのために、チェックポイントでジョブを構成する全プロセスのメモリイメージを保存する必要があり、ジョブを構成するプロセス数とそれら各プロセスのメモリ使用量の増大が、そのままチェックポイントで採取するメモリイメージの増大につながる。メモリイメージの増大は、保存領域の圧迫、計算ノードから保存領域までの転送負荷の増大などの問題を発生させる。そのため、チェックポイントを効率よく設定しメモリイメージを採取する必要がある。   In the field of high performance computing, a calculation cluster in which a large number of calculation nodes are connected via a network is used to perform a large-scale calculation. With the increase in the size of computing clusters, hardware components are also increasing. For this reason, the frequency with which a computing node encounters a failure or the like is increasing. As a result, job recovery in the event of problems has become increasingly important. One of the job recovery methods will be described below. The computation node periodically sets checkpoints, and collects and stores memory images at the set checkpoints. When a problem occurs, the compute node restores the memory image of the previous checkpoint and restarts the job. In the case of this recovery method, it is necessary to save the memory image of all processes that make up the job at the checkpoint for restart, and the increase in the number of processes that make up the job and the memory usage of each process remains This leads to an increase in memory images collected at checkpoints. The increase in the memory image causes problems such as compression of the storage area and an increase in transfer load from the calculation node to the storage area. Therefore, it is necessary to set checkpoints efficiently and collect memory images.

以上の状況において、本分野の大規模計算では、計算クラスタを有効利用するために、各計算ノードのプロセスを用いて協調動作をし、さらに計算を進める分散メモリ並列ジョブが多く利用されている。そして、業界標準であるMPI(Message Passing Interface)ライブラリを使い、単一プログラムに対して計算データを各プロセスに分割して実行するSPMD(Single Program Multiple Data)型のジョブを用いて、大規模計算を行うことが多い。また、本分野の計算方式の一つに、パラメータを変更しながら同一プログラムを繰り返し実行して最適解を求める、パラメータサーベイがあり、シミュレーションの分野などで多く利用されている。   In the above situation, in a large-scale calculation in this field, in order to effectively use a calculation cluster, a distributed memory parallel job that uses a process of each calculation node to perform a cooperative operation and advances the calculation is often used. And using the industry standard MPI (Message Passing Interface) library, a single program multiple data (SPMD) type job that divides the calculation data into each process and executes it for a single program. Is often done. One of the calculation methods in this field is a parameter survey in which the same program is repeatedly executed while changing parameters to obtain an optimal solution, which is widely used in the field of simulation and the like.

ここで、チェックポイントを効率よく設定する方法として、特許文献1には、実行時間とチェックポイント時間の割合に着目した方法が開示されている。さらに、特許文献2には、CPU(Central Processing Unit)使用率及びI/O使用量に着目した方法が開示されている。   Here, as a method for efficiently setting checkpoints, Patent Document 1 discloses a method that focuses on the ratio of execution time and checkpoint time. Further, Patent Document 2 discloses a method focusing on a CPU (Central Processing Unit) usage rate and an I / O usage amount.

特開2004−094422号公報JP 2004-094422 A 特開2006−172065号公報JP 2006-172065 A

しかし、特許文献1及び2に開示されているチェックポイントの設定方法は、チェックポイント設定時点におけるメモリ使用量が考慮されていないため、メモリイメージの増大に起因する問題に対処することができないという問題がある。   However, the checkpoint setting methods disclosed in Patent Documents 1 and 2 do not take into account the memory usage at the time of checkpoint setting, and therefore cannot solve the problem caused by the increase in the memory image. There is.

本発明はこのような問題を解決するためになされたものであり、メモリイメージの増大を低下させることができる計算装置、演算処理システム、チェックポイント設定方法及びプログラムを提供することを目的とする。   The present invention has been made to solve such a problem, and an object of the present invention is to provide a computing device, an arithmetic processing system, a checkpoint setting method, and a program capable of reducing the increase in the memory image.

本発明の第1の態様にかかる計算装置は、チェックポイント情報に基づいて、障害発生時に計算ジョブのリスタートを行うためのメモリイメージを取得する計算装置であって、前記計算ジョブ実行中のメモリ操作命令に応じてメモリ使用量を記録するメモリ使用量記録部と、複数のプロセスにおける前記メモリ使用量を集計し前記集計したメモリ使用量に基づいて前記チェックポイントを設定する操作端末に対して前記メモリ使用量記録部に記録されたメモリ使用量を送信する通信部と、を備えるものである。   A computing device according to a first aspect of the present invention is a computing device that acquires a memory image for restarting a computation job when a failure occurs based on checkpoint information, the memory being used to execute the computation job A memory usage recording unit that records memory usage in response to an operation command; and an operation terminal that aggregates the memory usage in a plurality of processes and sets the checkpoint based on the aggregated memory usage And a communication unit that transmits the memory usage recorded in the memory usage recording unit.

本発明の第2の態様にかかる演算処理システムは、チェックポイント情報に基づいて、障害発生時に計算ジョブのリスタートを行うためのメモリイメージを取得する計算装置と、前記計算装置に対して前記チェックポイント情報を送信する操作端末とを備える演算処理システムであって、前記計算装置は、前記計算ジョブ実行中のメモリ操作命令に応じてメモリ使用量を記録するメモリ使用量記録部と、前記操作端末に対して前記メモリ使用量記録部に記録されたメモリ使用量を送信する通信部と、を有し、前記操作端末は、複数のプロセスにおける前記メモリ使用量を集計し前記集計したメモリ使用量を表示し、ユーザから前記チェックポイントの設定位置に関する情報の入力を受け付けるものである。   An arithmetic processing system according to a second aspect of the present invention includes a computing device that acquires a memory image for restarting a computation job when a failure occurs based on checkpoint information, and the check for the computing device. An operation processing system including an operation terminal for transmitting point information, wherein the calculation device records a memory use amount in accordance with a memory operation command during execution of the calculation job, and the operation terminal A communication unit that transmits the memory usage recorded in the memory usage recording unit, and the operation terminal totalizes the memory usage in a plurality of processes and calculates the totaled memory usage And receiving input of information related to the set position of the checkpoint from the user.

本発明の第3の態様にかかるチェックポイント設定方法は、チェックポイント情報に基づいて、障害発生時に計算ジョブのリスタートを行うためのメモリイメージを取得する計算装置において実行されるチェックポイント設定方法であって、前記計算ジョブ実行中のメモリ操作命令に応じてメモリ使用量を記録し、複数のプロセスにおける前記メモリ使用量を集計し前記集計したメモリ使用量に基づいて前記チェックポイントを設定する操作端末に対して前記記録したメモリ使用量を送信するものである。   The checkpoint setting method according to the third aspect of the present invention is a checkpoint setting method executed in a computing device that acquires a memory image for restarting a calculation job when a failure occurs based on checkpoint information. An operation terminal that records a memory usage amount according to a memory operation instruction during execution of the calculation job, aggregates the memory usage amount in a plurality of processes, and sets the checkpoint based on the aggregated memory usage amount To the recorded memory usage.

本発明の第4の態様にかかるプログラムは、チェックポイント情報に基づいて、障害発生時に計算ジョブのリスタートを行うためのメモリイメージを取得する計算装置のコンピュータに実行させるプログラムであって、前記計算ジョブ実行中のメモリ操作命令に応じてメモリ使用量を記録するステップと、複数のプロセスにおける前記メモリ使用量を集計し前記集計したメモリ使用量に基づいて前記チェックポイントを設定する操作端末に対して前記記録したメモリ使用量を送信するステップと、をコンピュータに実行させるものである。   A program according to a fourth aspect of the present invention is a program to be executed by a computer of a computing device that acquires a memory image for restarting a computation job when a failure occurs based on checkpoint information, A step of recording a memory usage amount according to a memory operation instruction during job execution; and an operation terminal that aggregates the memory usage amount in a plurality of processes and sets the checkpoint based on the aggregated memory usage amount Sending the recorded memory usage amount to a computer.

本発明により、メモリイメージの増大を低下させることができる計算装置、演算処理システム、チェックポイント設定方法及びプログラムを提供することができる。   According to the present invention, it is possible to provide a computing device, an arithmetic processing system, a checkpoint setting method, and a program that can reduce the increase in the memory image.

実施の形態1にかかる計算装置の構成図である。1 is a configuration diagram of a computing device according to a first embodiment. 実施の形態1にかかる演算処理システムの構成図である。1 is a configuration diagram of an arithmetic processing system according to a first embodiment. 実施の形態1にかかる計算装置の構成図である。1 is a configuration diagram of a computing device according to a first embodiment. 実施の形態1にかかるメモリ操作命令実行位置記録部に記録される情報テーブルを説明した図である。FIG. 6 is a diagram for explaining an information table recorded in a memory operation instruction execution position recording unit according to the first embodiment; 実施の形態1にかかる操作端末の構成図である。1 is a configuration diagram of an operation terminal according to a first embodiment; 実施の形態1にかかる計算ジョブメモリ使用量テーブルを説明した図である。FIG. 6 is a diagram for explaining a calculation job memory usage table according to the first embodiment; 実施の形態1にかかる計算プロセスメモリ使用量テーブルを説明した図である。It is a figure explaining the calculation process memory usage table concerning Embodiment 1. FIG. 実施の形態1にかかる計算プロセスメモリ使用量テーブルを説明した図である。It is a figure explaining the calculation process memory usage table concerning Embodiment 1. FIG. 実施の形態1にかかる計算プロセスメモリ使用量テーブルの集計テーブルを説明した図である。FIG. 10 is a diagram for explaining an aggregation table of a calculation process memory usage table according to the first embodiment; 実施の形態1にかかる集計テーブルの情報をグラフ化した図である。FIG. 3 is a graph of information of a tabulation table according to the first exemplary embodiment. 実施の形態1にかかるチェックポイント実施指示に関する情報を説明した図である。FIG. 6 is a diagram for explaining information regarding a checkpoint execution instruction according to the first embodiment; 実施の形態1にかかるチェックポイント実施指示記録部に保存される情報テーブルを説明した図である。It is a figure explaining the information table preserve | saved at the checkpoint execution instruction | indication recording part concerning Embodiment 1. FIG. 実施の形態1にかかるメモリ使用量の記録処理の流れを説明した図である。FIG. 6 is a diagram for explaining a flow of a memory usage amount recording process according to the first embodiment; 実施の形態1にかかるチェックポイント実施指示の作成処理の流れを説明した図である。FIG. 10 is a diagram for explaining a flow of processing for creating a checkpoint execution instruction according to the first embodiment; 実施の形態1にかかるチェックポイント実施処理の流れを説明した図である。FIG. 6 is a diagram for explaining a flow of checkpoint execution processing according to the first exemplary embodiment; 実施の形態3にかかるバルクジョブメモリ使用量テーブルを説明した図である。FIG. 10 is a diagram for explaining a bulk job memory usage table according to the third embodiment; 実施の形態4にかかる計算装置の構成図である。FIG. 6 is a configuration diagram of a computing device according to a fourth embodiment. 実施の形態5にかかる同期チェックポイントの動作を説明した図である。FIG. 10 is a diagram for explaining the operation of a synchronous checkpoint according to the fifth embodiment. 実施の形態5にかかる同期チェックポイントの動作を説明した図である。FIG. 10 is a diagram for explaining the operation of a synchronous checkpoint according to the fifth embodiment.

(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて本発明の実施の形態1にかかる計算装置の構成例について説明する。計算装置10は、プロセス11〜13を備えている。また、それぞれのプロセスは、メモリ使用量記録部101と、通信部102とから構成されている。また、計算装置10のそれぞれのプロセスは、通信部102を介して操作端末30と通信を行う。
(Embodiment 1)
Embodiments of the present invention will be described below with reference to the drawings. A configuration example of the computing device according to the first exemplary embodiment of the present invention will be described with reference to FIG. The computing device 10 includes processes 11 to 13. Each process includes a memory usage recording unit 101 and a communication unit 102. In addition, each process of the computing device 10 communicates with the operation terminal 30 via the communication unit 102.

操作端末30は、例えば、サーバ装置や、パーソナルコンピュータ等であってもよい。操作端末30は、プロセス11〜13におけるメモリ使用量を集計し、集計したメモリ使用量に基づいて計算装置10、11及び20におけるチェックポイントを設定する。チェックポイントは、メモリイメージを取得するポイントである。計算装置10において障害が発生し、計算ジョブのリスタートを行う際に、直前のチェックポイントにおいて取得されたメモリイメージを復元し、計算ジョブをリスタートする。操作端末30は、単一のプログラムに対して計算データを分割して実行しているプロセス11〜13からそれぞれのメモリ使用量を収集し、メモリ使用量に関する統計データを生成する。また、操作端末30は、統計データを確認したユーザからチェックポイント設定指示に関する情報入力を受け付ける。   The operation terminal 30 may be, for example, a server device or a personal computer. The operation terminal 30 totals the memory usage in the processes 11 to 13 and sets checkpoints in the computing devices 10, 11, and 20 based on the total memory usage. The check point is a point for acquiring a memory image. When a failure occurs in the computing device 10 and the computation job is restarted, the memory image acquired at the immediately preceding checkpoint is restored and the computation job is restarted. The operation terminal 30 collects the respective memory usage amounts from the processes 11 to 13 that execute the calculation data divided for a single program, and generates statistical data related to the memory usage amounts. In addition, the operation terminal 30 receives information input regarding a checkpoint setting instruction from a user who has confirmed the statistical data.

計算装置10は、設定されたチェックポイントのタイミングにおいて、障害発生時に計算ジョブのリスタートを行うためのメモリイメージを取得する。計算装置10は、複数のプロセスの動作を実行する装置であり、サーバ装置や、パーソナルコンピュータ等であってもよい。それぞれのプロセスは、メモリ使用量記録部101と、通信部102とを備えている。   The computing device 10 acquires a memory image for restarting the computation job when a failure occurs at the set checkpoint timing. The computing device 10 is a device that executes the operations of a plurality of processes, and may be a server device, a personal computer, or the like. Each process includes a memory usage recording unit 101 and a communication unit 102.

メモリ使用量記録部101は、計算ジョブ実行中のメモリ操作命令に応じてメモリ使用量を記録する。メモリ操作命令とは、例えば、プログラムの実行に必要なメモリを確保するメモリ確保命令や、不要なメモリを解放するメモリ解放命令を含む。メモリ使用量記録部101は、例えば、メモリ操作命令の実行指示がなされた場合に、メモリ操作命令の実行前後におけるメモリ使用量を記録してもよい。メモリ操作命令の実行前後のメモリ使用量とは、例えば、メモリ確保命令においては、メモリを確保する前のメモリ使用量とメモリを確保した後のメモリ使用量である。もしくは、メモリ解放命令においては、メモリを解放する前のメモリ使用量とメモリを解放した後のメモリ使用量である。   The memory usage amount recording unit 101 records the memory usage amount according to the memory operation command during execution of the calculation job. The memory operation instruction includes, for example, a memory securing instruction that secures memory necessary for program execution and a memory release instruction that releases unnecessary memory. For example, the memory usage recording unit 101 may record the memory usage before and after the execution of the memory operation instruction when an instruction to execute the memory operation instruction is given. The memory usage before and after the execution of the memory operation instruction is, for example, the memory usage before securing the memory and the memory usage after securing the memory in the memory securing instruction. Or, in the memory release instruction, the memory usage before releasing the memory and the memory usage after releasing the memory.

通信部102は、メモリ使用量記録部101において記録されたメモリ使用量を操作端末30に対して送信する。通信部102は、メモリ使用量記録部101に記録されている情報が更新されるたびにメモリ使用量を操作端末30に対して送信してもよく、定期的にメモリ使用量記録部101に記録されているメモリ使用量を操作端末30に対して送信してもよい。また、通信部102は、メモリ使用量を外部記憶装置等へ記憶し、操作端末30は、外部記憶装置等に記憶されたメモリ使用量を取得するようにしてもよい。   The communication unit 102 transmits the memory usage recorded in the memory usage recording unit 101 to the operation terminal 30. The communication unit 102 may transmit the memory usage amount to the operation terminal 30 every time the information recorded in the memory usage amount recording unit 101 is updated, and periodically record the memory usage amount in the memory usage amount recording unit 101. The used memory usage may be transmitted to the operation terminal 30. The communication unit 102 may store the memory usage in an external storage device or the like, and the operation terminal 30 may acquire the memory usage stored in the external storage device or the like.

以上説明したように、図1にかかる計算装置10を用いることにより、チェックポイントを設定する操作端末30に対して、計算装置10におけるメモリ使用量を送信することができる。これにより、操作端末30を操作するユーザは、メモリ使用量を考慮したチェックポイントを設定することができる。例えば、メモリ使用量が少ないタイミングに、チェックポイントを設定することにより、取得するメモリイメージの容量が増大することを防止することができる。   As described above, by using the computing device 10 according to FIG. 1, the memory usage in the computing device 10 can be transmitted to the operation terminal 30 that sets a checkpoint. Thereby, the user who operates the operation terminal 30 can set a check point in consideration of the memory usage. For example, by setting a check point at a timing when the memory usage is small, it is possible to prevent an increase in the capacity of the acquired memory image.

また、本図においては、計算装置10が複数のプロセスを有する構成について説明したが、複数の計算装置が単一もしくは複数のプロセスを有してもよい。   In addition, although the configuration in which the computing device 10 has a plurality of processes has been described in this figure, the plurality of computing devices may have a single or a plurality of processes.

続いて、図2を用いて本発明の実施の形態1にかかる演算処理システムの構成例について説明する。演算処理システムは、計算装置10と、操作端末30と、記憶装置40とから構成されている。また、計算装置10と、操作端末30と、記憶装置40とは、ネットワーク50を介して通信を行う。   Next, a configuration example of the arithmetic processing system according to the first exemplary embodiment of the present invention will be described with reference to FIG. The arithmetic processing system includes a calculation device 10, an operation terminal 30, and a storage device 40. Further, the computing device 10, the operation terminal 30, and the storage device 40 communicate via the network 50.

計算装置10は、複数のプロセスを用いて計算ジョブもしくはプログラムを実行する装置である。計算装置10は、計算ノード等と称されてもよい。また、計算ジョブは、複数のプロセス及びメモリに分散して並列的に処理される分散メモリ並列ジョブと称されてもよい。   The computing device 10 is a device that executes a computation job or program using a plurality of processes. The computing device 10 may be referred to as a computation node or the like. The calculation job may also be referred to as a distributed memory parallel job that is distributed to a plurality of processes and memories and processed in parallel.

操作端末30は、ユーザから入力される指示情報を、ネットワーク50を介して計算装置10へ出力する。ユーザから入力される指示情報は、計算ジョブの実行指示や、計算装置10におけるチェックポイントの設定指示等を含む。   The operation terminal 30 outputs instruction information input from the user to the computing device 10 via the network 50. The instruction information input from the user includes a calculation job execution instruction, a checkpoint setting instruction in the calculation apparatus 10, and the like.

記憶装置40は、計算装置10において計算ジョブを実行するにあたり必要なデータを記憶する装置である。本図においては、記憶装置40は、独立した装置として説明しているが、例えば、計算装置10又は操作端末30に備えられてもよい。もしくは、記憶装置40は、計算装置10及び操作端末30に備えられてもよい。また、本図においては、操作端末30は、ネットワーク50を介して計算装置10と通信を行う構成について説明しているが、計算装置10と直接接続して通信を行ってもよい。   The storage device 40 is a device that stores data necessary for executing a calculation job in the calculation device 10. In the figure, the storage device 40 is described as an independent device, but may be provided in the computing device 10 or the operation terminal 30, for example. Alternatively, the storage device 40 may be provided in the calculation device 10 and the operation terminal 30. In addition, although the configuration in which the operation terminal 30 communicates with the computing device 10 via the network 50 has been described in this figure, the operation terminal 30 may communicate directly with the computing device 10.

続いて、図3を用いて本発明の実施の形態1にかかる計算装置10の詳細な構成例について説明する。計算装置10は、複数の計算プロセスから構成される。以下に、複数の計算プロセスのうち計算プロセス120の構成例について説明する。なお、他の計算プロセスの構成も計算プロセス120の構成と同様である。   Next, a detailed configuration example of the calculation apparatus 10 according to the first embodiment of the present invention will be described with reference to FIG. The computing device 10 is composed of a plurality of computation processes. Below, the structural example of the calculation process 120 is demonstrated among several calculation processes. The configuration of other calculation processes is the same as that of the calculation process 120.

計算プロセス120は、メモリ使用量記録部101と、通信部102と、ユーザプログラム103と、分散メモリ並列部106と、チェックポイント実施指示記録部107と、メモリ操作命令実行位置記録部108と、メモリ管理部109と、チェックポイント実施部110とを備えている。分散メモリ並列部106は、メモリ操作命令実行部104と、同期命令実行部105と、を有している。   The calculation process 120 includes a memory usage recording unit 101, a communication unit 102, a user program 103, a distributed memory parallel unit 106, a checkpoint execution instruction recording unit 107, a memory operation instruction execution position recording unit 108, a memory A management unit 109 and a checkpoint execution unit 110 are provided. The distributed memory parallel unit 106 includes a memory operation instruction execution unit 104 and a synchronous instruction execution unit 105.

ユーザプログラム103は、複数の計算プロセスを用いて実行されるプログラムである。つまり、ユーザプログラム103は、各計算プロセスにおいて計算を実行するために必要な命令列が規定されている。   The user program 103 is a program executed using a plurality of calculation processes. That is, the user program 103 defines a sequence of instructions necessary for executing calculations in each calculation process.

分散メモリ並列部106は、計算プロセス120においてユーザプログラム103を実行するために用いられる複数のライブラリが格納されている。分散メモリ並列部106に格納されているライブラリが提供する機能には、メモリ操作命令もしくは同期命令等が含まれている。ここで、分散メモリ並列部106において、メモリ操作命令を実行する要素をメモリ操作命令実行部104とし、同期命令を実行する要素を同期命令実行部105とする。   The distributed memory parallel unit 106 stores a plurality of libraries used for executing the user program 103 in the calculation process 120. The functions provided by the library stored in the distributed memory parallel unit 106 include a memory operation instruction or a synchronization instruction. Here, in the distributed memory parallel unit 106, an element that executes a memory operation instruction is a memory operation instruction execution unit 104, and an element that executes a synchronization instruction is a synchronization instruction execution unit 105.

メモリ操作命令は、ユーザプログラム103を実行するにあたり必要なメモリの確保もしくは不要なメモリの解放をメモリ管理部109に依頼する命令である。同期命令は、例えば、複数の計算プロセスにおいて計算ジョブが実行されるSPMDプログラムにおいて全計算プロセスの待ち合わせを実行する命令である。   The memory operation command is a command for requesting the memory management unit 109 to secure a memory necessary for executing the user program 103 or release an unnecessary memory. For example, the synchronization instruction is an instruction for waiting for all the calculation processes in an SPMD program in which calculation jobs are executed in a plurality of calculation processes.

メモリ使用量記録部101は、メモリ操作命令が実行される前後のメモリ使用量と、メモリ操作命令実行位置記録部108とに記録されたメモリ操作命令実行位置を記録する。また、メモリ使用量記録部101は、通信部102を介して記憶装置40へ、記録したメモリ使用量を送信する。もしくは、メモリ使用量記録部101は、通信部102を介して操作端末30へ記録したメモリ使用量を通知してもよい。   The memory usage recording unit 101 records the memory usage before and after the memory operation command is executed, and the memory operation command execution position recorded in the memory operation command execution position recording unit 108. Further, the memory usage recording unit 101 transmits the recorded memory usage to the storage device 40 via the communication unit 102. Alternatively, the memory usage amount recording unit 101 may notify the recorded memory usage amount to the operation terminal 30 via the communication unit 102.

メモリ操作命令実行位置記録部108は、メモリ操作命令及び同期命令を実行する際に呼び出され、メモリ操作命令の実行位置を記録する。メモリ操作命令実行位置記録部108は、図4に示されるテーブル108−1の形式によりメモリ操作命令の実行位置を記録してもよい。メモリ操作命令の実行位置は、同期命令が実行された回数と、メモリ操作命令が実行された回数を用いて定められる。本図においては、例えば、メモリ操作命令実行部104において実行されたメモリ操作命令は、同期命令がまだ実行されておらず、メモリ確保命令及びメモリ確保命令がそれぞれ1回実行された位置であることを示している。   The memory operation instruction execution position recording unit 108 is called when executing the memory operation instruction and the synchronization instruction, and records the execution position of the memory operation instruction. The memory operation instruction execution position recording unit 108 may record the execution position of the memory operation instruction in the format of the table 108-1 shown in FIG. The execution position of the memory operation instruction is determined using the number of times that the synchronization instruction is executed and the number of times that the memory operation instruction is executed. In this figure, for example, the memory operation instruction executed in the memory operation instruction execution unit 104 is a position where the synchronization instruction has not been executed yet, and the memory reservation instruction and the memory reservation instruction are each executed once. Is shown.

図3に戻り、チェックポイント実施指示記録部107は、チェックポイント実施指示において指定された位置と、メモリ操作命令実行位置記録部108に記録されているメモリ操作命令の実行位置とから、チェックポイント実施可否を判定する。チェックポイント実施指示は、ユーザから入力された情報に基づいて操作端末30が生成する情報である。チェックポイント実施指示には、チェックポイントを実施する位置が示されている。チェックポイント実施可能と判定した場合、チェックポイント実施指示記録部107は、チェックポイント実施部110を呼び出してチェックポイントを実施する。ここで、チェックポイントの実施とは、チェックポイントを設定しメモリイメージを採取することを意図する。   Returning to FIG. 3, the checkpoint execution instruction recording unit 107 executes the checkpoint execution from the position specified in the checkpoint execution instruction and the execution position of the memory operation instruction recorded in the memory operation instruction execution position recording unit 108. Judgment is made. The checkpoint execution instruction is information generated by the operation terminal 30 based on information input from the user. The checkpoint execution instruction indicates the position where the checkpoint is executed. When it is determined that the checkpoint can be executed, the checkpoint execution instruction recording unit 107 calls the checkpoint execution unit 110 to execute the checkpoint. Here, execution of a checkpoint is intended to set a checkpoint and collect a memory image.

チェックポイント実施部110は、実行中の計算プロセスのメモリイメージを記憶装置40に記憶する。メモリ管理部109は、メモリの確保や解放等を実行し、計算プロセスが利用するメモリを管理する。   The checkpoint execution unit 110 stores the memory image of the calculation process being executed in the storage device 40. The memory management unit 109 manages the memory used by the calculation process by securing and releasing the memory.

続いて、図5を用いて本発明の実施の形態1にかかる操作端末30の構成例について説明する。操作端末30は、ユーザに対して計算ジョブのメモリ使用量を表示し、ユーザから計算装置10に対する操作指示に関する情報を受け付ける。   Next, a configuration example of the operation terminal 30 according to the first embodiment of the present invention will be described with reference to FIG. The operation terminal 30 displays the memory usage of the calculation job for the user, and receives information related to an operation instruction for the calculation apparatus 10 from the user.

メモリ使用量取得部31は、記憶装置40に記憶されたメモリ使用量に関する情報を抽出する。もしくは、メモリ使用量取得部31は、計算装置10のメモリ使用量記録部101からメモリ使用量に関する情報を受け取ってもよい。メモリ使用量取得部31は、メモリ使用量に関する情報として、図6のように管理された計算ジョブメモリ使用量テーブル101−1を受け取ってもよい。以下に、計算ジョブメモリ使用量テーブル101−1の構成について説明する。   The memory usage acquisition unit 31 extracts information on the memory usage stored in the storage device 40. Alternatively, the memory usage acquisition unit 31 may receive information on the memory usage from the memory usage recording unit 101 of the computing device 10. The memory usage acquisition unit 31 may receive the calculation job memory usage table 101-1 managed as shown in FIG. 6 as information on the memory usage. The configuration of the calculation job memory usage table 101-1 will be described below.

図6の計算ジョブメモリ使用量テーブル101−1は、計算ジョブもしくは実行するユーザプログラムを識別するジョブID101−2と、プロセスID101−3と、計算プロセスメモリ使用量テーブル101−4とから構成される。プロセスID101−3は、計算装置10において実行される計算プロセスの識別子である。また、計算プロセスメモリ使用量テーブル101−4は、各計算プロセスにおいて使用されたメモリ使用量である。計算プロセスメモリ使用量テーブル101−4は、計算プロセス120のメモリ使用量記録部101において記録されたメモリ使用量が設定される。ジョブID101−2は、計算装置10において実行されている計算ジョブの識別子である。ジョブID101−2には、一番若番のプロセスID101−3が設定されてもよい。   The calculation job memory usage table 101-1 in FIG. 6 includes a job ID 101-2 for identifying a calculation job or a user program to be executed, a process ID 101-3, and a calculation process memory usage table 101-4. . The process ID 101-3 is an identifier of a calculation process executed in the calculation apparatus 10. The calculation process memory usage table 101-4 is a memory usage used in each calculation process. In the calculation process memory usage table 101-4, the memory usage recorded in the memory usage recording unit 101 of the calculation process 120 is set. The job ID 101-2 is an identifier of a calculation job being executed in the calculation apparatus 10. The youngest process ID 101-3 may be set as the job ID 101-2.

図5に戻り、メモリ使用量集計部32は、計算ジョブメモリ使用量テーブル101−1に含まれる全てのプロセスID101−3の計算プロセスメモリ使用量テーブル101−4を集計する。操作端末30は、メモリ使用量集計部32において集計した結果を、操作端末30の表示部(図示せず)に表示する。   Returning to FIG. 5, the memory usage totaling unit 32 totals the calculation process memory usage table 101-4 of all process IDs 101-3 included in the calculation job memory usage table 101-1. The operation terminal 30 displays the result obtained by the memory usage totalization unit 32 on the display unit (not shown) of the operation terminal 30.

チェックポイント採取位置作成部33は、ユーザから入力されるチェックポイントを実施するタイミングに関する情報に基づいて、チェックポイント実施指示を作成する。ユーザは、計算プロセスメモリ使用量テーブル101−4の集計結果に基づいて、チェックポイントを実施するタイミングを判断する。   The checkpoint collection position creation unit 33 creates a checkpoint execution instruction based on information regarding the timing for executing the checkpoint input from the user. The user determines the timing for executing the checkpoint based on the totalization result of the calculation process memory usage table 101-4.

続いて、図7を用いて、計算プロセスメモリ使用量テーブル7−1の構成例について説明する。計算プロセスメモリ使用量テーブル7−1は、メモリ操作命令種別と、メモリ操作命令実行位置と、メモリ操作命令実行時刻と、使用メモリとから構成される表である。   Next, a configuration example of the calculation process memory usage table 7-1 will be described with reference to FIG. The calculation process memory usage table 7-1 is a table composed of a memory operation instruction type, a memory operation instruction execution position, a memory operation instruction execution time, and a used memory.

メモリ操作種別は、実行されたメモリ操作命令の種別であり、例えば、メモリ確保命令もしくはメモリ解放命令が設定される。メモリ操作命令実行位置は、実行されたメモリ操作命令が、実行中の計算のどの位置で呼び出されたかを示している。本実施の形態においては、位置情報として、同期命令の実行回数と、同期命令以降にメモリ操作命令を実行した回数をメモリ操作命令種別ごとにカウントした値を用いる。   The memory operation type is the type of the executed memory operation command, and for example, a memory allocation command or a memory release command is set. The memory operation instruction execution position indicates at which position of the executed calculation the executed memory operation instruction is called. In the present embodiment, as the position information, a value obtained by counting the number of executions of the synchronization instruction and the number of executions of the memory operation instruction after the synchronization instruction for each memory operation instruction type is used.

メモリ操作命令実行時刻は、メモリ操作命令が実行された時刻を示す。メモリ操作命令実行時刻に設定される時刻は、計算プロセス120が計算ジョブの実行を開始した時から経過した時間である。   The memory operation instruction execution time indicates the time when the memory operation instruction is executed. The time set as the memory operation instruction execution time is the time that has elapsed since the calculation process 120 started executing the calculation job.

使用メモリは、メモリ操作命令の実行前後における計算プロセスのメモリ使用量を示している。また、図8に、計算装置10内の他の計算プロセスにおいて記録された計算プロセスメモリ使用量テーブル8−1を示す。   The used memory indicates the memory usage of the calculation process before and after the execution of the memory operation instruction. FIG. 8 shows a calculation process memory usage table 8-1 recorded in another calculation process in the calculation apparatus 10.

続いて、図9を用いて、メモリ使用量集計部32における、計算プロセスメモリ使用量テーブル7−1及び8−1を集計したテーブルについて説明する。メモリ使用量集計部32は、計算プロセスメモリ使用量テーブル7−1及び8−1において、メモリ操作命令種別及びメモリ操作命令実行位置が等しい行を抽出し、メモリ操作命令種別およびメモリ操作命令実行位置を設定する。メモリ使用量集計部32は、抽出した行を比較してメモリ操作命令実行時刻が最も遅い時刻を、メモリ操作命令実行時刻に設定する。さらに、メモリ使用量集計部32は、抽出した行の使用メモリの合計を算出し、算出した値を使用メモリに設定する。使用メモリの合計は、実行前と実行後に分けて算出される。   Next, a table in which the calculation process memory usage tables 7-1 and 8-1 in the memory usage totaling unit 32 are tabulated will be described with reference to FIG. The memory usage totaling unit 32 extracts lines having the same memory operation instruction type and memory operation instruction execution position in the calculation process memory usage tables 7-1 and 8-1, and the memory operation instruction type and the memory operation instruction execution position. Set. The memory usage totaling unit 32 compares the extracted rows and sets the time when the memory operation instruction execution time is the latest as the memory operation instruction execution time. Further, the memory usage totaling unit 32 calculates the total used memory of the extracted rows and sets the calculated value in the used memory. The total used memory is calculated separately before and after execution.

例えば、メモリ使用量集計部32は、図7及び図8における、メモリ操作命令種別としてメモリ確保、メモリ操作命令実行位置として同期命令実行回数が1回目、メモリ操作命令種別ごとの実行回数が1回目である行を抽出する。抽出した行のメモリ操作命令実行時刻は、図7の方が10と遅いため、メモリ操作命令実行時刻には10を設定する。さらに、実行前の使用メモリは、図7及び図8ともに50であるため、合計して100を設定する。実行後の使用メモリは、図7が100であり、図8が150であるため、合計して250を設定する。その他の行についても同様に設定される。   For example, in FIG. 7 and FIG. 8, the memory usage totaling unit 32 secures the memory as the memory operation instruction type, the first execution time of the synchronous instruction as the execution position of the memory operation instruction, and the first execution time for each memory operation instruction type. Extract lines that are Since the memory operation instruction execution time of the extracted row is later as 10 in FIG. 7, 10 is set as the memory operation instruction execution time. Further, since the used memory before execution is 50 in both FIGS. 7 and 8, 100 is set in total. Since the memory used after execution is 100 in FIG. 7 and 150 in FIG. 8, 250 is set in total. The same is set for the other lines.

続いて、図10を用いてメモリ使用量集計部32が集計した集計データを操作端末30の表示部に表示した結果について説明する。図10のグラフは、縦軸にメモリ使用量を示し、横軸に呼び出し時刻を示す。図10のグラフは、図9の集計データに基づいて作成される。呼び出し時刻10においては、メモリ確保命令の実行前の使用メモリは100であり、メモリ確保命令の実行後の使用メモリは250であることを示している。さらに、時刻25においては、メモリ解放命令の実行前の使用メモリは350であり、メモリ確保命令の実行後の使用メモリは150であることを示している。さらに、時刻40においては、メモリ解放命令の実行前の使用メモリは150であり、メモリ確保命令の実行後の使用メモリは250であることを示している。   Next, a result of displaying the aggregate data aggregated by the memory usage aggregation unit 32 on the display unit of the operation terminal 30 will be described with reference to FIG. In the graph of FIG. 10, the vertical axis indicates the memory usage, and the horizontal axis indicates the call time. The graph of FIG. 10 is created based on the aggregated data of FIG. At the call time 10, the memory used before execution of the memory allocation instruction is 100, and the memory used after execution of the memory allocation instruction is 250. Further, at time 25, the used memory before execution of the memory release instruction is 350, and the used memory after execution of the memory allocation instruction is 150. Further, at time 40, the used memory before execution of the memory release instruction is 150, and the used memory after execution of the memory allocation instruction is 250.

続いて、図11を用いて、チェックポイント採取位置作成部33において作成されたチェックポイント実施指示11−1について説明する。チェックポイント実施指示11−1は、同期命令実行回数が0回目かつメモリ解放命令実行回数が1回目の後であって、同期命令実行回数が1回目且つメモリ確保命令実行回数が1回目の前に、チェックポイントを設定することを示している。   Next, the checkpoint execution instruction 11-1 created in the checkpoint collection position creation unit 33 will be described with reference to FIG. The checkpoint execution instruction 11-1 is that the synchronous instruction execution count is 0th and the memory release instruction execution count is after the first time, the synchronous instruction execution count is the first time, and the memory allocation instruction execution count is before the first time. , Indicate that you want to set a checkpoint.

また、図12は、操作端末30からチェックポイント実施指示を受信した計算装置10のチェックポイント実施指示記録部107に保存されるテーブルを示している。図12のテーブル12−1は、同期命令実行回数が0回目であって、メモリ確保命令実行回数が1回目の前であってメモリ解放命令実行回数が1回目の後にチェックポイントを設定することを示している。   FIG. 12 shows a table stored in the checkpoint execution instruction recording unit 107 of the computing device 10 that has received the checkpoint execution instruction from the operation terminal 30. The table 12-1 of FIG. 12 indicates that the checkpoint is set after the synchronous instruction execution number is 0, the memory allocation instruction execution number is before the first time, and the memory release instruction execution number is the first time. Show.

続いて、図13を用いて計算プロセス120におけるメモリ使用量の記録処理の流れについて説明する。計算ジョブは、計算装置10において複数の計算プロセスにおいて実行される。本図においては、1つの計算プロセスに着目して、メモリ使用量の記録処理の流れについて説明する。   Next, the flow of the memory usage recording process in the calculation process 120 will be described with reference to FIG. The calculation job is executed in a plurality of calculation processes in the calculation apparatus 10. In this figure, focusing on one calculation process, the flow of memory usage recording processing will be described.

はじめに、計算プロセス120において計算ジョブの実行中に、同期命令実行部105において、同期命令の実行指示がなされた場合(S11:YES)、メモリ操作命令実行位置記録部108は、同期命令実行回数を1増加し、メモリ操作命令実行回数を0に初期化する(S12)。次に、同期命令実行部105は、同期命令を実行しステップS11以降の処理に戻る。   First, during execution of a calculation job in the calculation process 120, when an instruction to execute a synchronous instruction is issued in the synchronous instruction execution unit 105 (S11: YES), the memory operation instruction execution position recording unit 108 determines the number of synchronous instruction executions. 1 is incremented, and the memory operation instruction execution count is initialized to 0 (S12). Next, the synchronous command execution unit 105 executes the synchronous command and returns to the processing after step S11.

計算ジョブの実行中に、同期命令の実行指示がなされず(S11:NO)、メモリ操作命令実行部104において、メモリ操作命令の実行指示がなされた場合(S11:YES)、メモリ操作命令実行位置記録部108は、メモリ種別に対応したメモリ操作命令実行回数を1増加する(S15)。次に、メモリ使用量記録部101は、メモリ操作命令実行位置記録部108を参照し、同期命令実行回数と種別に応じたメモリ操作命令実行回数とをメモリ操作命令実行位置として、実行したメモリ操作命令の種別、メモリ操作命令実行時刻及びメモリ操作命令実行前後のメモリ使用量を、図7もしくは図8において説明した形式を用いて記録する(S16)。次に、メモリ操作命令実行部104は、メモリ操作命令を実行しステップS11以降の処理に戻る。   When the execution instruction of the synchronous instruction is not issued during execution of the calculation job (S11: NO) and the execution instruction of the memory operation instruction is issued in the memory operation instruction execution unit 104 (S11: YES), the memory operation instruction execution position The recording unit 108 increases the number of memory operation command executions corresponding to the memory type by 1 (S15). Next, the memory usage amount recording unit 101 refers to the memory operation instruction execution position recording unit 108, and executes the memory operation executed with the number of synchronous instruction executions and the number of memory operation instruction executions according to the type as the memory operation instruction execution position. The instruction type, the memory operation instruction execution time, and the memory usage before and after the memory operation instruction execution are recorded using the format described in FIG. 7 or FIG. 8 (S16). Next, the memory operation instruction execution unit 104 executes the memory operation instruction and returns to the processing after step S11.

計算ジョブの実行中に、メモリ操作命令の実行指示がなされず(S14:NO)、実行中のユーザプログラムが終了していない場合(S18:NO)、ステップS11以降の処理を繰り返す。実行中のユーザプログラムが終了した場合、メモリ使用量記録部101に記録されている情報を、記憶装置40へ出力する(S19)。記憶装置40は、出力された情報を計算ジョブ使用量テーブルの計算プロセスメモリ使用量テーブルに記憶する。   If the execution instruction of the memory operation instruction is not issued during the execution of the calculation job (S14: NO) and the user program being executed has not been completed (S18: NO), the processes after step S11 are repeated. When the user program being executed is terminated, the information recorded in the memory usage recording unit 101 is output to the storage device 40 (S19). The storage device 40 stores the output information in the calculation process memory usage table of the calculation job usage table.

続いて、図14を用いて操作端末30におけるチェックポイント実施指示の作成処理の流れについて説明する。   Next, a flow of a checkpoint execution instruction creation process in the operation terminal 30 will be described with reference to FIG.

はじめに、メモリ使用量取得部31は、記憶装置40から計算ジョブ使用量テーブルを取得する(S21)。次に、メモリ使用量集計部32は、計算ジョブ使用量テーブルの全プロセスを集計する(S22)。具体的には、図9において説明した集計テーブルを生成する。次に、メモリ使用量集計部32は、図9おいて説明した集計テーブルを図10のようにグラフ化して、操作端末30の表示部へ表示させる(S23)。次に、チェックポイント採取位置作成部33は、ユーザからチェックポイント実施個所に関する情報の入力を受け付ける(S24)。次に、チェックポイント採取位置作成部33は、ユーザから入力された情報に基づいて、チェックポイント実施指示を作成する(S25)。生成されたチェックポイント実施指示は、ネットワーク50を介して操作端末30から計算装置10へ送信される。   First, the memory usage amount acquisition unit 31 acquires a calculation job usage amount table from the storage device 40 (S21). Next, the memory usage totaling unit 32 totals all processes in the calculation job usage table (S22). Specifically, the aggregation table described in FIG. 9 is generated. Next, the memory usage totaling unit 32 graphs the totaling table described in FIG. 9 as shown in FIG. 10 and displays it on the display unit of the operation terminal 30 (S23). Next, the checkpoint collection position creation unit 33 receives input of information regarding the checkpoint execution location from the user (S24). Next, the checkpoint collection position creation unit 33 creates a checkpoint execution instruction based on information input from the user (S25). The generated checkpoint execution instruction is transmitted from the operation terminal 30 to the computing device 10 via the network 50.

続いて、図15を用いて、計算装置10におけるチェックポイント実施処理の流れについて説明する。はじめに、チェックポイント実施指示記録部107は、操作端末30から送信されたチェックポイント実施指示を受信し、受信したチェックポイント実施指示を読み込む(S31)。次に、ステップS32〜S36の処理は、図13におけるステップS11〜15の処理と同様であるため、詳細な説明を省略する。   Next, the flow of checkpoint execution processing in the computing device 10 will be described with reference to FIG. First, the checkpoint execution instruction recording unit 107 receives the checkpoint execution instruction transmitted from the operation terminal 30, and reads the received checkpoint execution instruction (S31). Next, the processing of steps S32 to S36 is the same as the processing of steps S11 to 15 in FIG.

次に、ステップS36において、メモリ操作命令実行位置記録部108のメモリ操作命令実行位置が更新されると、チェックポイント実施指示記録部107に記録されているチェックポイント実施位置と、メモリ操作命令実行位置記録部108に記録されているメモリ操作命令実行位置とが一致するか否かが判定される(S37)。チェックポイント実施位置と、メモリ操作命令実行位置とが一致する場合(S37:一致)、ステップS35において実行指示がなされたメモリ操作命令のメモリ種別が判定される(S38)。メモリ種別がメモリ確保命令である場合(S38:確保)、チェックポイント実施部110は、メモリイメージを採取し、記憶装置40へ保存する(S39)。次に、メモリ操作命令実行部104は、メモリ確保命令を実行し、ステップS32以降の処理を繰り返す(S40)。ステップS38において、メモリ種別がメモリ解放命令である場合(S38:解放)、メモリ操作命令実行部104は、メモリ解放命令を実行する(S42)。次に、チェックポイント実施部110は、メモリイメージを採取し、記憶装置40へ保存し、ステップS32以降の処理を繰り返す(S42)。   Next, when the memory operation instruction execution position of the memory operation instruction execution position recording unit 108 is updated in step S36, the checkpoint execution position recorded in the checkpoint execution instruction recording unit 107, and the memory operation instruction execution position are recorded. It is determined whether or not the memory operation command execution position recorded in the recording unit 108 matches (S37). When the checkpoint execution position matches the memory operation instruction execution position (S37: match), the memory type of the memory operation instruction for which execution is instructed in step S35 is determined (S38). When the memory type is a memory reservation command (S38: reservation), the checkpoint execution unit 110 collects a memory image and stores it in the storage device 40 (S39). Next, the memory operation instruction execution unit 104 executes a memory allocation instruction, and repeats the processes after step S32 (S40). In step S38, when the memory type is a memory release instruction (S38: release), the memory operation instruction execution unit 104 executes the memory release instruction (S42). Next, the checkpoint execution unit 110 collects a memory image, stores it in the storage device 40, and repeats the processing after step S32 (S42).

ステップS37において、チェックポイント実施位置と、メモリ操作命令実行位置とが一致しない場合(S37:不一致)、ステップS32以降の処理を繰り返す。ステップS43の処理は、図13におけるステップS18と同様であるため詳細な説明を省略する。   In step S37, when the checkpoint execution position and the memory operation instruction execution position do not match (S37: mismatch), the processes in and after step S32 are repeated. Since the process of step S43 is the same as that of step S18 in FIG. 13, detailed description thereof is omitted.

以上説明したように、本発明の実施の形態1にかかる演算処理システムを用いることにより、ユーザはメモリ使用量に基づいてチェックポイントの実施タイミングを決定することができる。そのため、メモリ使用量の少ない位置にチェックポイントを設定することにより、採取するメモリイメージの増大を抑止することができる。   As described above, by using the arithmetic processing system according to the first exemplary embodiment of the present invention, the user can determine the checkpoint execution timing based on the memory usage. Therefore, by setting checkpoints at positions where the memory usage is small, it is possible to suppress an increase in the memory image to be collected.

また、上記の説明においては、ユーザによってチェックポイントの実施タイミングが決定されるように説明を行ったが、例えば、一番メモリ使用量の少ない位置を自動的に判定し、その位置にチェックポイントを設定するようにしてもよい。   In the above description, the checkpoint execution timing is determined by the user. For example, the position with the least memory usage is automatically determined, and the checkpoint is set at that position. You may make it set.

(実施の形態2)
本発明の実施の形態1においては、初回のユーザプログラム実行時におけるメモリ使用量を収集し、収集したデータに基づいて、次回以降のユーザプログラム実行時におけるチェックポイント実施位置を決定する。本発明の実施の形態2においては、初回のユーザプログラム実行時のみではなく、各回においてメモリ使用量を収集し、常に最新のメモリ使用量に応じてチェックポイント実施位置を決定する処理の流れについて説明する。
(Embodiment 2)
In Embodiment 1 of the present invention, the memory usage at the time of the first user program execution is collected, and the checkpoint execution position at the next user program execution is determined based on the collected data. In the second embodiment of the present invention, not only when the first user program is executed, but also the flow of processing for collecting memory usage each time and always determining the checkpoint execution position according to the latest memory usage. To do.

上述した処理を実行するために、図15のステップS36とステップS37との間において、メモリ使用量記録部101を更新する。つまり、メモリ使用量記録部101は、メモリ操作命令実行位置記録部108を参照し、同期命令実行回数と種別に応じたメモリ操作命令実行回数とをメモリ操作命令実行位置として、実行したメモリ操作命令の種別、メモリ操作命令実行時刻及びメモリ操作命令実行前後のメモリ使用量を、図7もしくは図8において説明した形式を用いて記録する。   In order to execute the above-described processing, the memory usage amount recording unit 101 is updated between step S36 and step S37 in FIG. That is, the memory usage amount recording unit 101 refers to the memory operation instruction execution position recording unit 108 and executes the memory operation instruction executed with the synchronous operation execution number and the memory operation instruction execution number corresponding to the type as the memory operation instruction execution position. , The memory operation instruction execution time, and the memory usage before and after the memory operation instruction execution are recorded using the format described in FIG. 7 or FIG.

さらに、図15のステップS43の後に、メモリ使用量記録部101に記録されている情報を、記憶装置40へ出力する。このようにして、チェックポイント実施処理とメモリ使用量の記録処理を同一のユーザプログラム実行時に行うことにより、メモリ使用量は常に更新され、ユーザに対して最新のメモリ使用量を確認させることができる。また、ユーザは最新のメモリ使用量に応じてチェックポイントを設定することができるため、より最適なチェックポイント位置を設定することができる。   Further, after step S43 in FIG. 15, the information recorded in the memory usage amount recording unit 101 is output to the storage device 40. In this way, by performing the checkpoint execution process and the memory usage recording process during execution of the same user program, the memory usage is constantly updated, allowing the user to check the latest memory usage. . Further, since the user can set checkpoints according to the latest memory usage, a more optimal checkpoint position can be set.

(実施の形態3)
続いて、図16を用いて本発明の実施の形態3にかかるメモリ使用量の算出方法について説明する。実施の形態3においては、同じプログラムの実行を複数回繰り返すパラメータサーベイを前提として説明を行う。パラメータサーベイを実行する場合、過去に実行されたプログラムにおけるメモリ使用量の平均を計算して、ユーザに対して平均結果に関するメモリ使用量を確認させてもよい。
(Embodiment 3)
Next, a memory usage calculation method according to the third embodiment of the present invention will be described with reference to FIG. The third embodiment will be described on the assumption of a parameter survey in which execution of the same program is repeated a plurality of times. When executing the parameter survey, the average of the memory usage in the program executed in the past may be calculated to allow the user to confirm the memory usage related to the average result.

例えば、図16にバルクジョブメモリ使用量テーブル16−1を示す。バルクジョブメモリ使用量テーブル16−1は、パラメータサーベイを行う全計算ジョブにバルクジョブID16−2を割り当てる。バルクジョブメモリ使用量テーブル16−1は、図6において説明した計算ジョブメモリ使用量テーブル101−1をまとめて保存する。ジョブID毎に作成された計算プロセスメモリ使用量テーブルにおいて、メモリ操作種別とメモリ操作実行位置が同じ行同士において、メモリ操作命令実行時刻及び使用メモリの平均をとる。   For example, FIG. 16 shows a bulk job memory usage table 16-1. The bulk job memory usage table 16-1 assigns a bulk job ID 16-2 to all calculation jobs for which parameter survey is performed. The bulk job memory usage table 16-1 collectively stores the calculation job memory usage table 101-1 described with reference to FIG. In the calculation process memory usage table created for each job ID, the memory operation instruction execution time and the average of the used memory are taken in the same row between the memory operation type and the memory operation execution position.

以上説明したように、本発明の実施の形態3におけるメモリ使用量の算出方法を用いることにより、初回のメモリ使用量のみならず、過去に実行されたプログラムにおけるメモリ使用量をすべて反映させることができるため、ユーザに対してより正確なメモリ使用量を確認させることができる。   As described above, by using the memory usage calculation method according to the third embodiment of the present invention, it is possible to reflect not only the initial memory usage but also the memory usage in the program executed in the past. Therefore, it is possible to make the user confirm the more accurate memory usage.

(実施の形態4)
続いて、図17を用いて本発明の実施の形態4にかかる計算プロセス120の構成例について説明する。図17の計算プロセス120は、図3における計算プロセス120に、チェックポイント要求記録部111を追加した点において異なる。その他の構成は、図3における計算プロセス120と同様である。
(Embodiment 4)
Next, a configuration example of the calculation process 120 according to the fourth embodiment of the present invention will be described with reference to FIG. The calculation process 120 in FIG. 17 differs from the calculation process 120 in FIG. 3 in that a checkpoint request recording unit 111 is added. Other configurations are the same as those of the calculation process 120 in FIG.

チェックポイント要求記録部111は、計算ジョブ実行前に決定されるチェックポイント採取指示とは別に、計算ジョブ実行中にユーザから要求されるチェックポイント採取指示を記録する。計算ジョブ実行中にユーザからチェックポイント採取指示があった場合、ユーザプログラム103は、チェックポイント要求記録部111に対して、ユーザからチェックポイントが要求されたことを記録する。   The checkpoint request recording unit 111 records a checkpoint collection instruction requested by the user during execution of the calculation job, separately from the checkpoint collection instruction determined before execution of the calculation job. When there is a checkpoint collection instruction from the user during execution of the calculation job, the user program 103 records that a checkpoint is requested by the user to the checkpoint request recording unit 111.

また、図15のステップS31とステップ32との間に、ユーザからチェックポイント要求があったかどうかを判定し、チェックポイント要求があった場合には、チェックポイント要求記録部111に対して、チェックポイントが要求されたことを記録する処理を追加してもよい。さらに、ステップS36とステップS37との間において、チェックポイント要求記録部111に、チェックポイント要求がされたことが記録されている場合には、ステップS38以降におけるチェックポイントを実施するようにしてもよい。また、チェックポイント要求記録部111に記録されているチェックポイント要求に関しては、チェックポイント実施後に消去するようにしてもよい。   Further, it is determined whether or not there is a checkpoint request from the user between step S31 and step 32 in FIG. 15. If there is a checkpoint request, the checkpoint is recorded to the checkpoint request recording unit 111. A process for recording the request may be added. Further, if the checkpoint request recording unit 111 records that a checkpoint is requested between step S36 and step S37, checkpoints in step S38 and subsequent steps may be performed. . The checkpoint request recorded in the checkpoint request recording unit 111 may be deleted after the checkpoint is performed.

以上説明したように、本発明の実施の形態4にかかる計算プロセス120を用いることにより、任意のタイミングにおいてチェックポイントの設定を行うことができる。そのため、ユーザが必要と判断したタイミングにおいてチェックポイントの設定を行うことができるため、ユーザにとって必要なデータの収集が可能となる。   As described above, checkpoints can be set at arbitrary timings by using the calculation process 120 according to the fourth embodiment of the present invention. For this reason, checkpoints can be set at a timing that the user determines to be necessary, so that data necessary for the user can be collected.

(実施の形態5)
続いて、本発明の実施の形態5にかかるチェックポイント実施処理について説明する。実施の形態5においては、全プロセスでチェックポイントの実施を待ち合わせ、プロセス間の通信状態等の不整合を解消した後、同時にチェックポイントを実施する方法について説明する。このようなチェックポイントの実施方法を同期チェックポイントとする。
(Embodiment 5)
Next, a checkpoint execution process according to the fifth embodiment of the present invention will be described. In the fifth embodiment, a description will be given of a method in which checkpoints are waited for in all processes, checkpoints are simultaneously performed after inconsistencies such as a communication state between processes are resolved. Such a checkpoint execution method is referred to as a synchronous checkpoint.

ここで、図18を用いて通信命令を跨いでメモリ操作命令が実行される場合における同期チェックポイントについて説明する。図18Aは、プロセス1及び2におけるメモリ操作処理を示している。プロセス1は、メモリ確保命令を実行し、さらにメモリ解放命令が実行された後に、プロセス2との間における通信命令を実行する。プロセス2は、メモリ確保命令を実行した後に、プロセス1との間における通信命令を実行し、その後にメモリ解放命令を実行する。   Here, a synchronous checkpoint when a memory operation command is executed across communication commands will be described with reference to FIG. FIG. 18A shows memory operation processing in processes 1 and 2. Process 1 executes a memory allocation instruction, and further executes a communication instruction with process 2 after a memory release instruction is executed. The process 2 executes the communication instruction with the process 1 after executing the memory allocation instruction, and then executes the memory release instruction.

図18B及びCは、プロセス1又はプロセス2におけるチェックポイント採取位置作成部33において作成されたチェックポイント実施指示11−1を示している。チェックポイントは、18−1及び18−2において示された場所において実施される。   18B and 18C show the checkpoint execution instruction 11-1 created in the checkpoint collection position creation unit 33 in the process 1 or process 2. Checkpoints are performed at the locations indicated in 18-1 and 18-2.

ここで、同期チェックポイントを実施する場合、プロセス1が、18−2のメモリ解放命令の実行後にチェックポイントを実施しようとしてプロセス2を待ち合せる。しかし、プロセス2は、18−2のメモリ解放命令の前の通信命令でプロセス1の通信を待ち合せる。そのため、チェックポイントを実施することができずデッドロックが発生してしまう。   Here, when performing the synchronous checkpoint, the process 1 waits for the process 2 to perform the checkpoint after executing the memory release instruction 18-2. However, the process 2 waits for the communication of the process 1 by the communication command before the memory release command 18-2. Therefore, a checkpoint cannot be performed and a deadlock occurs.

そこで、メモリ操作命令実行位置の表現形式を、同期命令実行回数及びメモリ操作命令種別ごとの実行回数の組み合わせから、同期命令実行回数及びメモリ操作命令の実行アドレスに変更して、同期チェックポイントを実行するようにする。メモリ操作命令の実行アドレスは、メモリ上にロードされたプログラムの命令列の先頭からのアドレスである。   Therefore, the synchronization checkpoint is executed by changing the expression format of the memory operation instruction execution position from the combination of the execution count of the synchronous instruction and the execution count for each type of memory operation instruction to the synchronous instruction execution count and the memory operation instruction execution address. To do. The execution address of the memory operation instruction is an address from the head of the instruction sequence of the program loaded on the memory.

具体的には、図19に示されるように、図19B及びCのメモリ操作命令実行位置において、メモリ操作命令実行アドレスを用いる。ここで、図19B及びCに示されるように、通信命令を跨いだメモリ解放命令は、実行アドレスが異なる。そのため、メモリ操作命令実行位置が異なるため、チェックポイントの設定対象から除外することができる。これにより、デッドロックを発生させるような同期チェックポイントを回避し、安全に同期チェックポイントを実施することができる。   Specifically, as shown in FIG. 19, the memory operation instruction execution address is used at the memory operation instruction execution position in FIGS. 19B and 19C. Here, as shown in FIGS. 19B and 19C, the memory release instruction straddling the communication instruction has a different execution address. Therefore, since the memory operation instruction execution position is different, it can be excluded from the checkpoint setting targets. Thereby, a synchronous checkpoint that causes a deadlock can be avoided, and the synchronous checkpoint can be performed safely.

上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、図13における計算装置の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。)   In the above-described embodiments, the present invention has been described as a hardware configuration, but the present invention is not limited to this. The present invention can also realize the processing of the computing device in FIG. 13 by causing a CPU (Central Processing Unit) to execute a computer program. )

上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   In the above example, the program can be stored and supplied to a computer using various types of non-transitory computer readable media. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)) are included. The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。   Note that the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention.

10 計算装置
11 プロセス
12 プロセス
13 プロセス
30 操作端末
31 メモリ使用量取得部
32 メモリ使用量集計部
33 チェックポイント採取位置作成部
40 記憶装置
50 ネットワーク
101 メモリ使用量記録部
102 通信部
103 ユーザプログラム
104 メモリ操作命令実行部
105 同期命令実行部
106 分散メモリ並列部
107 チェックポイント実施指示記録部
108 メモリ操作命令実行位置記録部
109 メモリ管理部
110 チェックポイント実施部
111 チェックポイント要求記録部
120 計算プロセス
DESCRIPTION OF SYMBOLS 10 Computer apparatus 11 Process 12 Process 13 Process 30 Operation terminal 31 Memory usage acquisition part 32 Memory usage totaling part 33 Checkpoint collection position creation part 40 Storage device 50 Network 101 Memory usage recording part 102 Communication part 103 User program 104 Memory Operation instruction execution unit 105 Synchronous instruction execution unit 106 Distributed memory parallel unit 107 Checkpoint execution instruction recording unit 108 Memory operation instruction execution position recording unit 109 Memory management unit 110 Checkpoint execution unit 111 Checkpoint request recording unit 120 Calculation process

Claims (9)

チェックポイント情報に基づいて、障害発生時に計算ジョブのリスタートを行うためのメモリイメージを取得する計算装置であって、
前記計算ジョブ実行中のメモリ操作命令に応じてメモリ使用量を記録するメモリ使用量記録部と、
複数のプロセスにおける前記メモリ使用量を集計し前記集計したメモリ使用量に基づいて前記チェックポイントを設定する操作端末に対して前記メモリ使用量記録部に記録されたメモリ使用量を送信する通信部と、
前記メモリ操作命令の実行回数及び前記複数のプロセスにおける前記計算ジョブの実行を待ち合せる同期命令の実行回数を用いて示される位置情報を記録する位置情報記録部と、
を備え、
前記メモリ使用量記録部は、前記位置情報と前記メモリ使用量とを対応付けて記録する、
算装置。
A calculation device that acquires a memory image for restarting a calculation job when a failure occurs based on checkpoint information,
A memory usage recording unit that records a memory usage in accordance with a memory operation command during execution of the calculation job;
A communication unit that aggregates the memory usage in a plurality of processes and transmits the memory usage recorded in the memory usage recording unit to an operation terminal that sets the checkpoint based on the aggregated memory usage; ,
A position information recording unit for recording position information indicated by using the number of execution times of the memory operation instruction and the number of execution times of a synchronous instruction for waiting for execution of the calculation job in the plurality of processes;
Bei to give a,
The memory usage recording unit records the location information and the memory usage in association with each other;
Calculation apparatus.
前記位置情報は、
前記メモリ操作命令が実行される際に、前記メモリ操作命令の実行回数が増加され、前記同期命令が実行される際に前記同期命令の実行回数が増加される、請求項に記載の計算装置。
The location information is
When the memory operation instruction is executed, the increased number of times the execution of the memory operation command, the synchronization instruction execution count of the synchronization instruction when executed is increased, the computing device according to claim 1 .
前記操作端末から、前記位置情報を用いて前記チェックポイントの設定位置を示すメモリイメージ取得指示に関する情報を受け取る指示情報記録部をさらに備え、
前記指示情報記録部は、
前記メモリ操作命令が実行される際に、前記位置情報記録部に記録されている前記位置情報と、前記メモリイメージ取得指示において示された前記チェックポイントの設定位置情報とが一致する場合に、前記チェックポイントにおける前記メモリイメージを取得する、請求項に記載の計算装置。
An instruction information recording unit that receives information on a memory image acquisition instruction indicating a set position of the checkpoint from the operation terminal using the position information;
The instruction information recording unit
When the memory operation command is executed, when the position information recorded in the position information recording unit matches the set position information of the checkpoint indicated in the memory image acquisition instruction, The computing device according to claim 2 , wherein the memory image at a checkpoint is acquired.
前記計算ジョブが複数回繰り返し実行される場合、
前記メモリ使用量記録部は、
初回に実行される前記計算ジョブ実行中のメモリ操作命令に応じて前記メモリ使用量を記録し、
前記指示情報記録部は、
前記メモリ使用量に基づいて前記操作端末において決定された前記チェックポイントの設定位置を受け取る、請求項に記載の計算装置。
When the calculation job is repeatedly executed multiple times,
The memory usage recording unit
Record the memory usage according to the memory operation instruction during execution of the calculation job executed for the first time,
The instruction information recording unit
The calculation apparatus according to claim 3 , wherein the check point setting position determined in the operation terminal based on the memory usage is received.
前記計算ジョブが複数回繰り返し実行される場合、
前記メモリ使用量記録部は、
前記計算ジョブが実行される毎に前記メモリ使用量を更新し、
前記指示情報記録部は、
前記更新されたメモリ使用量に基づいて前記操作端末において決定された前記チェックポイントの設定位置を受け取る、請求項に記載の計算装置。
When the calculation job is repeatedly executed multiple times,
The memory usage recording unit
Update the memory usage each time the calculation job is executed,
The instruction information recording unit
The calculation device according to claim 3 , wherein the check point setting position determined in the operation terminal based on the updated memory usage is received.
チェックポイント情報に基づいて、障害発生時に計算ジョブのリスタートを行うためのメモリイメージを取得する計算装置であって、
前記計算ジョブ実行中のメモリ操作命令に応じてメモリ使用量を記録するメモリ使用量記録部と、
複数のプロセスにおける前記メモリ使用量を集計し前記集計したメモリ使用量に基づいて前記チェックポイントを設定する操作端末に対して前記メモリ使用量記録部に記録されたメモリ使用量を送信する通信部と、
前記メモリ操作命令を実行する際に操作されるメモリ上の実行アドレス及び前記複数のプロセスにおける前記計算ジョブの実行を待ち合せる同期命令の実行回数を用いて示される位置情報を記録する位置情報記録部と、
を備え、
前記メモリ使用量記録部は、前記位置情報と前記メモリ使用量とを対応付けて記録する
算装置。
A calculation device that acquires a memory image for restarting a calculation job when a failure occurs based on checkpoint information,
A memory usage recording unit that records a memory usage in accordance with a memory operation command during execution of the calculation job;
A communication unit that aggregates the memory usage in a plurality of processes and transmits the memory usage recorded in the memory usage recording unit to an operation terminal that sets the checkpoint based on the aggregated memory usage; ,
A position information recording unit for recording position information indicated by using an execution address on a memory operated when executing the memory operation instruction and a number of executions of a synchronous instruction for waiting for execution of the calculation job in the plurality of processes When,
Bei to give a,
The memory usage recording unit records the location information and the memory usage in association with each other ;
Calculation apparatus.
チェックポイント情報に基づいて、障害発生時に計算ジョブのリスタートを行うためのメモリイメージを取得する計算装置と、前記計算装置に対して前記チェックポイント情報を送信する操作端末とを備える演算処理システムであって、
前記計算装置は、
前記計算ジョブ実行中のメモリ操作命令に応じてメモリ使用量を記録するメモリ使用量記録部と、
前記操作端末に対して前記メモリ使用量記録部に記録されたメモリ使用量を送信する通信部と、
前記メモリ操作命令の実行回数及び複数のプロセスにおける前記計算ジョブの実行を待ち合せる同期命令の実行回数を用いて示される位置情報を記録する位置情報記録部と、
を有し、
前記メモリ使用量記録部は、前記位置情報と前記メモリ使用量とを対応付けて記録し、
前記操作端末は、
複数のプロセスにおける前記メモリ使用量を集計し前記集計したメモリ使用量を表示し、ユーザから前記チェックポイントの設定位置に関する情報の入力を受け付ける、演算処理システム。
An arithmetic processing system comprising: a computing device that acquires a memory image for restarting a computation job when a failure occurs based on checkpoint information; and an operation terminal that transmits the checkpoint information to the computing device There,
The computing device is:
A memory usage recording unit that records a memory usage in accordance with a memory operation command during execution of the calculation job;
A communication unit for transmitting the memory usage recorded in the memory usage recording unit to the operation terminal;
A position information recording unit that records position information indicated by using the number of executions of the memory operation instruction and the number of executions of a synchronous instruction for waiting for execution of the calculation job in a plurality of processes;
Have
The memory usage recording unit records the location information and the memory usage in association with each other,
The operation terminal is
An arithmetic processing system that aggregates the memory usage in a plurality of processes, displays the aggregated memory usage, and accepts input of information on a set position of the checkpoint from a user.
チェックポイント情報に基づいて、障害発生時に計算ジョブのリスタートを行うためのメモリイメージを取得する計算装置において実行されるチェックポイント設定方法であって、
前記計算ジョブ実行中のメモリ操作命令に応じてメモリ使用量を記録し、
複数のプロセスにおける前記メモリ使用量を集計し前記集計したメモリ使用量に基づいて前記チェックポイントを設定する操作端末に対して前記記録したメモリ使用量を送信し、
前記メモリ操作命令の実行回数及び前記複数のプロセスにおける前記計算ジョブの実行を待ち合せる同期命令の実行回数を用いて示される位置情報と、前記メモリ使用量と、を対応付けて記録する、
チェックポイント設定方法。
A checkpoint setting method that is executed in a computing device that acquires a memory image for restarting a calculation job when a failure occurs based on checkpoint information,
Record the memory usage according to the memory operation instruction during the execution of the calculation job,
Summing up the memory usage in a plurality of processes and sending the recorded memory usage to an operating terminal that sets the checkpoint based on the aggregated memory usage ;
The location information indicated by using the number of executions of the memory operation instruction and the number of executions of the synchronous instruction for waiting for execution of the calculation job in the plurality of processes, and the memory usage are recorded in association with each other
Checkpoint setting method.
チェックポイント情報に基づいて、障害発生時に計算ジョブのリスタートを行うためのメモリイメージを取得する計算装置のコンピュータに実行させるプログラムであって、
前記計算ジョブ実行中のメモリ操作命令に応じてメモリ使用量を記録するステップと、
複数のプロセスにおける前記メモリ使用量を集計し前記集計したメモリ使用量に基づいて前記チェックポイントを設定する操作端末に対して前記記録したメモリ使用量を送信するステップと、
前記メモリ操作命令の実行回数及び前記複数のプロセスにおける前記計算ジョブの実行を待ち合せる同期命令の実行回数を用いて示される位置情報と、前記メモリ使用量と、を対応付けて記録するステップと、
をコンピュータに実行させるプログラム。
A program to be executed by a computer of a computing device that acquires a memory image for restarting a computation job when a failure occurs based on checkpoint information,
Recording a memory usage amount according to a memory operation instruction during execution of the calculation job;
Summing up the memory usage in a plurality of processes and transmitting the recorded memory usage to an operating terminal that sets the checkpoint based on the aggregated memory usage;
A step of associating and recording the location information indicated by using the number of executions of the memory operation instruction and the number of executions of a synchronous instruction for waiting for execution of the calculation job in the plurality of processes, and the memory usage amount;
A program that causes a computer to execute.
JP2012017856A 2012-01-31 2012-01-31 Computer apparatus, arithmetic processing system, checkpoint setting method and program Expired - Fee Related JP5966389B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012017856A JP5966389B2 (en) 2012-01-31 2012-01-31 Computer apparatus, arithmetic processing system, checkpoint setting method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012017856A JP5966389B2 (en) 2012-01-31 2012-01-31 Computer apparatus, arithmetic processing system, checkpoint setting method and program

Publications (2)

Publication Number Publication Date
JP2013156886A JP2013156886A (en) 2013-08-15
JP5966389B2 true JP5966389B2 (en) 2016-08-10

Family

ID=49051989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012017856A Expired - Fee Related JP5966389B2 (en) 2012-01-31 2012-01-31 Computer apparatus, arithmetic processing system, checkpoint setting method and program

Country Status (1)

Country Link
JP (1) JP5966389B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190066712A (en) * 2017-12-06 2019-06-14 연세대학교 산학협력단 Method for Generating Checkpoint of High Performance Computing System Using GPU Usage

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887424A (en) * 1994-09-16 1996-04-02 Toshiba Corp Electronic computer
JPH11345137A (en) * 1998-05-29 1999-12-14 Toshiba Corp Check point roll-back type computer system, memory management control method for the same system and storage medium stored with the same method therein
US7536591B2 (en) * 2003-11-17 2009-05-19 Virginia Tech Intellectual Properties, Inc. Transparent checkpointing and process migration in a distributed system
JP2006172065A (en) * 2004-12-15 2006-06-29 Hitachi Ltd Checkpoint collection method, system and program
JP2008077498A (en) * 2006-09-22 2008-04-03 Toshiba Corp Maintenance control device
JP2010102404A (en) * 2008-10-21 2010-05-06 Canon Inc Information processing apparatus and control method thereof, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190066712A (en) * 2017-12-06 2019-06-14 연세대학교 산학협력단 Method for Generating Checkpoint of High Performance Computing System Using GPU Usage
KR102022481B1 (en) * 2017-12-06 2019-09-18 연세대학교 산학협력단 Method for Generating Checkpoint of High Performance Computing System Using GPU Usage

Also Published As

Publication number Publication date
JP2013156886A (en) 2013-08-15

Similar Documents

Publication Publication Date Title
KR101721466B1 (en) Fault tolerant batch processing
US8533731B2 (en) Apparatus and method for distrubuting complex events based on correlations therebetween
CN107566214B (en) Performance test method and device
WO2023005075A1 (en) Disaster recovery method and system for data, terminal device and computer storage medium
CN102541460A (en) Multiple disc management method and equipment
US20140156853A1 (en) Computer and resource retrieval method
JP2019079268A (en) Data collection device and data collection method
US8850023B2 (en) Method for changing placement of virtual machine and apparatus for changing placement of virtual machine
CN107623703A (en) Global transaction identifies GTID synchronous method, apparatus and system
JP2016178570A (en) Workflow execution processing apparatus, workflow execution system, workflow execution system control method, and program
CN108140035B (en) Database replication method and device for distributed system
US11070635B2 (en) Device management server and method
CN106375103B (en) Alarm data acquisition and transmission method
JP5966389B2 (en) Computer apparatus, arithmetic processing system, checkpoint setting method and program
JP5024453B2 (en) Business flow distributed processing system and method
JP6279816B2 (en) Storage monitoring system and monitoring method thereof
CN111723064A (en) Log collection method and device, server and storage medium
CN103180824A (en) Distributing information
JP6915345B2 (en) Cloud management equipment, cloud management methods, and programs
US11381642B2 (en) Distributed storage system suitable for sensor data
JP5056346B2 (en) Information processing apparatus, information processing system, virtual server movement processing control method, and program
US10311032B2 (en) Recording medium, log management method, and log management apparatus
CN115118769B (en) Method and device for configuring parameters of service system and executing micro-service
US20150012637A1 (en) Management control device, information processing system, and method for management control
JP2004094422A (en) Checkpoint information collecting method and its executing device and its processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160620

R150 Certificate of patent or registration of utility model

Ref document number: 5966389

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees