Skip to main content
QUICK REVIEW

[논문 리뷰] Scaling Replicated State Machines with Compartmentalization [Technical Report]

Michael Whittaker, Ailidani Ailijiang|arXiv (Cornell University)|2020. 12. 31.
Distributed systems and fault tolerance참고 문헌 44인용 수 4
한 줄 요약

이 논문은 MultiPaxos와 같은 상태기계 복제 프로토콜에서 처리량 병목을 제거하기 위해 명령 순서 정렬과 브로드캐스트를 분리하고 별도로 확장할 수 있는 기법인 컴partimentalization을 소개한다. 이로 인해 전용 하드웨어나 강력한 가정 없이도 쓰기 전용 워크로드에서 6배, 혼합 읽기-쓰기 워크로드에서 16배의 처리량 향상을 달성한다.

ABSTRACT

State machine replication protocols, like MultiPaxos and Raft, are a critical component of many distributed systems and databases. However, these protocols offer relatively low throughput due to several bottlenecked components. Numerous existing protocols fix different bottlenecks in isolation but fall short of a complete solution. When you fix one bottleneck, another arises. In this paper, we introduce compartmentalization, the first comprehensive technique to eliminate state machine replication bottlenecks. Compartmentalization involves decoupling individual bottlenecks into distinct components and scaling these components independently. Compartmentalization has two key strengths. First, compartmentalization leads to strong performance. In this paper, we demonstrate how to compartmentalize MultiPaxos to increase its throughput by 6x on a write-only workload and 16x on a mixed read-write workload. Unlike other approaches, we achieve this performance without the need for specialized hardware. Second, compartmentalization is a technique, not a protocol. Industry practitioners can apply compartmentalization to their protocols incrementally without having to adopt a completely new protocol.

연구 동기 및 목표

  • MultiPaxos와 Raft와 같은 상태기계 복제 프로토콜에서 리더가 단일 책임으로 인해 과부하가 걸리는 지속적인 성능 병목 문제를 해결하기 위해.
  • 기존 프로토콜이 한 번에 하나의 병목만 해결함으로써 새로운 병목이 발생하는 한계를 극복하기 위해.
  • 전용 하드웨어, 완벽한 장애 감지기, 시계 동기화, 또는 키 기반 분할된 상태기계에 의존하지 않고도 고처리량 상태기계 복제를 가능하게 하기 위해.
  • 기존 프로토콜을 완전히 새로운 것으로 교체하지 않고도 점진적으로 적용 가능한 일반적이고 유연한 기법을 제공하기 위해.

제안 방법

  • MultiPaxos의 단일 리더 역할을 명령 순서 정렬과 메시지 브로드캐스트와 같은 별도의 구성 요소로 분해한다.
  • 브로드캐스트를 순서 정렬기와 별도로 처리하는 프록시 리더를 도입함으로써 브로드캐스트 단계의 수평적 확장을 가능하게 한다.
  • 브로드캐스트 단계의 병목을 제거하기 위해 프록시 리더의 수를 늘림. 이 단계는 명백하게 병렬 처리가 가능하므로 매우 높은 병렬성 확보 가능.
  • 적절한 조율과 큐럼 메커니즘을 통해 모든 구성 요소가 원래 MultiPaxos의 안전성 보장 조건을 유지하도록 하여 프로토콜의 정확성과 일致성을 유지한다.
  • 기존 프로토콜에 점진적으로 컴partimentalization 기법을 적용함으로써 전체 프로토콜 교체 없이도 구현 가능하게 한다.
  • 각 기능(순서 정렬, 브로드캐스트 등)이 고립되어 실행되는 모듈러하고 구성 기반 아키텍처를 사용함으로써 별도 최적화 및 확장이 가능하게 한다.

실험 결과

연구 질문

  • RQ1전용 하드웨어나 강력한 시스템 가정에 의존하지 않고도 상태기계 복제 프로토콜을 효과적으로 확장할 수 있는가?
  • RQ2MultiPaxos와 같은 프로토콜의 단일 책임 구성 요소를 분리함으로써 측정 가능한 처리량 향상이 달성되는가?
  • RQ3프로토콜 스택 전체를 교체하지 않고도 분리 기법으로 얻는 성능 향상은 점진적으로 달성 가능한가?
  • RQ4Harmonia나 FLAIR와 같은 기존 고처리량 프로토콜과 비교해 병렬화 기법은 어떤 가정과 성능 차이를 보이는가?
  • RQ5컴partimentalization을 적용할 경우 처리량과 지연 시간 사이의 상호 교환 관계는 어떠한가?

주요 결과

  • 컴partimentalized MultiPaxos는 6.66배의 머신 수를 사용하여 쓰기 전용 워크로드에서 6배의 처리량 향상을 달성한다.
  • 90% 읽기, 10% 쓰기 워크로드에서 4.33배의 머신 수를 사용하여 16배의 처리량 향상을 달성한다.
  • 성능 향상은 전용 하드웨어, 완벽한 장애 감지기, 시계 동기화, 균일한 데이터 액세스 패턴이 없이도 달성된다.
  • 이 기법은 일반적이며 기존 프로토콜에 점진적으로 적용 가능하므로, 개발자들이 전체 프로토콜 교체 없이도 시스템을 업그레이드할 수 있다.
  • 순서 정렬과 브로드캐스트를 분리함으로써 쓰기 및 읽기 병목을 모두 제거하며, 어떤 구성 요소도 성능 한계가 되지 않는다.
  • 네트워크 지연이 4에서 6으로 두 번 추가되었음에도 불구하고, 처리량 향상의 크기가 크기 때문에 광역망 환경에서도 프로토콜이 실용 가능하다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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