JP2009187171A - Checkpoint restart device and checkpoint restart method - Google Patents

Checkpoint restart device and checkpoint restart method Download PDF

Info

Publication number
JP2009187171A
JP2009187171A JP2008024921A JP2008024921A JP2009187171A JP 2009187171 A JP2009187171 A JP 2009187171A JP 2008024921 A JP2008024921 A JP 2008024921A JP 2008024921 A JP2008024921 A JP 2008024921A JP 2009187171 A JP2009187171 A JP 2009187171A
Authority
JP
Japan
Prior art keywords
restart
process identifier
checkpoint
time
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008024921A
Other languages
Japanese (ja)
Other versions
JP4992745B2 (en
Inventor
Shinichi Okano
進一 岡野
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 JP2008024921A priority Critical patent/JP4992745B2/en
Publication of JP2009187171A publication Critical patent/JP2009187171A/en
Application granted granted Critical
Publication of JP4992745B2 publication Critical patent/JP4992745B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To use process identifiers effectively and restart processes reliably by virtualizing process identifiers. <P>SOLUTION: In a system of performing checkpoint/restart during process execution, a checkpoint file generation part 2, when receiving a checkpoint request, generates a checkpoint file 3 holding an interruption-based process identifier and information keeping a process 10 restartable, a restarting part 4, when receiving a restart request, restarts a restart process 20 according to the checkpoint file 3 and generates a process identifier conversion table 5 associating a restart-based process identifier with the interruption-based process identifier, and a process identifier conversion part 6 converts the process identifier according to the process identifier conversion table 5 when the restarted process processes a system call. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、コンピュータシステムにおけるプロセス識別子の保証に関する。特に、チェックポイント/リスタート機能を提供する環境においてリスタート対象となったプロセス識別子の保証に関する。   The present invention relates to process identifier assurance in computer systems. In particular, the present invention relates to the guarantee of a process identifier that is a restart target in an environment that provides a checkpoint / restart function.

チェックポイント・リスタート機能を有する基本ソフトウェアとして、特許文献1にチェックポイント採取の際にプロセス識別子を予約する方式が開示されている。この技術では、チェックポイントファイルからリスタートする際に、チェックポイント採取時と同じプロセス識別子が割り当てられるように、そのプロセス識別子を他のプロセスが使用できないように予約していた。   As basic software having a checkpoint / restart function, Patent Document 1 discloses a method of reserving a process identifier when collecting checkpoints. In this technique, when restarting from a checkpoint file, the process identifier is reserved so that other processes cannot be used so that the same process identifier as that at the time of checkpoint collection is assigned.

しかしながら、チェックポイント採取時に予約したプロセス識別子がいつの時点で不要になったかが自動的にはわからなかった。このため、管理者や利用者によって不要になったプロセス識別子を明示的に開放する必要があった。また、同時に予約されたプロセス識別子でプロセス識別子が枯渇しないようにチェックポイント数の制限値を設けていた。このため、制限値以上のチェックポイントの採取ができなかったり、チェックポイント数が制限値に到達しないように、予約されたプロセス識別子を使わなくなった時点でプロセス識別子の予約を開放する必要があった。   However, it was not automatically known when the process identifier reserved at the time of checkpoint collection became unnecessary. For this reason, it is necessary to explicitly release process identifiers that are no longer needed by the administrator or user. In addition, a limit value for the number of checkpoints is provided so that process identifiers that are reserved at the same time are not exhausted. For this reason, it was necessary to release the reservation of the process identifier when the reserved process identifier was not used so that the checkpoint exceeding the limit value could not be collected or the number of checkpoints did not reach the limit value. .

このように、プロセス識別子を予約することによってプロセス識別子を保証するため、プロセス識別子を有効に利用できないという問題があった。また、運用において開放作業が必要になるという問題点があった。   As described above, since the process identifier is guaranteed by reserving the process identifier, there is a problem that the process identifier cannot be effectively used. In addition, there is a problem that an open operation is required in operation.

また、別の方式では、リスタート時に当該プロセス識別子が他のプロセスによって使用中である場合には、リスタートに失敗してしまうため、チェックポイントファイルからのリスタートが確実に行えなかった。
特開平6−230981号公報
In another method, if the process identifier is being used by another process at the time of restart, the restart fails, so the restart from the checkpoint file cannot be performed reliably.
JP-A-6-230981

本発明は、このような事情に鑑みてなされたものであり、プロセス識別子を仮想化し、プロセス識別子を有効に利用してプロセスのリスタートを確実にすることを目的とする。   The present invention has been made in view of such circumstances, and an object of the present invention is to virtualize a process identifier and to effectively restart the process by effectively using the process identifier.

本発明に係るチェックポイント・リスタート装置の一態様は、中央処理装置割り当ての対象となるプロセスを生成し、前記プロセス実行中にチェックポイント要求を受け付け前記プロセスの処理を中断し、リスタート要求を受け付けると、前記プロセスの処理を再開するチェックポイント・リスタート装置であって、前記プロセスに割り当てられていた中断時のプロセス識別子と、前記プロセスを再開可能な状態に保持する情報とを保持するチェックポイントファイルと、前記チェックポイント要求を受け付けたときに、前記チェックポイントファイルを生成するチェックポイントファイル生成部と、前記プロセスが再開したときに割り当てられる再開時のプロセス識別子と、前記中断時のプロセス識別子とを対応づけるプロセス識別子変換テーブルと、前記リスタート要求を受け付けたときに、前記チェックポイントファイルに基づいて、前記プロセスを再開させ、前記プロセス識別子変換テーブルを生成するリスタート処理部と、再開したプロセスがシステムコールを処理する場合、前記プロセス識別子変換テーブルに基づいて、前記中断時のプロセス識別子と前記再開時のプロセス識別子とを変換するプロセス識別子変換部と、を備える。   One aspect of the checkpoint / restart apparatus according to the present invention generates a process to be assigned to a central processing unit, accepts a checkpoint request during execution of the process, interrupts processing of the process, and issues a restart request. Upon receipt, a checkpoint / restart device for resuming the processing of the process, a check for retaining a process identifier at the time of interruption assigned to the process and information for holding the process in a resumable state A point file, a checkpoint file generation unit for generating the checkpoint file when the checkpoint request is received, a process identifier at the time of restart assigned when the process is restarted, and a process identifier at the time of suspension Process identifier conversion to associate And when the restart request is received, the process is restarted based on the checkpoint file and the process identifier conversion table is generated, and the restarted process processes the system call. A process identifier conversion unit that converts the process identifier at the time of suspension and the process identifier at the time of restart based on the process identifier conversion table.

また、本発明に係るチェックポイント・リスタート方法の一態様は、中央処理装置割り当ての対象となるプロセスを生成し、前記プロセス実行中にチェックポイント要求を受け付け前記プロセスの処理を中断し、リスタート要求を受け付けると、前記プロセスの処理を再開するチェックポイント・リスタート方法であって、前記チェックポイント要求を受け付けたときに、前記プロセスに割り当てられていた中断時のプロセス識別子と、前記プロセスを再開可能な状態に保持する情報とを保持するチェックポイントファイルを生成し、前記リスタート要求を受け付けたときに、前記チェックポイントファイルに基づいて、前記プロセスを再開させ、前記プロセスが再開したときに割り当てられる再開時のプロセス識別子と、前記中断時のプロセス識別子とを対応づけるプロセス識別子変換テーブルを生成し、再開したプロセスがシステムコールを処理する場合、前記プロセス識別子変換テーブルに基づいて、前記中断時のプロセス識別子と前記再開時のプロセス識別子とを変換する。   According to another aspect of the checkpoint / restart method of the present invention, a process to be assigned to a central processing unit is generated, a checkpoint request is accepted during the process execution, the process of the process is interrupted, and a restart is performed. A checkpoint / restart method for resuming processing of a process upon receipt of a request, wherein the process identifier at the time of interruption assigned to the process and the process is resumed when the checkpoint request is accepted. A checkpoint file that holds information to be held in a possible state, and when the restart request is accepted, the process is restarted based on the checkpoint file and assigned when the process is restarted Process identifier at the time of restart and the process at the time of the interruption When a resumed process processes a system call, the process identifier at the time of suspension and the process identifier at the time of restart are converted based on the process identifier conversion table. To do.

本発明によれば、プロセス識別子を仮想化することによって、プロセス識別子を有効に利用してプロセスのリスタートを確実にすることが可能となる。   According to the present invention, by virtualizing the process identifier, it is possible to ensure the restart of the process by effectively using the process identifier.

以下、本発明の実施形態について、図面を参照しながら説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。各図面において同一の構成または機能を有する構成要素および相当部分には、同一の符号を付し、その説明を省略する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. In the drawings, components having the same configuration or function and corresponding parts are denoted by the same reference numerals, and description thereof is omitted.

大規模科学技術計算などでは、プログラムの実行が数日間や数週間におよぶ場合がある。このようなプログラムの実行において、実行の途中で計算機などの障害が発生すると、それまでの実行が無駄になってしまい、また最初からプログラムの実行を開始しなければならない。この問題を解決するため、プログラムの実行の再開が可能となるように、ファイルなどにプログラムの状態を保存しておくチェックポイント機能と、このチェックポイントからプログラムの実行を再開するリスタート機能が必要となる。   In large-scale scientific and technical calculations, the program may run for several days or weeks. In the execution of such a program, if a failure of a computer or the like occurs in the middle of execution, the execution up to that point becomes useless, and the execution of the program must be started from the beginning. To solve this problem, a checkpoint function that saves the program state in a file and so on and a restart function that resumes program execution from this checkpoint are required so that program execution can be resumed. It becomes.

このような、チェックポイント・リスタート機能の実装において、チェックポイント採取時のプロセス識別子とリスタート後のプロセス識別子が同じでないとリスタート後のプロセスの動作が保証できない場合がある。   In implementation of such a checkpoint / restart function, if the process identifier at the time of checkpoint collection and the process identifier after restart are not the same, the operation of the process after restart may not be guaranteed.

本発明の好適な実施形態は、チェックポイント・リスタート機能を備えるコンピュータシステムにおいて、プロセスがリスタートした際に、チェックポイント時と同じプロセス識別子があたかも割り当てられたが如く動作するようにプロセス識別子の仮想化を行うことで、チェックポイント数を制限することなく、確実にチェックポイント・リスタートを可能にするものである。以下に詳細を説明する。   According to a preferred embodiment of the present invention, in a computer system having a checkpoint / restart function, when a process is restarted, the process identifier is set so that the same process identifier as that at the time of checkpoint is assigned. By performing virtualization, checkpoint / restart can be reliably performed without limiting the number of checkpoints. Details will be described below.

(実施形態1)
図1は、本発明に係る実施形態1のチェックポイント・リスタート装置の構成例を示す図である。チェックポイント・リスタート装置は、中央処理装置(CPU)割り当ての対象となるプロセスを生成し、前記プロセス実行中にチェックポイント要求を受け付け前記プロセスの処理を中断し、リスタート要求を受け付けると、前記プロセスの処理を再開する機能を有する。図1を参照すると、本実施形態のチェックポイント・リスタート装置は、プロセス生成部1、チェックポイントファイル生成部2、チェックポイントファイル3、リスタート処理部4、プロセス識別子変換テーブル5、プロセス識別子変換部6、及び、システムコール処理部7を備える。
(Embodiment 1)
FIG. 1 is a diagram showing a configuration example of a checkpoint / restart apparatus according to Embodiment 1 of the present invention. The checkpoint / restart device generates a process to be assigned to a central processing unit (CPU), receives a checkpoint request during the process execution, interrupts the process of the process, and receives a restart request. A function of resuming processing of the process; Referring to FIG. 1, the checkpoint / restart apparatus of this embodiment includes a process generation unit 1, a checkpoint file generation unit 2, a checkpoint file 3, a restart processing unit 4, a process identifier conversion table 5, and a process identifier conversion. A unit 6 and a system call processing unit 7.

プロセス生成部1は、中央処理装置割り当ての対象となるプロセスを生成する。図1では、プロセス生成部1がプロセス10を生成した状態を示している。プロセス10は、チェックポイント・リスタートを行う対象となる。   The process generation unit 1 generates a process to be assigned to a central processing unit. FIG. 1 shows a state where the process generation unit 1 has generated the process 10. The process 10 is a target for checkpoint / restart.

チェックポイントファイル生成部2は、チェックポイント要求を受け付けたときに、チェックポイント採取を行い、チェックポイントファイル3を生成する。具体的には、チェックポイントファイル生成部は、プロセス10の状態を再度実施可能な状態にフリーズし、プロセス10に割り当てられていた中断時のプロセス識別子を含む、再開に必要な情報をチェックポイントファイル3へ格納する。プロセス10を中断させたとき、プロセス10に割り当てられていたプロセス識別子(中断時のプロセス識別子)は、開放され、他のプロセスに割り当てることができるようになる。   When receiving a checkpoint request, the checkpoint file generating unit 2 collects checkpoints and generates a checkpoint file 3. Specifically, the checkpoint file generation unit freezes the state of the process 10 to a state where it can be executed again, and includes information necessary for resumption including the process identifier at the time of interruption assigned to the process 10 in the checkpoint file. 3 is stored. When the process 10 is interrupted, the process identifier assigned to the process 10 (process identifier at the time of interruption) is released and can be assigned to another process.

チェックポイントファイル3は、中断時のプロセス識別子と、前記プロセスを再開可能な状態に保持する情報とを保持する記憶領域である。図2にチェックポイントファイル3の構成例を示す。図2では、複数のプロセスについて格納できる領域を有するファイル例を示したが、プロセス毎に一つずつファイルを生成してもよい。   The checkpoint file 3 is a storage area that holds a process identifier at the time of interruption and information for holding the process in a resumable state. FIG. 2 shows a configuration example of the checkpoint file 3. Although FIG. 2 shows an example of a file having areas that can store a plurality of processes, one file may be generated for each process.

リスタート処理部4は、リスタート要求を受け付けたときに、チェックポイントファイル3に基づいて、リスタートプロセス20を生成し、中断したプロセス10をリスタートプロセス20として再開させる機能と、プロセス識別子変換テーブル5を生成する機能とを備える。リスタートプロセス20には、中断時のプロセス識別子とは別に、新たにリスタートプロセス20へ再開時のプロセス識別子が割り当てられる。リスタート処理部4は、リスタートプロセス20の内部処理では、中断時のプロセス識別子を用いて処理を実行するように再開させる。また、中断時のプロセス識別子と再開時のプロセス識別子とを対応づけて、プロセス識別子変換テーブル5へ格納する。   When the restart processing unit 4 receives a restart request, the restart processing unit 4 generates a restart process 20 based on the checkpoint file 3, and restarts the interrupted process 10 as the restart process 20, and process identifier conversion And a function for generating the table 5. In addition to the process identifier at the time of interruption, a new process identifier at the time of restart is assigned to the restart process 20. In the internal process of the restart process 20, the restart processing unit 4 restarts the process so that the process is executed using the process identifier at the time of interruption. Further, the process identifier at the time of interruption and the process identifier at the time of restart are associated with each other and stored in the process identifier conversion table 5.

プロセス識別子変換テーブル5は、再開時のプロセス識別子と、中断時のプロセス識別子とを対応づける記憶領域である。図3にプロセス識別子変換テーブル5の構成例を示す。図3では、複数のプロセスについて格納できる領域を有するテーブル例を示したが、プロセス毎に一つずつテーブルを生成してもよい。   The process identifier conversion table 5 is a storage area that associates the process identifier at the time of restart with the process identifier at the time of interruption. FIG. 3 shows a configuration example of the process identifier conversion table 5. Although FIG. 3 shows an example of a table having areas that can be stored for a plurality of processes, one table may be generated for each process.

プロセス識別子変換部6は、再開したリスタートプロセス20がシステムコールを処理する場合、プロセス識別子変換テーブル5に基づいて、中断時のプロセス識別子と再開時のプロセス識別子とを変換する。すなわち、プロセス識別子変換部6は、リスタートプロセス20からのシステムコール要求においてプロセス識別子の仮想化を行う。具体的には、プロセス識別子変換部6は、リスタートプロセス20がシステムコール要求を発行する際やシステムコール要求の返却値を返却する処理において、その引数や返却値にプロセス識別子が使用されているかどうかを調べ、プロセス識別子が使用されている場合には、プロセス識別子変換テーブル5を参照して、プロセス識別子の返還を行う機能を備える。   When the restarted restart process 20 processes a system call, the process identifier conversion unit 6 converts the process identifier at the time of interruption and the process identifier at the time of restart based on the process identifier conversion table 5. In other words, the process identifier conversion unit 6 virtualizes the process identifier in the system call request from the restart process 20. Specifically, the process identifier conversion unit 6 uses the process identifier for the argument or return value when the restart process 20 issues a system call request or returns the return value of the system call request. If the process identifier is used, the process identifier conversion table 5 is referenced to return the process identifier.

システムコール処理部7は、システムコール要求によって要求された処理を行い、結果を返却する機能を備える。本実施形態では、システムコールは、リスタートプロセス20から直接呼び出すのではなく、プロセス識別子変換部6を介して呼び出され、返却値についても、プロセス識別子変換部6を介してリスタートプロセス20へ返却されることになる。なお、チェックポイント・リスタート装置において、システムコールは、プロセス10の場合も含め、すべてのプロセスにおいてプロセス識別子変換部6を介して呼び出される構成にしてもよい。プロセス識別子変換部6は、プロセス識別子変換テーブルを参照し、登録されているプロセスであるか否かを毎回確認することによって、プロセス識別子の変換が必要であるか否かを判断することができる。   The system call processing unit 7 has a function of performing processing requested by a system call request and returning a result. In this embodiment, the system call is not called directly from the restart process 20 but is called via the process identifier conversion unit 6, and the return value is also returned to the restart process 20 via the process identifier conversion unit 6. Will be. In the checkpoint / restart apparatus, the system call may be called through the process identifier conversion unit 6 in all processes including the process 10. The process identifier conversion unit 6 can determine whether or not the process identifier needs to be converted by referring to the process identifier conversion table and checking each time whether or not the process is a registered process.

図1に示すチェックポイント・リスタート装置の動作の概略は次のようになる。プロセス10はチェックポイントファイル生成部2によってチェックポイントファイル3が生成される。この際、チェックポイントファイル3にはプロセス識別子の情報も同時に保存しておく。このチェックポイントファイル3を使用してリスタート処理部4がリスタート処理を行う際に、チェックポイントファイル3に保存しておいたプロセス識別子とリスタート時に新たに割り当てられたプロセス識別子の情報をもとにプロセス識別子変換テーブル5を作成しておく。リスタート処理部4によって、リスタートされたリスタートプロセス20がプログラムを実行中、システムコールを発行した際に、プロセス識別子変換部6によって引数や返却値にプロセス識別子が指定されているかどうかを判別する。もしプロセス識別子を使用している場合、システムコール処理部7に要求を発行したり、システムコール処理部7からの返却値をリスタートプロセス20に返却する際に、プロセス識別子変換テーブル5を参照して、プロセス識別子の仮想化を行う。   The outline of the operation of the checkpoint / restart apparatus shown in FIG. 1 is as follows. In the process 10, a checkpoint file 3 is generated by the checkpoint file generator 2. At this time, the process identifier information is also stored in the checkpoint file 3 at the same time. When the restart processing unit 4 performs a restart process using the checkpoint file 3, the process identifier stored in the checkpoint file 3 and the information of the process identifier newly assigned at the restart are also stored. The process identifier conversion table 5 is created in advance. When the restart processing unit 4 issues a system call while the restarted restart process 20 is executing a program, the process identifier conversion unit 6 determines whether a process identifier is specified as an argument or a return value. To do. If a process identifier is used, the process identifier conversion table 5 is referred to when a request is issued to the system call processing unit 7 or a return value from the system call processing unit 7 is returned to the restart process 20. To virtualize the process identifier.

次に、図1、図4を参照して本実施例の動作について詳細に説明する。図4は、本実施形態のチェックポイント・リスタート装置の動作例を示すフローチャートである。まず、プロセス生成部1は、プロセス10を生成し、プロセス10の実行が開始される(S11)。プロセス10は、利用者からの要求(チェックポイント要求)などによって処理が中断され(S12)、チェックポイントファイル生成部2は、後でプログラムの実行の再開ができるようにチェックポイントファイル3を生成する(S13)。この時、プロセス10のプロセス識別子が100であった場合、チェックポイントファイル生成部2はチェックポイントファイル3にプロセス識別子が100であったという情報も格納しておく(図2参照)。   Next, the operation of this embodiment will be described in detail with reference to FIGS. FIG. 4 is a flowchart showing an operation example of the checkpoint / restart apparatus of this embodiment. First, the process generation unit 1 generates a process 10 and starts executing the process 10 (S11). The process 10 is interrupted by a request from the user (checkpoint request) or the like (S12), and the checkpoint file generation unit 2 generates the checkpoint file 3 so that the execution of the program can be resumed later. (S13). At this time, if the process identifier of the process 10 is 100, the checkpoint file generation unit 2 also stores information that the process identifier is 100 in the checkpoint file 3 (see FIG. 2).

後に利用者がプロセス10の実行の再開を要求すると(S14)、リスタート処理部4は、リスタートの要求を受け付け、チェックポイントファイル3から以前実行していた時のプロセス識別子(中断時のプロセス識別子、ここでは100)の情報を取得する。リスタートプロセス20にリスタート時に新たに割り当てられたプロセス識別子(再開時のプロセス識別子、ここでは200とする)の情報とともに、中断時のプロセス識別子をプロセス識別子変換テーブル5に登録する(S15)。リスタートプロセス20が処理の実行を開始する(S16)。   When the user later requests to restart the execution of the process 10 (S14), the restart processing unit 4 accepts the restart request, and the process identifier (process at the time of interruption) The information of the identifier, here 100) is acquired. The process identifier at the time of interruption is registered in the process identifier conversion table 5 together with the information of the process identifier newly assigned to the restart process 20 at the time of restart (process identifier at the time of restart, here 200) (S15). The restart process 20 starts executing the process (S16).

リスタートプロセス20がシステムコールを発行する際に(S17でYES)、プロセス識別子変換部6は、そのシステムコールの引数や返却値にプロセス識別子があるかどうかを調べ、もし引数や返却値にプロセス識別子が含まれている場合、プロセス識別子変換テーブル5を参照し、プロセス識別子の変換を行い、システムコール処理部7によってシステムコールを処理させる(S18)。例えば、リスタートプロセス20が、自プロセス識別子を調べるgetpid()システムコールを発行する場合を説明する。プロセス識別子変換部6は、当該システムコールが引数にプロセス識別子を含まないため、その要求をそのままシステムコール処理部7に渡す。システムコール処理部7は当該プロセスのプロセス識別子である200をプロセス識別子変換部に返却する。プロセス識別子変換部6は、プロセス識別子変換テーブル5を参照し、実際には200であるプロセス識別子は、チェックポイント採取時(チェックポイントファイル生成時)の100に変換する必要があると判断し、リスタートプロセスには100が返却されるように変換する。リスタートプロセス20の処理が終了するまで(S19でYES)、ステップS16からS19までの処理を繰り返す。   When the restart process 20 issues a system call (YES in S17), the process identifier conversion unit 6 checks whether there is a process identifier in the argument or return value of the system call, and if the process call is in the argument or return value If the identifier is included, the process identifier conversion table 5 is referred to convert the process identifier, and the system call processing unit 7 processes the system call (S18). For example, a case where the restart process 20 issues a getpid () system call for checking its own process identifier will be described. Since the system call does not include a process identifier as an argument, the process identifier conversion unit 6 passes the request to the system call processing unit 7 as it is. The system call processing unit 7 returns the process identifier 200 of the process to the process identifier conversion unit. The process identifier conversion unit 6 refers to the process identifier conversion table 5 and determines that the process identifier that is actually 200 needs to be converted to 100 at the time of checkpoint collection (when the checkpoint file is generated). It is converted so that 100 is returned to the start process. Until the process of the restart process 20 ends (YES in S19), the processes from step S16 to S19 are repeated.

(その他の実施形態)
実施形態1では、プロセスがシステムコールを発行する場合に、プロセス識別子の仮想化を行う場合を一例として説明した。システムコールの他に、外部プログラムを参照する場合についても、プロセス識別子を引数、あるいは返却値として用いる場合に、実施形態1と同様にプロセス識別子の仮想化を行う。
(Other embodiments)
In the first embodiment, the case where the process identifier is virtualized when the process issues a system call has been described as an example. In addition to the system call, when referring to an external program, the process identifier is virtualized as in the first embodiment when the process identifier is used as an argument or return value.

本発明の好適な実施形態によれば、次のような効果を奏する。第一の効果として、プロセス識別子を予約する機能を必要とせず、そのためプロセス識別子の予約数の増加によるプロセス識別子の枯渇の心配がなく運用できる。また、管理者などが定期的に予約されたプロセス識別子を開放する処理の必要がなくなる。これは、プロセス識別子の予約をすることなく、チェックポイント採取時と同一のプロセス識別子が割り当てられたようにリスタートプロセスが振舞うことができるからである。   According to a preferred embodiment of the present invention, the following effects are obtained. As a first effect, a function for reserving process identifiers is not required, and therefore, it can be operated without worrying about exhaustion of process identifiers due to an increase in the number of reserved process identifiers. Further, there is no need for processing for releasing process identifiers periodically reserved by an administrator or the like. This is because the restart process can behave as if the same process identifier as that at the time of checkpoint collection is assigned without reserving the process identifier.

また、第2の効果として、確実にチェックポイント採取を実施することができる。これは、プロセス識別子の予約の必要がないため、チェックポイントの数に制限値を設ける必要がないためである。   As a second effect, it is possible to reliably perform checkpoint collection. This is because it is not necessary to reserve a process identifier, and thus it is not necessary to provide a limit value for the number of checkpoints.

第3の効果として、プロセス識別子の予約機能を有していない場合でも、同一のプロセス識別子を失敗することなく割り当てることができるため、効率的にリスタート処理することができる。これは、チェックポイント採取時のプロセス識別子の値にかかわらず、リスタート時点で利用可能な任意のプロセス識別子を割り当てることができるためである。   As a third effect, even when the process identifier reservation function is not provided, the same process identifier can be assigned without failure, so that the restart process can be performed efficiently. This is because any process identifier that can be used at the time of restart can be assigned regardless of the value of the process identifier at the time of checkpoint collection.

なお、本発明は上記に示す実施形態に限定されるものではない。本発明の範囲において、上記実施形態の各要素を、当業者であれば容易に考えうる内容に変更、追加、変換することが可能である。   In addition, this invention is not limited to embodiment shown above. Within the scope of the present invention, it is possible to change, add, or convert each element of the above-described embodiment to a content that can be easily considered by those skilled in the art.

本発明に係る実施形態1のチェックポイント・リスタート装置の構成例を示す図である。It is a figure which shows the structural example of the checkpoint / restart apparatus of Embodiment 1 which concerns on this invention. チェックポイントファイルの構成例を示す図である。It is a figure which shows the structural example of a checkpoint file. プロセス識別子変換テーブルの構成例を示す図である。It is a figure which shows the structural example of a process identifier conversion table. 実施形態1のチェックポイント・リスタート装置の動作例を示すフローチャートである。3 is a flowchart illustrating an operation example of the checkpoint / restart apparatus according to the first embodiment.

符号の説明Explanation of symbols

1 プロセス生成部
2 チェックポイントファイル生成部
3 チェックポイントファイル
4 リスタート処理部
5 プロセス識別子変換テーブル
6 プロセス識別子変換部
7 システムコール処理部7
10 プロセス
20 リスタートプロセス
1 Process Generator 2 Checkpoint File Generator 3 Checkpoint File 4 Restart Processor 5 Process Identifier Conversion Table 6 Process Identifier Converter 7 System Call Processor 7
10 Process 20 Restart process

Claims (4)

中央処理装置割り当ての対象となるプロセスを生成し、前記プロセス実行中にチェックポイント要求を受け付け前記プロセスの処理を中断し、リスタート要求を受け付けると、前記プロセスの処理を再開するチェックポイント・リスタート装置であって、
前記プロセスに割り当てられていた中断時のプロセス識別子と、前記プロセスを再開可能な状態に保持する情報とを保持するチェックポイントファイルと、
前記チェックポイント要求を受け付けたときに、前記チェックポイントファイルを生成するチェックポイントファイル生成部と、
前記プロセスが再開したときに割り当てられる再開時のプロセス識別子と、前記中断時のプロセス識別子とを対応づけるプロセス識別子変換テーブルと、
前記リスタート要求を受け付けたときに、前記チェックポイントファイルに基づいて、前記プロセスを再開させ、前記プロセス識別子変換テーブルを生成するリスタート処理部と、
再開したプロセスがシステムコールを処理する場合、前記プロセス識別子変換テーブルに基づいて、前記中断時のプロセス識別子と前記再開時のプロセス識別子とを変換するプロセス識別子変換部と、を備えるチェックポイント・リスタート装置。
Create a process to be assigned to a central processing unit, accept a checkpoint request during the execution of the process, interrupt the process, and restart the process when a restart request is accepted A device,
A checkpoint file that holds a process identifier at the time of suspension assigned to the process, and information that holds the process in a resumable state;
A checkpoint file generator that generates the checkpoint file when the checkpoint request is received;
A process identifier conversion table that associates a process identifier at the time of resumption assigned when the process is resumed with a process identifier at the time of suspension;
When the restart request is accepted, based on the checkpoint file, the process is restarted, and a restart processing unit that generates the process identifier conversion table;
When the resumed process processes a system call, a checkpoint / restart comprising a process identifier conversion unit that converts the process identifier at the time of suspension and the process identifier at the time of restart based on the process identifier conversion table apparatus.
前記チェックポイントファイル生成部は、前記中断時のプロセス識別子を開放し、
前記再開したプロセスは、新たに前記再開のプロセス識別子が割り当てられ、
前記リスタート処理部は、前記再開するプロセスの内部処理では、前記中断時のプロセス識別子を用いて処理を実行するように再開させることを特徴とする請求項1記載のチェックポイント・リスタート装置。
The checkpoint file generation unit releases the process identifier at the time of the interruption,
The resumed process is newly assigned the resume process identifier,
2. The checkpoint / restart apparatus according to claim 1, wherein the restart processing unit restarts the internal process of the process to be restarted so that the process is executed using the process identifier at the time of the interruption.
前記プロセス識別子変換部は、前記再開したプロセスから前記中断時のプロセス識別子を前記システムコールの引数として受け取り、受け取った引数へ前記再開時のプロセス識別子に変換して前記システムコールの処理を実施させ、前記再開時のプロセス識別子を前記システムコールの処理の返却値として受け取り、受け取った返却値へ前記中断時のプロセス識別子を設定して前記再開したプロセスへ出力することを特徴とする請求項1記載のチェックポイント・リスタート装置。   The process identifier conversion unit receives the process identifier at the time of suspension from the resumed process as an argument of the system call, converts the received argument to the process identifier at the time of restart, and executes the process of the system call, 2. The process identifier at the time of resumption is received as a return value of the processing of the system call, the process identifier at the time of suspension is set in the received return value, and the process identifier is output to the resumed process. Checkpoint / restart device. 中央処理装置割り当ての対象となるプロセスを生成し、前記プロセス実行中にチェックポイント要求を受け付け前記プロセスの処理を中断し、リスタート要求を受け付けると、前記プロセスの処理を再開するチェックポイント・リスタート方法であって、
前記チェックポイント要求を受け付けたときに、前記プロセスに割り当てられていた中断時のプロセス識別子と、前記プロセスを再開可能な状態に保持する情報とを保持するチェックポイントファイルを生成し、
前記リスタート要求を受け付けたときに、前記チェックポイントファイルに基づいて、前記プロセスを再開させ、前記プロセスが再開したときに割り当てられる再開時のプロセス識別子と、前記中断時のプロセス識別子とを対応づけるプロセス識別子変換テーブルを生成し、
再開したプロセスがシステムコールを処理する場合、前記プロセス識別子変換テーブルに基づいて、前記中断時のプロセス識別子と前記再開時のプロセス識別子とを変換するチェックポイント・リスタート方法。
Create a process to be assigned to a central processing unit, accept a checkpoint request during the execution of the process, interrupt the process, and restart the process when a restart request is accepted A method,
When receiving the checkpoint request, generate a checkpoint file that holds a process identifier at the time of interruption assigned to the process and information for holding the process in a resumable state,
When the restart request is accepted, the process is restarted based on the checkpoint file, and the process identifier at the time of restart assigned to the process when restarted is associated with the process identifier at the time of suspension. Generate a process identifier conversion table,
A checkpoint / restart method for converting a process identifier at the time of suspension and a process identifier at the time of restart based on the process identifier conversion table when the resumed process processes a system call.
JP2008024921A 2008-02-05 2008-02-05 Checkpoint / restart device and checkpoint / restart method Expired - Fee Related JP4992745B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008024921A JP4992745B2 (en) 2008-02-05 2008-02-05 Checkpoint / restart device and checkpoint / restart method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008024921A JP4992745B2 (en) 2008-02-05 2008-02-05 Checkpoint / restart device and checkpoint / restart method

Publications (2)

Publication Number Publication Date
JP2009187171A true JP2009187171A (en) 2009-08-20
JP4992745B2 JP4992745B2 (en) 2012-08-08

Family

ID=41070362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008024921A Expired - Fee Related JP4992745B2 (en) 2008-02-05 2008-02-05 Checkpoint / restart device and checkpoint / restart method

Country Status (1)

Country Link
JP (1) JP4992745B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579195A (en) * 2022-03-11 2022-06-03 浪潮商用机器有限公司 Operating system restarting method, system and related components

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05113897A (en) * 1991-10-22 1993-05-07 Nec Corp Computer system
JPH06230981A (en) * 1993-02-08 1994-08-19 Nec Corp Check point and restart controller
JP2002288149A (en) * 2001-03-26 2002-10-04 Hitachi Ltd Method for converting node coordinate in checkpoint restart for parallel computer
JP3919274B2 (en) * 1996-12-26 2007-05-23 株式会社東芝 Computer system having state recording reproduction function and computer-readable recording medium recording state recording reproduction program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05113897A (en) * 1991-10-22 1993-05-07 Nec Corp Computer system
JPH06230981A (en) * 1993-02-08 1994-08-19 Nec Corp Check point and restart controller
JP3919274B2 (en) * 1996-12-26 2007-05-23 株式会社東芝 Computer system having state recording reproduction function and computer-readable recording medium recording state recording reproduction program
JP2002288149A (en) * 2001-03-26 2002-10-04 Hitachi Ltd Method for converting node coordinate in checkpoint restart for parallel computer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579195A (en) * 2022-03-11 2022-06-03 浪潮商用机器有限公司 Operating system restarting method, system and related components
CN114579195B (en) * 2022-03-11 2023-08-18 浪潮商用机器有限公司 Operating system restarting method, system and related components

Also Published As

Publication number Publication date
JP4992745B2 (en) 2012-08-08

Similar Documents

Publication Publication Date Title
US9798595B2 (en) Transparent user mode scheduling on traditional threading systems
JP5212360B2 (en) Control program, control system, and control method
US7665065B2 (en) Software termination method
JP5093259B2 (en) Communication path strengthening method between BIOS and BMC, apparatus and program thereof
CN103885847A (en) Dog feeding method and device based on embedded system
CN106959909A (en) A kind of application software abnormal restoring method in android system
JP2007226413A (en) Memory dump method, memory dump program and computer system
CN110673927B (en) Scheduling method and device of virtual machine
WO2014139379A1 (en) Method and device for kernel running in heterogeneous operating system
JP4957765B2 (en) Software program execution device, software program execution method, and program
JP2001306341A (en) Computer system and computer readable recording medium
RU2010149275A (en) RESTORATION OF THE RESOURCE MANAGEMENT OF THE PROCESSING, WHICH EXECUTES THE EXTERNAL CONTEXT OF EXECUTION
JP2011053862A (en) Memory management method, computer system and program
JP4992745B2 (en) Checkpoint / restart device and checkpoint / restart method
JP5672521B2 (en) Computer system and checkpoint restart method thereof
JP2010277177A (en) Multi-operating system control method and processor system
JPWO2007108062A1 (en) Server management method, program and apparatus
KR20220074537A (en) Block commit method of virtual machine environment and, virtual system for performing the method
JP2010079572A (en) Information processor, external memory and control method
JP2009251681A (en) Expansion method for stack region and program
JP2010026830A (en) Data backup method for preventing load from being imposed on system
Lim et al. Enhancing init scheme for improving bootup time in mobile devices
JP2008077388A (en) Multiprocessor control system, method and program
JP2001034489A (en) Method for executing and controlling object-oriented program execution environment
JP2018013859A (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120321

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120423

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

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4992745

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees