본문 바로가기
KERD
논문KCI 등재

하이퍼레저 패브릭 Raft 복제 서버의 복구 시간 단축

Reducing Recovery Time of Raft Replicated Servers for Hyperledger Fabric

0

조회

0

다운로드

2

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

Raft는 하이퍼레저 패브릭 블록체인 프레임워크 내에서 클라이언트의 트랜잭션 요청을 기록하는 순서를 결정하고 복제 서버의 데이터 일치성을 보장하는 오더링 서비스를 제공하기 위한 것이다. 분산 합의 알고리즘인 Raft는 클러스터로 구성된 여러 복제 서버에서 동작한다. 이 실용적인 합의 알고리즘의 성능과 안전성을 분석하기 위한 여러 연구가 있었으나, 가용성의 측면에서는 아직 충분한 고려가 없었다. 본 연구는 주 서버 노드 역할을 하는 리더의 결함에 의해 서비스가 중단되고 새로운 리더가 선출되어 서비스가 재개될 때까지의 복구 시간을 단축하는 것을 목표로 진행되었다. 본 논문에서 제시하는 개선안은 알고리즘의 상태 전이 단계에 리더와 팔로워 그리고 후보 상태 외에 페이버릿이라는 새로운 상태를 추가한 것이다. 다섯 개의 복제 서버로 구성되는 시스템을 원래 Raft 알고리즘과 페이버릿 Raft 알고리즘 두 가지로 구현하고, 실험을 통하여 두 알고리즘의 응답 시간을 측정하였다. 또한 결함 탐지와 복구 과정에서 중요한 역할을 담당하는 제한시간의 범위를 정하는 방안을 제시하였다. 제안한 알고리즘은 원래 Raft 알고리즘에 비하여 8% 정도의 복구 시간 개선 효과를 나타내었다. 실험에서 관측된 데이터를 면밀하게 분석하여 제시된 알고리즘의 실효성을 입증하였다. ※ 이 논문은 인천대학교 2021년도 자체연구비 지원에 의하여 연구되었음

Abstract

Raft is to provide the ordering service for Hyperledger Fabric blockchain framework, which determines the recording order of transaction requests from clients and supports the data consistency among replicated servers. As a distributed consensus algorithm, Raft runs on multiple replicated servers composing a cluster. Although some research works were presented to analyze the performance and safety of the practical consensus algorithm, its availability has not been fully considered yet. This research has been conducted with a goal of reducing the recovery time from the service interruption due to a faulty leader until the resumption of service by a newly elected leader. An improvement proposed in this paper introduces a new state called ‘Favorite’ into the state transition of the algorithm in addition to the leader, follower, and candidate states. Both original and ‘Favorite’ Raft algorithms were implemented with five replicated servers, and the response times were measured in the experiments. A guideline to determine the range of the timeout values which plays an important role in the procedure of fault detection and recovery was also suggested in the paper. Compared to the original Raft algorithm, the proposed algorithm showed about 8 percent of improvement in recovery time. We have demonstrated the effect of the proposed algorithm by a thorough analysis on the data observed in the experiments.

참고문헌 (16)

  1. "release master"[URL]
  2. 전자통신동향분석, "2018", 33(1)
  3. Andrew S. Tanenbaum, "Distributed Systems: Principles and Paradigms" (2016)
  4. L. Lamport, "Paxos made simple", ACM SIGACT News, 32(4), pp.18~25 (2001)
  5. M. Pease, "Reaching agreement in the presence of faults", Journal of the ACM (JACM), 27(2), pp.228~234 (1980)
  6. Marius Poke, "Algorithms for High-Performance State-Machine Replication", Doctor, pp.2019
  7. Diego Ongaro, "In Search of and Understandable Consensus Algorithm (Extended Version)", Proc. of the USENIX Annual Tech. Conf (2014)
  8. Heidi Howard, "Raft Refloated: Do We Have Consensus?", SIGOPS Oper. Syst. Rev., 49(1) (2015)
  9. "Hyperledger Blockchain Performance Metrics"[URL]
  10. Dongyan Huang, "Performance Analysis of the Raft Consensus Algorithm for Private Blockchain", IEEE Trans. on Systems, Man, and Cybernetics: Systems, 99, pp.1~10 (2019)
  11. Caixiang Fan, "Performance Evaluation of Blockchain Systems: A Systematic Survey", IEEE Access, 8 (2020)
  12. 민연아, "프라이빗 블록체인 기반 효율적 합의 알고리즘 선정을 위한 성능평가요소 연구", 한국차세대컴퓨팅학회 논문지, 16(1), pp.65~74 (2020), 한국차세대컴퓨팅학회[DOI]
  13. 김재하, "크라우드 소싱을 위한 블록체인 기법의 활용 현황 분석", 한국차세대컴퓨팅학회 논문지, 16(4), pp.78~87 (2020), 한국차세대컴퓨팅학회[DOI]
  14. 민병준, "하이퍼레저 패브릭 Raft 알고리즘의 가용성 제고를 위한 개선 방안", 한국차세대컴퓨팅학회 논문지, 17(2), pp.80~91 (2021), 한국차세대컴퓨팅학회[DOI]
  15. 김태웅, "통계학 개론" (2013), 신영사
  16. 김병휘, "확률 및 통계" (2012), 자유아카데미

관련 논문AI추천

이 간행물의 다른 논문 (8건)