사용자에게 투명한 복제 상태 기계의 재구성 기법
A User-Transparent Reconfiguration Scheme for Replicated State Machines
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
복제 상태 기계에서 고장이 발생한 후 시스템이 원래의 상태로 돌아가기 위해서는 수리한 서버를 재가동하고 비가동 시간 동안에 변화한 정상 복제의 최신 상태로 업데이트하는 과정이 필요하다. 정보 업데이트를 마치고 나면 재합류하려는 서버를 포함하는 새로운 멤버십이 복제 서버들에 의해 합의되도록 해야 한다. 이러한 재구성 과정에서 사용자의 응답 시간 지연이 발생하지 않도록 하는 것은 고가용도 시스템의 중요한 요건 중의 하나이다. 본 논문에서는 허가형 사설 블록체인 플랫폼인 하이퍼레저 패브릭에서 트랜잭션을 정해진 순서대로 정렬하는 오더링 서비스를 위한 복제 서버를 대상으로 한다. 이에 적용할 목적으로 개발한 복구 및 재구성 기법의 설계 및 구현을 통한 성능 분석을 제시한다. 재구성 과정에서 사용자의 요청에 대한 응답 시간의 지연을 최소화할 목적으로 기존의 프라이머리 리더 외에 제2의 프라이머리의 역할을 하는 페이버릿이라는 상태를 추가하였다. 상태 업데이트를 여러 단계로 나누어 진행하는 방식과 그룹의 멤버십의 합의 과정에 비잔틴 합의 방식을 적용하여 구현하였다. 기존의 접근 방식과 비교하여 사용자 응답 지연을 현저하게 줄일 수 있음을 실험을 통하여 확인할 수 있었다.
Abstract
After the occurrence of a failure in a replicated state machine, in order for the system to return to its original state, it is necessary to restart the repaired server and then update it to the latest state of the normal replica that changed during the downtime. After completing the information update, new membership, including the server to rejoin, should be agreed by the replicated servers. One of the important requirements for high-availability systems is to prevent user response time delays during this reconfiguration process. This paper targets a replicated server cluster of Hyperledger Fabric, a permissioned private blockchain platform, that provides the ordering service recording transactions in a fixed order. This paper presents a performance analysis through the design and implementation of recovery and reconfiguration techniques developed for the purpose. In order to minimize the delay in response time to users' requests during the reconfiguration process, in addition to the existing primary leader, we adopted a new state called favorite that acts as a secondary primary. A fragmented state update method and the Byzantine consensus method for the group's membership agreement process were applied for the implementation. Experiments have shown that user response delays can be significantly reduced compared to the existing approaches.
참고문헌 (17)
- Andrew S. Tanenbaum, "Distributed Systems: Principles and Paradigms" (2016), Pearson International Edition
- J.C. Yim, "Blockchain and Consensus Algorithm", ETRI Electronics and Telecommunications Trends, 33(1), pp.45~56 (2018)
- "release master" (2021)[URL]
- D.G. Yoon, "Blockchain Learning with Hyperledger Fabric", JPub, 13~75 (2018)
- Giang-Truong Nguyen, "A Survey about Consensus Algorithms Used in Blockchain", JIPS(Journal of Information Processing Systems), 14(1), pp.101~128 (2018), 한국정보처리학회[DOI]
- L. Lamport, "Paxos made simple", ACM SIGACT News, 32(4), pp.18~25 (2001)
- M. Pease, "Reaching agreement in the presence of faults", Journal of the ACM (JACM), 27(2), pp.228~234 (1980)
- Marius Poke, "Algorithms for High-Performance State-Machine Replication", Doctor, pp.2019
- Diego Ongaro, "In Search of and Understandable Consensus Algorithm (Extended Version)", Proc. of the USENIX Annual Tech. Conf (2014)
- Heidi Howard, "Raft Refloated: Do We Have Consensus?", SIGOPS Oper. Syst. Rev., 49(1) (2015)
- 민병준, "하이퍼레저 패브릭 Raft 알고리즘의 가용성 제고를 위한 개선 방안", 한국차세대컴퓨팅학회 논문지, 17(2), pp.80~91 (2021), 한국차세대컴퓨팅학회[DOI]
- 민병준, "하이퍼레저 패브릭 Raft 복제 서버의 복구 시간 단축", 한국차세대컴퓨팅학회 논문지, 18(2), pp.84~98 (2022), 한국차세대컴퓨팅학회[DOI]
- Viewstamped Replication Revisited, "Barbara Liskov", MIT, ~, pp.Technical Report MIT-CSAIL-TR-20120021 (2012)
- O'Neil, "The log-structured merge-tree (LSM-tree)", Acta Information, 33(4), pp.351~385 (1996)
- 김재하, "크라우드 소싱을 위한 블록체인 기법의 활용 현황 분석", 한국차세대컴퓨팅학회 논문지, 16(4), pp.78~87 (2020), 한국차세대컴퓨팅학회[DOI]
- B.H. Kim, "Probability and Statics" (2012), Free Academy
