[논문 리뷰] XFT: Practical Fault Tolerance Beyond Crashes
이 논문은 다수의 레플리카 간 동기 통신을 활용함으로써 추가 자원 비용 없이 실용적인 바이진틴 결함 내성(Byzantine fault tolerance)을 가능하게 하는 새로운 결함 내성 모델인 XFT(Cross Fault Tolerance)를 소개한다. XPaxos는 첫 번째 XFT 상태 기반 복제 프로토콜로, CFT 수준의 성능을 유지하면서도 바이진틴 결함과 네트워크 비동기성을 견딜 수 있으며, 실제 글로벌 복제 환경에서 최대 5자리 가용성(99.999%)을 달성하여 CFT 및 BFT 프로토콜을 모두 능가한다.
Despite years of intensive research, Byzantine faulttolerant (BFT) systems have not yet been adopted in practice. This is due to additional cost of BFT in terms of resources, protocol complexity and performance, compared with crash fault-tolerance (CFT). This overhead of BFT comes from the assumption of a powerful adversary that can fully control not only the Byzantine faulty machines, but at the same time also the message delivery schedule across the entire network, effectively inducing communication asynchrony and partitioning otherwise correct machines at will. To many practitioners, however, such strong attacks appear irrelevant. In this paper, we introduce cross fault tolerance or XFT, a novel approach to building reliable and secure distributed systems and apply it to the classical state-machine replication (SMR) problem. In short, an XFT SMR protocol provides the reliability guarantees of widely used asynchronous CFT SMR protocols such as Paxos and Raft, but also tolerates Byzantine faults in combination with network asynchrony, as long as a majority of replicas are correct and communicate synchronously. This allows the development of XFT systems at the price of CFT (already paid for in practice), yet with strictly stronger resilience than CFT — sometimes even stronger than BFT itself. As a showcase for XFT, we present XPaxos, the first XFT SMR protocol. Although it offers much stronger resilience than CFT SMR at no extra resource cost, the performance of XPaxos matches that of the state-of-the art CFT protocols.
연구 동기 및 목표
- 결함 내성에 대한 수십 년에 걸친 연구에도 불구하고 바이진틴 결함 내성 시스템을 실제 구현하는 데 있어 실용적 격차를 해소하기 위해.
- 전체적으로 조정된 적대자(장애 발생 레플리카와 네트워크 동작을 모두 제어하는)를 가정하는 것의 강도를 완화함으로써 BFT의 인지된 비용을 줄이기 위해.
- 자원 비용 증가 없이 크래시 결함 내성(CFT)보다 더 강력한 복원력을 제공하는 결함 내성 모델을 설계하기 위해.
- 실제 장애 모델 하에서 CFT 및 BFT보다 더 높은 신뢰성을 제공할 수 있음을 입증하기 위해.
- 글로벌, 지리적으로 분산된 환경에서 XPaxos를 구현하여 XFT의 성능과 가용성을 검증하기 위해.
제안 방법
- 다수의 레플리카가 정상 상태를 유지하고 동기적으로 통신하는 한, 바이진틴 결함과 네트워크 비동기성을 견딜 수 있는 XFT라는 결함 내성 모델을 도입한다.
- CFT와 동일한 2t+1개의 레플리카를 사용하면서도 바이진틴 결함 하에서도 안전성과 활성화를 보장하는, 첫 번째 XFT 상태 기반 복제 프로토콜인 XPaxos를 설계한다.
- 네트워크 파artition과 바이진틴 결함가 동시에 조정되지 않는다는 가정을 활용함으로써, 전통적인 BFT에서 요구하는 3t+1개의 레플리카가 필요로 하는 수요를 줄인다.
- Amazon EC2 데이터 센터를 통해 글로벌 분산 환경에서 Apache ZooKeeper에 XPaxos를 통합하여 실세계 성능을 생산 환경 유사 조건에서 평가한다.
- 독립적이고 동일하게 분포된 장애 모델 하에서 XFT를 CFT 및 BFT와 비교하기 위해 확률적 가용성 분석을 사용한다.
- WAN 최적화된 지리적으로 분산된 환경에서의 엔드 투 엔드 평가를 통해 처리량과 지연 시간을 측정한다.
실험 결과
연구 질문
- RQ1자원 비용 증가 없이 CFT보다 더 강력한 복원력을 제공하는 결함 내성 모델을 설계할 수 있는가?
- RQ2특히 네트워크 파artition과 바이진틴 결함가 동시에 조정되지 않는다는 가정을 하여, CFT 수준의 성능으로 실용적인 BFT를 가능하게 할 수 있는가?
- RQ3실제 장애 분포 하에서 CFT 및 BFT보다 더 높은 가용성을 달성할 수 있는 프로토콜을 설계할 수 있는가?
- RQ4실제 구현 환경에서 최신 CFT 프로토콜인 Paxos와 동등한 성능을 보이는 BFT 프로토콜을 구축할 수 있는가?
- RQ5장애가 독립적이고 동일하게 분포된 랜덤 변수로 모델링될 경우, XFT의 가용성은 CFT 및 BFT와 비교해 어떻게 되는가?
주요 결과
- t=1일 때, 기계 가용성이 0.999이고 양호한 장애 비율이 0.99999일 경우 XPaxos는 CFT보다 한 단계 더 높은 가용성(99.999%)을 달성한다.
- t=1일 때, XPaxos는 BFT와 동일한 가용성 자릿수를 제공하지만, BFT가 요구하는 3t+1개의 레플리카 대신 2t+1개의 레플리카만 사용한다.
- t=2일 때, XPaxos는 BFT보다 한 단계 더 높은 가용성(3×9available−1 자릿수)을 달성한다. 반면 BFT는 오직 3×9available−2 자릿수의 가용성만 달성한다.
- EC2 글로벌 복제 환경에서 XPaxos는 WAN 최적화된 Paxos 변종과 동일한 처리량과 지연 시간을 기록하며, 가용한 최고 수준의 BFT 프로토콜보다 뚜렷이 뛰어난 성능을 보였다.
- Apache ZooKeeper의 내장된 CFT SMR 프로토콜보다 XPaxos가 뛰어나, 실세계 조정 서비스에서의 실용적 타당성을 입증했다.
- 분석 결과, 독립적이고 동일하게 분포된 장애를 가정할 경우 XPaxos는 BFT보다 엄밀히 더 강력한 신뢰성 보장을 제공하며, 특히 t≥2일 경우 두드러진다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.