Skip to main content
QUICK REVIEW

[논문 리뷰] Linearizable Replicated State Machines With Lattice Agreement

Xiong Zheng, Vijay K. Garg|arXiv (Cornell University)|2018. 10. 13.
Distributed systems and fault tolerance참고 문헌 17인용 수 5
한 줄 요약

이 논문은 O(log f) 이방향 라티스 합의 프로토콜인 AsyncLA를 제안한다. 이는 이전의 O(f) 기준에 비해 지수적으로 향상된 성능을 제공하며, 선형성 보장된 복제 상태 기계(LaRSM)의 효율적 구현을 가능하게 한다. 일반화된 라티스 합의를 최적화하고 CRDT와 통합함으로써, 저지연, 고처리량의 LaRSM을 구현하였으며, SPaxos 대비 1.3배 높은 처리량을 기록하고 장애 발생 시에도 가용성을 유지한다. 이는 선형성 보장 RSM의 콘센서스 대체 수단으로서의 라티스 합의의 실용성을 입증한다.

ABSTRACT

This paper studies the lattice agreement problem in asynchronous systems and explores its application to building linearizable replicated state machines (RSM). First, we propose an algorithm to solve the lattice agreement problem in $O(\log f)$ asynchronous rounds, where $f$ is the number of crash failures that the system can tolerate. This is an exponential improvement over the previous best upper bound. Second, Faleiro et al have shown in [Faleiro et al. PODC, 2012] that combination of conflict-free data types and lattice agreement protocols can be applied to implement linearizable RSM. They give a Paxos style lattice agreement protocol, which can be adapted to implement linearizable RSM and guarantee that a command can be learned in at most $O(n)$ message delays, where $n$ is the number of proposers. Later on, Xiong et al in [Xiong et al. DISC, 2018] give a lattice agreement protocol which improves the $O(n)$ guarantee to be $O(f)$. However, neither protocols is practical for building a linearizable RSM. Thus, in the second part of the paper, we first give an improved protocol based on the one proposed by Xiong et al. Then, we implement a simple linearizable RSM using the our improved protocol and compare our implementation with an open source Java implementation of Paxos. Results show that better performance can be obtained by using lattice agreement based protocols to implement a linearizable RSM compared to traditional consensus based protocols.

연구 동기 및 목표

  • 기존의 라티스 합의 프로토콜이 실용적인 선형성 보장 복제 상태 기계(RSM) 구축에 비효율적인 문제를 해결하기 위해.
  • 라티스 합의의 이방향 라운드 복잡도를 O(f)에서 O(log f)로 감소시켜 성능을 크게 향상시키기 위해.
  • 선형성 보장 RSM의 효율적 구현을 위한 충분한 성능을 보장하는 실용적인 일반화된 라티스 합의 프로토콜을 설계하기 위해.
  • 정상 및 장애 조건 하에서 SPaxos와 같은 파코스 기반 시스템과의 성능을 실험적으로 평가하기 위해.

제안 방법

  • 계층적 조정과 장애 내성 퀠럼을 통한 값 전파를 활용해 O(log f) 이방향 라운드를 달성하는 새로운 라티스 합의 알고리즘인 AsyncLA를 설계한다.
  • 저자 Xiong 등(2018)의 일반화된 라티스 합의 프로토콜을 최적화하여 메시지 오버헤드를 감소시키고 쓰기 중심 워크로드에서의 배치 처리 성능을 향상시킨다.
  • 향상된 라티스 합의 프로토콜과 CRDT 맵 데이터 구조를 결합하여 결정론적 업데이트 및 쿼리를 지원하는 선형성 보장 RSM(LaRSM)을 구현한다.
  • 클라이언트 측 재시도 메커니즘과 짧은 타임아웃을 도입해 레플리카 장애 발생 시에도 가용성을 유지하고 요청 처리를 계속할 수 있도록 한다.
  • 클라이언트가 타임아웃 발생 시 동적으로 레플리카를 전환할 수 있는 페어 투 페어 클라이언트 라우팅 모델을 적용하여 장애 내성과 로드 밸런싱을 향상시킨다.
  • 다양한 클라이언트 부하, 장애 시나리오, 읽기/쓰기 비율을 고려한 시뮬레이션을 통해 처리량, 지연, 확장성 등을 측정하여 성능을 평가한다.

실험 결과

연구 질문

  • RQ1라티스 합의는 O(f) 기준에서 지수적으로 향상된 O(log f) 이방향 라운드 내에서 해결될 수 있는가?
  • RQ2라티스 합의 기반 RSM은 처리량과 지연 측면에서 SPaxos와 같은 콘센서스 기반 RSM보다 더 뛰어난 성능을 보일 수 있는가?
  • RQ3제안된 LaRSM은 SPaxos와 같은 리더 기반 프로토콜과 비교해 장애 처리 능력에서 어떻게 다를까?
  • RQ4읽기 대 쓰기 비율이 높아질수록 LaRSM의 성능이 향상되는가? 그 이유는 무엇인가?
  • RQ5레플리카 수가 증가함에 따라 라티스 합의 기반 RSM의 확장성에 어떤 한계가 존재하는가?

주요 결과

  • AsyncLA 프로토콜은 O(log f) 이방향 라운드 내에서 라티스 합의를 달성하여 이전의 O(f) 기준에 비해 지수적인 성능 향상을 이룬다.
  • 정상 부하 조건 하에서 구현된 LaRSM은 SPaxos 대비 약 1.3배 높은 처리량을 기록한다.
  • LaRSM은 레플리카 장애 발생 시에도 요청 처리를 유지하며, 처리량은 약 20K에서 15K 요청/초로 떨어질 뿐이며, SPaxos는 리더 장애 발생 시 완전히 요청 처리를 멈춘다.
  • LaRSM의 지연은 정상 조건에서 약 5ms 증가할 뿐이며, 장애 발생 시에도 안정적으로 유지되지만, SPaxos는 리더 장애 발생 시 지연이 무한대에 도달한다.
  • 읽기 대 쓰기 비율이 높아질수록 성능이 향상되는데, 이는 더 작은 제안 세트로 인해 메시지 크기가 감소하고 라티스 합의 완료 속도가 빨라지기 때문이다.
  • LaRSM은 레플리카 수가 증가함에 따라 확장성에 뚜렷한 한계를 보이며, 이는 O(log f) 라운드 복잡도가 f = (n−1)/2에 의존하기 때문이며, n이 증가함에 따라 f도 증가하기 때문이다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.