KR20010037622A - 분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법 - Google Patents
분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법 Download PDFInfo
- Publication number
- KR20010037622A KR20010037622A KR1019990045258A KR19990045258A KR20010037622A KR 20010037622 A KR20010037622 A KR 20010037622A KR 1019990045258 A KR1019990045258 A KR 1019990045258A KR 19990045258 A KR19990045258 A KR 19990045258A KR 20010037622 A KR20010037622 A KR 20010037622A
- Authority
- KR
- South Korea
- Prior art keywords
- checkpoint
- message
- memory
- flag value
- message transmission
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Retry When Errors Occur (AREA)
Abstract
본 발명은 분산 시스템 환경에서 작업 수행 중 결함이 발생하더라도 빠른 시간 안에 결함을 극복하고, 작업 완료 시간을 단축시킬 수 있는 체크포인팅 방법에 관한 것이다.
본 발명은 기존의 체크포인팅 방법들이 작업 수행 중에 많은 수의 체크포인트를 유발하거나, 결함 발생 시 롤백 거리가 증가하는 단점을 개선하기 위하여 작업 진행중에 다른 프로세스에 메시지를 전송하고자 할 때 전송 프로세스가 메시지에 자신의 체크포인트 번호를 부가하여 전송하는 메시지 전송 루틴; 다른 프로세스로부터 메시지가 수신된 경우 수신한 메시지를 처리하기 전에 부가된 전송 프로세스의 체크포인트 번호, 현 프로세스의 체크포인트 번호, 메모리 체크포인트 플래그 및 메시지 전송 플래그를 참조하여 메모리 체크포인트를 실시하고 메시지를 처리하는 메시지 처리 루틴; 정기적으로 메모리 체크포인트 플래그 값을 참조하여 체크포인트를 실시하는 정기적 체크포인트 루틴을 포함하여, 체크포인트 번호와 메모리 체크포인트를 이용하여 체크포인팅을 수행하여 최소의 체크포인트 회수와 짧은 롤백 거리를 갖도록 함으로써 발생한 환경과 결함이 발생하지 않은 환경에서 빠른 시간 내에 작업을 완료할 수 있도록 한다.
Description
본 발명은 분산 시스템에서 작업 수행 중 결함이 발생하더라도 빠른 시간 내에 결함을 극복하고, 작업 완료 시간을 단축시킬 수 있는 체크포인팅 방법에 관한 것으로서, 특히 전송 프로세스가 메시지를 전송할 때 자신의 체크포인트 번호를 부가하여 전송하고, 수신 프로세스는 수신한 메시지를 처리하기 전에 부가된 메시지 전송 프로세스의 체크포인트 번호, 현 프로세스 체크포인트 번호, 메모리 체크포인트 플래그 및 메시지 전송 플래그를 참조하여 메모리 체크포인트 실시 여부를 결정한 후 메시지를 처리하며, 정기적 체크포인트 수행시에는 메모리 체크포인트 결과를 참조하여 체크포인트를 실시하는 독립 체크포인팅 방법이다.
체크포인팅(checkpointing) 기술은 분산 시스템 환경에서 작업 수행 중에 각 프로세스의 상태 정보를 디스크에 기록하였다가, 결함이 발생했을 때 이 정보를 이용하여 작업을 다시 수행할 수 있도록 해주는 기술이다.
현재까지 많은 체크포인팅 기술들이 제안되어 왔다. Xu등이 제안한 적응적(adaptive) 체크포인팅 알고리즘은 입력 메시지에 의한 지그잭(zigzag) 사이클 존재유무를 이용하여 체크포인트 한다. 적응적 체크포인팅 알고리즘은 입력 메시지가 지그잭 사이클을 형성하면, 도미노 효과를 발생시킬 수 있다는 관찰에 기본을 두고 있다. 따라서, 적응적 체크포인팅 알고리즘에서는 입력 메시지가 지그잭 사이클을 형성하면, 수신 프로세스는 메시지 처리 전에 체크포인트하여 지그잭 사이클을 제거한다.
Wang 등의 연구에서는 체크포인트 번호를 이용하는 나태적(lazy) 체크포인팅 알고리즘이 제시되었다. 나태적 체크포인팅 알고리즘에서 메시지 전송 프로세스는 전송되는 메시지에 자신의 체크포인트 번호를 전송 메시지에 첨가하고, 메시지 수신 프로세스는 메시지를 처리하기 전에 메시지에 첨가된 전송 프로세스의 체크포인트 번호와 자신의 체크포인트 번호를 비교한다. 만약 전송 프로세스의 체크포인트 번호가 더 크면, 메시지를 처리하기 전에 체크포인트 한다. 이때, 두 프로세스의 체크포인트 번호는 같게 된다.
하지만, 이러한 체크포인팅 기술들은 프로세스간 메시지 전송량과 수행 속도 차이가 증가하게 되면, 많은 수의 체크포인트를 유발하거나, 결함발생 시 롤백(roll back) 거리가 증가하게 되는 문제점들이 존재한다.
그런데, 체크포인트 회수는 결함이 발생하지 않은 환경에서 작업 완료 시간과 직접적인 관계가 있고, 롤백 거리는 결함이 발생한 환경에서 작업 완료 시간과 밀접한 관계가 있다. 따라서, 많은 회수의 체크포인트와 롤백 거리의 증가는 작업 완료 시간을 증가시키게 된다.
상술한 종래의 체크포인팅 방법의 문제점을 해결하기 위한 본 발명의 목적은 분산 시스템 환경에서 다수의 프로세스들이 하나의 작업을 공동으로 수행할 때, 체크포인트 회수와 짧은 롤백(roll back) 거리를 갖도록 함으로써 결함이 발생하지 않은 환경은 물론이고 결함이 발생한 환경에서도 최대한 빠른 시간 내에 작업을 완료할 수 있도록 하는 메모리 체크포인트를 이용한 독립 체크포인팅 방법을 제공하는 데 있다.
도 1은 본 발명에 따른 분산 시스템에서의 프로세스 구성도
도 2는 본 발명의 메시지 전송 루틴의 흐름도
도 3은 본 발명의 메시지 처리 루틴의 흐름도
도 4는 본 발명의 정기적 체크포인팅 루틴의 흐름도
상술한 목적을 달성하기 위한 본 발명의 독립 체크포인팅 방법은 작업 진행중에 다른 프로세스에 메시지를 전송하고자 할 때 전송 프로세스가 메시지에 자신의 체크포인트 번호를 부가하여 전송하는 메시지 전송 루틴, 다른 프로세스로부터 메시지가 수신된 경우 수신한 메시지를 처리하기 전에 부가된 전송 프로세스의 체크포인트 번호, 현 프로세스의 체크포인트 번호, 메모리 체크포인트 플래그 및 메시지 전송 플래그를 참조하여 메모리 체크포인트를 실시하고 메시지를 처리하는 메시지 처리 루틴, 정기적으로 메모리 체크포인트 플래그 값을 참조하여 체크포인트를 실시하는 정기적 체크포인트 루틴으로 이루어지는 것을 특징으로 한다.
이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세하게 설명한다.
본 발명은 근거리 통신망(Local Area Network : LAN)으로 연결된 다수의 로컬머신(local machine)이 연결되는 분산 시스템에 적용된다.
로컬 머신은 각각 도 1에서 보듯이 로컬 메모리와 로컬 디스크를 포함하고 있고, 하나의 작업에 대해 할당된 프로세스를 수행한다. 각 프로세스는 폴트시 재실행을 위하여 메시지 전송 루틴, 메시지 처리 루틴, 정기적 체크포인트 루틴들을 포함하며 메시지를 통해서 다른 프로세스에게 필요한 정보를 전달하게 된다.
먼저, 도 2를 참조하여 메시지 전송 루틴을 설명한다.
도면에서 보듯이 본 발명의 독립 체크포인팅 방법은 메시지 전송시에 전송할 메시지를 생성하는 제1단계, 전송 메시지에 현 프로세스의 체크포인트 번호를 첨가하는 제2단계, 고아 메시지(orphan message) 발생시 처리를 위해 메시지 전송 플래그 값을 참으로 설정하는 제3단계 및 실제 메시지를 전송하는 제4단계로 이루어진다.
이를 자세하게 설명하면, 현 프로세스 진행 중에 다른 로컬 머신에서 진행 중인 다른 프로세스에 메시지를 전송하여야 하는 경우 먼저 전송할 메시지를 생성한다(S10).
그런 다음 생성된 전송 메시지에 현 프로세스의 체크포인트 번호를 첨가한다(S11).
현 프로세스의 체크포인트 번호는 후술할 정기적 체크포인트 루틴의 수행에 의해 증가되거나 다른 프로세스로부터 메시지를 전송 받는 경우, 전송 프로세스의 체크포인트 번호로 변경되어 설정된다.
전송할 메시지에 체크포인트 번호를 첨가한 다음, 현 프로세스가 다른 프로세스로 메시지를 전송하였음을 표시하기 위하여 메시지 전송 플래그 값을 참(True)으로 설정한 다음 메시지를 전송한다(S12, S13).
여기서, 메시지 전송 플래그가 필요한 이유는 고아 메시지가 발생하는 경우와 메모리 체크포인트 횟수를 줄이기 위해서이다. 고아 메시지는 메시지 전송 프로세스의 체크포인트 이후에 전송되고, 메시지 수신 프로세스의 체크포인트 이전에 도착한 메시지를 말한다. 고아 메시지는 메시지 전송 프로세스에 결함 발생 시, 메시지 수신 프로세스를 체크포인트 이전으로 되돌아가게 한다. 따라서, 메시지 전송 프로세스에서 메시지를 전송한 후에 체크포인트를 하게 되면, 고아 메시지를 방지할 수 있다.
본 발명에서는 각 프로세스의 전체 수행 중에서 메모리 체크포인트 회수를 줄이고, 고아 메시지를 방지하기 위해서 메시지 전송 플래그 값을 이용한다. 즉, 메시지 전송 프로세스의 체크포인트 번호가 메시지 수신 프로세스의 체크포인트 번호보다 더 크고, 메시지 수신 프로세스의 현 메시지 전송 플래그 값이 참인지를 조사하여, 플래그 값이 참인 경우에만 메모리 체크포인트를 하게 된다.
이하에서, 도 3을 참조하여 체크포인트 번호가 첨가된 메시지를 수신한 경우 이를 처리하는 메시지 처리 루틴을 설명한다.
도면에서 보듯이 메시지 처리 루틴은 다른 프로세스로부터 메시지를 수신하여 메시지 전송 프로세스의 체크포인트 번호와 현 프로세스의 체크포인트 번호를 비교하는 제1단계, 비교결과 메시지 전송 프로세스의 체크포인트 번호가 현 프로세스의 체크포인트 번호와 같거나 작으면 수신된 메시지를 처리하는 제2단계, 메시지 전송 프로세스의 체크포인트 번호가 현 프로세스의 체크포인트 번호 보다 크면 메모리 체크포인트 플래그 값을 확인하는 제3단계, 제3단계의 확인결과 메모리 체크포인트 플래그 값이 참이면 현 프로세스의 체크포인트 번호를 메시지 전송 프로세스의 체크포인트 번호로 설정한 다음 메시지를 처리하는 제4단계, 제3단계의 확인결과 메모리 체크포인트 플래그 값이 거짓이면 메시지 전송 플래그 값을 확인하는 제5단계, 제5단계에서의 확인 결과 메시지 전송 플래그 값이 참이면 현 프로세스의 상태 정보를 메모리에 저장하고, 체크포인트 번호를 메시지 전송 프로세스의 체크포인트 번호로 설정한 후 메모리 체크포인트 플래그 값을 참으로, 메시지 전송 플래그 값을 거짓으로 설정한 다음 메시지를 처리하는 제6단계, 제5단계에서 확인 결과 메시지 전송 플래그 값이 거짓이면 현 프로세스의 체크포인트 번호를 메시지 전송 프로세스의 체크포인트 번호로 설정한 다음 메시지를 처리하는 제7단계로 이루어진다.
상세하게 설명한다.
메시지 처리 루틴은 다른 프로세스에서 메시지가 수신되면, 수신된 메시지를 처리하기 전에 현 프로세스의 체크포인트 번호와 메시지에 첨가된 전송 프로세스의 체크포인트 번호를 서로 비교한다(S21, S22).
만약, 비교결과 메시지 전송 프로세스의 체크포인트 번호가 현 프로세스의 체크포인트 번호와 같거나 작으면 메시지 전송 프로세스의 진행 속도가 현 프로세스의 진행 속도와 같거나 느리다는 것을 의미한다. 이 경우 현 프로세스의 메모리 체크포인트는 불필요하므로 현 프로세스는 메모리 체크포인트 수행 없이 수신된 메시지를 처리한다(S25).
그러나 S22에서의 비교결과 메시지 전송 프로세스의 체크포인트 번호가 현 프로세스의 체크포인트 번호 보다 크면 메시지 전송 프로세스의 진행이 현 프로세스보다 빠르다는 것을 의미한다. 따라서, 현 프로세스는 수신된 메시지를 처리하기 전에 메모리 체크포인트 수행 여부를 결정한다.
메모리 체크포인트 수행은 메시지 전송 프로세스의 체크포인트 번호가 현 프로세스의 체크포인트 번호 보다 크고, 메모리 체크포인트를 수행한 적이 없으며, 다른 프로세스로 메시지를 전송한 후 메모리 체크포인트 또는 정기적 체크포인트를 수행한 적이 없는 경우에만 수행한다. 이는 정기적 체크포인트 수행 전에 여러 다른 프로세스들로부터 다수의 메시지가 수신되더라도 메모리 체크포인트를 반복하지 않도록 함으로써 체크포인트 회수를 줄이고, 결과적으로 작업 완료시간을 줄이기 위한 것이다.
이를 위해 먼저, 이전에 메모리 체크포인트가 수행되었는지를 판단하기 위하여 메모리 체크포인트 플래그 값을 확인한다(S23)
확인결과 메모리 체크포인트 플래그 값이 참이면 정기적 체크포인트 수행 후에 메모리 체크포인트가 수행되었음을 의미하므로 메모리 체크포인트를 수행하지 않고, 현 프로세스의 체크포인트 번호를 메시지 전송 프로세스의 체크포인트 번호로 설정한 다음 메시지를 처리한다(S24, S25).
그러나 S23에서의 확인결과 메모리 체크포인트 플래그 값이 거짓이면 메시지 전송 플래그 값을 확인한다(S26).
메시지 전송 플래그는 현 프로세스가 다른 프로세스로 메시지를 전송하였는지를 표시하는 플래그로서, 앞서 설명한 메시지 전송 루틴에서 참으로 설정되고, 후술하는 메모리 체크포인트 또는 정기적 체크포인트 수행 후에 거짓으로 설정된다.
따라서, S26에서의 확인 결과 메시지 전송 플래그 값이 참이면 메시지 전송 후에 메모리 체크포인트 또는 정기적 체크포인트가 수행되지 않았으므로 현 프로세스의 상태 정보를 메모리에 저장하는 메모리 체크포인트를 수행한다. 그리고, 체크포인트 번호를 메시지 전송 프로세스의 체크포인트 번호로 설정하여 체크포인트 번호를 일치시킨다(S27).
그런 다음, 메모리 체크포인트 플래그 값을 참으로, 메시지 전송 플래그 값을 거짓으로 설정한 다음 메시지를 처리한다(S28, S25).
도 4의 정기적 체크포인트 루틴의 흐름도로서, 일정시간마다 각 프로세스의 현 상태를 디스크로 저장하기 위한 루틴이다.
도면에서 보듯이 정기적 체크포인트 루틴은 정기적 체크포인트 시간이 되면 메모리 체크포인트 플래그 값을 확인하는 제1단계, 확인 결과 메모리 체크포인트 플래그 값이 참이면 메모리에 저장된 프로세스 상태 정보를 디스크에 저장하고, 메모리 체크 포인트 플래그 값이 거짓이면 현 프로세스의 상태 정보를 디스크에 저장한 다음 체크 포인트 번호를 1만큼 증가시키는 제2단계, 다음 정기적 체크포인트 시간을 계산하는 제3단계, 메모리 체크포인트 플래그와 메시지 전송 플래그 값을 거짓으로 설정하는 제4단계로 이루어진다.
이를 상세하게 설명하면, 정기적 체크포인트 루틴은 일정시간마다 프로세스의 현 상태 정보를 디스크로 기록하기 전에, 메모리 체크포인트 플래그 값이 참인지를 조사한다(S31, S32).
메모리 체크포인트 플래그는 앞서 설명한 메시지 처리 루틴에서 메모리 체크포인트가 수행되었는지를 표시하는 플래그이다. 따라서, 메모리 체크포인트 플래그 값이 참이면, 최근에 메모리 체크포인트가 수행되었으므로 체크포인트 번호의 증가 없이 메모리에 저장된 프로세스 상태 정보를 디스크에 기록하게 된다.(S32)
그러나 S31에서의 확인 결과, 만약 메모리 체크포인트 플래그 값이 거짓이라면, 최근에 메모리 체크포인트가 수행되지 않았으므로 현 프로세스 상태 정보를 디스크에 기록하고, 체크포인트 번호를 1만큼 증가시킨다(S33).
그런 다음에 정기적 체크포인트가 수행될 시간을 계산한 다음, 메모리 체크포인트 플래그와 메시지 전송 플래그 값들을 거짓으로 설정 변경하게 된다(S34∼S36).
상술한 바와 같이 본 발명은 프로세스간 메시지 전송시에 체크포인트 번호를 첨가하여 전송하고, 메시지 전송 프로세스의 체크포인트 번호가 현 프로세스의 체크포인트 번호보다 큰 경우, 메모리 체크포인트 플래그 및 메시지 전송 플래그를 참조하여 메모리 체크포인트 수행하고 현 프로세스의 체크포인트 번호를 메시지 수신 프로세스의 체크포인트 번호로 설정하며, 정기적 체크포인트 수행시에는 메모리 체크포인트의 결과를 이용한다.
따라서, 본 발명은 분산 시스템 환경에서 다수의 프로세스들이 공통된 작업을 수행할 경우 프로세스간 메시지 전송량과 프로세스간 수행속도 차이에 관계없이 항상 최소의 체크포인트 회수를 가지게 된다. 그리고, 프로세스간 메시지 전송으로 발생되는 프로세스 의존관계를 메모리 체크포인트를 이용하여, 제거함으로써 결함발생 시 짧은 롤백거리를 가지게 된다. 그러므로, 본 발명은 분산 시스템 환경에서 결함이 발생하지 않는 환경과 결함이 발생한 환경 모두에서 최대한 빠른 시간 내에 작업을 완료할 수 있는 효과가 있다.
이상에서 본 발명에 대한 기술사상을 첨부도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술분야의 통상의 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
Claims (5)
- 근거리 통신망(LAN)으로 다수의 로컬머신이 연결되는 분산 시스템에서 각 로컬 머신 폴트시 프로세스 재실행을 위한 체크포인팅 방법에 있어서,작업 진행중에 현 프로세스가 다른 프로세스에 메시지를 전송하고자 할 때 전송할 메시지에 자신의 체크포인트 번호를 부가하여 전송하는 메시지 전송 루틴; 다른 프로세스로부터 메시지가 수신된 경우 부가된 전송 프로세스의 체크포인트 번호, 현 프로세스의 체크포인트 번호, 메모리 체크포인트 플래그 및 메시지 전송 플래그를 참조하여 메모리 체크포인트를 실시하고 메시지를 처리하는 메시지 처리 루틴; 및 정기적으로 메모리 체크포인트 플래그 값을 참조하여 폴트시 재수행에 필요한 상태정보를 디스크에 저장하는 체크포인트를 실시하는 정기적 체크포인트 루틴을 포함하는 것을 특징으로 하는 메모리 체크포인트를 이용한 독립 체크포인팅 방법.
- 제1항에 있어서,상기 메시지 전송 루틴은 메시지 전송시에 전송할 메시지를 생성하는 제1단계; 전송 메시지에 현 프로세스의 체크포인트 번호를 첨가하는 제2단계; 고아 메시지 발생시 처리를 위해 메시지 전송 플래그 값을 참으로 설정하는 제3단계; 및 실제 메시지를 전송하는 제4단계를 포함하는 것을 특징으로 하는 메모리 체크포인트를 이용한 독립 체크포인팅 방법.
- 제1항 또는 제2항에 있어서,상기 메시지 처리 루틴은 다른 프로세스로부터 메시지를 수신하여 메시지 전송 프로세스의 체크포인트 번호와 현 프로세스의 체크포인트 번호를 비교하는 제1단계; 비교결과 메시지 전송 프로세스의 체크포인트 번호가 현 프로세스의 체크포인트 번호와 같거나 작으면 수신된 메시지를 처리하는 제2단계; 메시지 전송 프로세스의 체크포인트 번호가 현 프로세스의 체크포인트 번호 보다 크면 메모리 체크포인트 플래그 값을 확인하는 제3단계; 제3단계의 확인결과 메모리 체크포인트 플래그 값이 참이면 현 프로세스의 체크포인트 번호를 메시지 전송 프로세스의 체크포인트 번호로 설정한 다음 메시지를 처리하는 제4단계; 제3단계의 확인결과 메모리 체크포인트 플래그 값이 거짓이면 메시지 전송 플래그 값을 확인하는 제5단계;제5단계에서의 확인 결과 메시지 전송 플래그 값이 참이면 현 프로세스의 상태 정보를 메모리에 저장하고, 체크포인트 번호를 메시지 전송 프로세스의 체크포인트 번호로 설정한 후 메모리 체크포인트 플래그 값을 참으로, 메시지 전송 플래그 값을 거짓으로 설정한 다음 메시지를 처리하는 제6단계; 및 제5단계에서 확인 결과 메시지 전송 플래그 값이 거짓이면 현 프로세스의 체크포인트 번호를 메시지 전송 프로세스의 체크포인트 번호로 설정한 다음 메시지를 처리하는 제7단계를 포함하는 것을 특징으로 하는 메모리 체크포인트를 이용한 독립 체크포인팅 방법.
- 제1항 또는 제2항에 있어서,상기 정기적 체크포인트 루틴은 정기적 체크포인트 시간이 되면 메모리 체크포인트 플래그 값을 확인하는 제1단계; 확인 결과 메모리 체크포인트 플래그 값이 참이면 메모리에 저장된 프로세스 상태 정보를 디스크에 저장하고, 메모리 체크 포인트 플래그 값이 거짓이면 현 프로세스의 상태 정보를 디스크에 저장한 다음 체크 포인트 번호를 1만큼 증가시키는 제2단계; 다음 정기적 체크포인트 시간을 계산하는 제3단계; 및 메모리 체크포인트 플래그와 메시지 전송 플래그 값을 거짓으로 설정하는 제4단계를 포함하는 것을 특징으로 하는 메모리 체크포인트를 이용한 독립 체크포인팅 방법.
- 제3항에 있어서,상기 정기적 체크포인트 루틴은 정기적 체크포인트 시간이 되면 메모리 체크포인트 플래그 값을 확인하는 제1단계; 확인 결과 메모리 체크포인트 플래그 값이 참이면 메모리에 저장된 프로세스 상태 정보를 디스크에 저장하고, 메모리 체크 포인트 플래그 값이 거짓이면 현 프로세스의 상태 정보를 디스크에 저장한 다음 체크 포인트 번호를 1만큼 증가시키는 제2단계; 다음 정기적 체크포인트 시간을 계산하는 제3단계; 및 메모리 체크포인트 플래그와 메시지 전송 플래그 값을 거짓으로 설정하는 제4단계를 포함하는 것을 특징으로 하는 메모리 체크포인트를 이용한 독립 체크포인팅 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990045258A KR20010037622A (ko) | 1999-10-19 | 1999-10-19 | 분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법 |
US09/495,587 US6519712B1 (en) | 1999-10-19 | 2000-02-01 | Independent checkpointing method using a memory checkpoint on a distributed system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990045258A KR20010037622A (ko) | 1999-10-19 | 1999-10-19 | 분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010037622A true KR20010037622A (ko) | 2001-05-15 |
Family
ID=19615878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990045258A KR20010037622A (ko) | 1999-10-19 | 1999-10-19 | 분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6519712B1 (ko) |
KR (1) | KR20010037622A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101132389B1 (ko) * | 2007-04-09 | 2012-04-03 | 엘지엔시스(주) | 분산자료구조 기반 체크포인트메모리 구조화 장치 및 방법 |
KR20170073659A (ko) * | 2014-10-20 | 2017-06-28 | 아브 이니티오 테크놀로지 엘엘시 | 계산적인 불확정 하에서의 결함 허용 및 복구 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6735717B1 (en) * | 2000-04-13 | 2004-05-11 | Gnp Computers, Inc. | Distributed computing system clustering model providing soft real-time responsiveness and continuous availability |
US6687853B1 (en) * | 2000-05-31 | 2004-02-03 | International Business Machines Corporation | Checkpointing for recovery of channels in a data processing system |
US6910154B1 (en) * | 2000-08-18 | 2005-06-21 | Network Appliance, Inc. | Persistent and reliable delivery of event messages |
US20020138790A1 (en) * | 2001-03-26 | 2002-09-26 | Satyanarayana Nishtala | Apparatus and method for managing errors on a point-to-point interconnect |
US6834358B2 (en) * | 2001-03-28 | 2004-12-21 | Ncr Corporation | Restartable database loads using parallel data streams |
US7379444B2 (en) * | 2003-01-27 | 2008-05-27 | International Business Machines Corporation | Method to recover from node failure/recovery incidents in distributed systems in which notification does not occur |
US7030739B2 (en) * | 2003-01-27 | 2006-04-18 | Audiovox Corporation | Vehicle security system and method for programming an arming delay |
US7139781B2 (en) * | 2003-04-29 | 2006-11-21 | International Business Machines Corporation | Managing filesystem versions |
TW200509604A (en) * | 2003-05-08 | 2005-03-01 | Matsushita Electric Ind Co Ltd | Message processor, apparatus controlling device, home electrical appliance, program for message processor, microcomputer system, program for microcomputer system, and program product |
JP2008502953A (ja) * | 2003-11-17 | 2008-01-31 | ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド | 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行 |
US7269706B2 (en) | 2004-12-09 | 2007-09-11 | International Business Machines Corporation | Adaptive incremental checkpointing |
US8108721B2 (en) * | 2009-11-24 | 2012-01-31 | Honeywell International Inc. | Architecture and method for hardware-assisted processor checkpointing and rollback |
US8458403B2 (en) * | 2009-11-24 | 2013-06-04 | Honeywell International Inc. | Architecture and method for cache-based checkpointing and rollback |
US8909987B2 (en) | 2012-04-27 | 2014-12-09 | Hewlett-Packard Development Company, L. P. | Recovery segments |
US9800672B2 (en) | 2015-04-09 | 2017-10-24 | Eugene Edwin Nelson | Computer work distribution system and method |
US10798636B2 (en) * | 2019-01-16 | 2020-10-06 | Sony Corporation | Integrating sectorized communication and route discovery in multi-hop systems |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2878988B2 (ja) | 1995-06-19 | 1999-04-05 | 株式会社東芝 | チェックポイント通信処理システム |
JP3154942B2 (ja) * | 1995-09-11 | 2001-04-09 | 株式会社東芝 | 分散チェックポイント生成方法および同方法が適用される計算機システム |
US5630047A (en) | 1995-09-12 | 1997-05-13 | Lucent Technologies Inc. | Method for software error recovery using consistent global checkpoints |
JP3258228B2 (ja) * | 1996-03-15 | 2002-02-18 | 株式会社東芝 | チェックポイント生成方法 |
US6332200B1 (en) * | 1998-10-29 | 2001-12-18 | International Business Machines Corporation | Capturing and identifying a complete and consistent set of checkpoint files |
US6397352B1 (en) * | 1999-02-24 | 2002-05-28 | Oracle Corporation | Reliable message propagation in a distributed computer system |
-
1999
- 1999-10-19 KR KR1019990045258A patent/KR20010037622A/ko not_active Application Discontinuation
-
2000
- 2000-02-01 US US09/495,587 patent/US6519712B1/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101132389B1 (ko) * | 2007-04-09 | 2012-04-03 | 엘지엔시스(주) | 분산자료구조 기반 체크포인트메모리 구조화 장치 및 방법 |
KR20170073659A (ko) * | 2014-10-20 | 2017-06-28 | 아브 이니티오 테크놀로지 엘엘시 | 계산적인 불확정 하에서의 결함 허용 및 복구 |
Also Published As
Publication number | Publication date |
---|---|
US6519712B1 (en) | 2003-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20010037622A (ko) | 분산 시스템에서 메모리 체크포인트를 이용한 독립 체크포인팅 방법 | |
US6026499A (en) | Scheme for restarting processes at distributed checkpoints in client-server computer system | |
US7669074B2 (en) | Method for fault handling in a co-operative workflow environment | |
US6185702B1 (en) | Method and system for process state management using checkpoints | |
US6363496B1 (en) | Apparatus and method for reducing duration of timeout periods in fault-tolerant distributed computer systems | |
CN104426624B (zh) | 一种图像同步显示方法及装置 | |
JPWO2008136107A1 (ja) | 切替処理プログラム、切替処理方法および完全二重化システム | |
CN110609822B (zh) | 数据流处理方法、设备和计算机程序产品 | |
KR960014980B1 (ko) | 랜(lan) 감시장치 및 통신절차 감시방법 | |
EP0414385A2 (en) | Communication apparatus for monitoring the amount of transmitted data | |
US7243257B2 (en) | Computer system for preventing inter-node fault propagation | |
CN110519098A (zh) | 一种异常单板的处理方法及装置 | |
KR100298319B1 (ko) | 통신시스템에서의 이중화 장치_ | |
JPH11353284A (ja) | ジョブ再実行方法 | |
CN115390097B (zh) | 双余度卫星导航接收机、故障检测及处理方法和装置 | |
CN114979180B (zh) | 数据同步方法、***及设备 | |
CN110659205A (zh) | 一种多服务器协作的软件测试方法及其*** | |
CN117608791A (zh) | 一种***线程调度方法及其验证方法 | |
US20130166950A1 (en) | Data processing device | |
JPH03250240A (ja) | 放送通信システム | |
CN117112315A (zh) | 冗余设备的数据同步方法、***、存储介质和电子设备 | |
CN116264535A (zh) | 消息故障处理方法、装置、计算设备及计算机存储介质 | |
CN117520341A (zh) | 金融数据库的多路索引并行构建方法、装置、设备及介质 | |
JP4258372B2 (ja) | 共通メモリ管理方法 | |
CN110113189A (zh) | 发布***出错节点的定位方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |