Skip to main content
QUICK REVIEW

[논문 리뷰] Partitioned Paxos via the Network Data Plane

Huynh Tu Dang, Pietro Bressana|arXiv (Cornell University)|2019. 01. 01.
Distributed systems and fault tolerance참고 문헌 49인용 수 2
한 줄 요약

Partitioned Paxos는 합의(프로그래머블 네트워크 데이터 플레인을 통해 처리)와 실행(상태 분할 및 병렬 처리를 통해 최적화)을 분리하여 분산 시스템에서 합의를 가속화한다. 기존의 수정되지 않은 키-값 워크로드에 비해 최대 ×3의 저지연과 ×11의 높은 처리량을 달성한다.

ABSTRACT

Consensus protocols are the foundation for building fault-tolerant, distributed systems, and services. They are also widely acknowledged as performance bottlenecks. Several recent systems have proposed accelerating these protocols using the network data plane. But, while network-accelerated consensus shows great promise, current systems suffer from an important limitation: they assume that the network hardware also accelerates the application itself. Consequently, they provide a specialized replicated service, rather than providing a general-purpose high-performance consensus that fits any off-the-shelf application. To address this problem, this paper proposes Partitioned Paxos, a novel approach to network-accelerated consensus. The key insight behind Partitioned Paxos is to separate the two aspects of Paxos, agreement, and execution, and optimize them separately. First, Partitioned Paxos uses the network forwarding plane to accelerate agreement. Then, it uses state partitioning and parallelization to accelerate execution at the replicas. Our experiments show that using this combination of data plane acceleration and parallelization, Partitioned Paxos is able to provide at least x3 latency improvement and x11 throughput improvement for a replicated instance of a RocksDB key-value store.

연구 동기 및 목표

  • 합의 프로토콜의 성능 저하 요인을 해결하여 장애 내성 분산 시스템의 확장성을 제한하는 문제를 해결한다.
  • 이전의 네트워크 가속 합의 시스템이 응용 프로그램의 특수한 네트워크 기반 구현을 요구하여 일반 적용에 제한을 둔 문제를 해결한다.
  • 합의와 실행 최적화를 분리함으로써 수정되지 않은 표준 응용 프로그램도 고성능 합의의 이점을 누릴 수 있도록 한다.
  • 네트워크에서 스토리지에 이르기까지 전체 스택의 하드웨are/소프트웨어 공동 설계가 상당한 성능 향상 효과를 낼 수 있음을 입증한다.

제안 방법

  • ToFino ASIC를 사용하여 데이터 플레인에서 Paxos 프로토콜의 두 단계를 모두 구현함으로써 네트워크 포워딩 동작을 수정하지 않고도 합의를 가속화한다.
  • 응용 프로그램 상태를 여러 샤드로 분할하고, 각 샤드를 별도의 독립된 Paxos 인스턴스가 관리하도록 하여 병렬 실행을 가능하게 한다.
  • 각 샤드에 대해 복수의 병렬 Paxos 레플리카를 배포하여 샤드 수에 비례해 실행 성능을 선형적으로 확장한다.
  • 호스트 수준의 지연을 줄이고 처리량을 극대화하기 위해 커널 바이패스(DPDK)와 최적화된 스토리지(RocksDB)를 통합한다.
  • DPDK 기반의 소프트웨어 기반 백업 리더를 구현하여 리더 장애 발생 시에도 장애 내성 보장을 하며, 3회 재시도 후 자동 장애 복구를 수행한다.
  • 네트워크 기반의 리더가 합의 조율을 담당하고, 상태 관리와 실행은 응용 프로그램 레플리카에 위임한다.

실험 결과

연구 질문

  • RQ1응용 프로그램 수정이나 전용 네트워크 기반 응용 프로그램 구현 없이도 합의 성능을 크게 향상시킬 수 있는가?
  • RQ2합의(네트워크 가속)와 실행(샤딩 및 병렬 처리)을 분리함으로써 종단 간 시스템 성능에 어떤 영향을 미치는가?
  • RQ3네트워크 데이터 플레인 가속과 응용 프로그램 수준의 병렬 처리가 함께 작용할 경우 합의 프로토콜의 처리량 향상과 지연 감소에 어느 정도 기여하는가?
  • RQ4네트워크 기반 합의가 호스트 응용 프로그램에 미치는 성능 영향은 무엇이며, 장애 조건에서도 시스템은 어떻게 확장성을 유지할 수 있는가?

주요 결과

  • Partitioned Paxos는 데이터 센터 환경에서 기존 소프트웨어 기반 Paxos 구현 대비 지연을 3배 감소시킨다.
  • Barefoot ToFino ASIC에서 초당 25억 개 이상의 합의 메시지를 유지할 수 있으며, 이는 합의 처리량에서 네 계단의 개선을 의미한다.
  • 복제된 RocksDB 키-값 스토어 환경에서 Partitioned Paxos는 표준 구현 대비 처리량을 11배 높였다. 응용 프로그램 변경 최소화 가능.
  • 수락기 장애 발생 시에도 시스템은 높은 가용성을 유지하며 처리량에 영향을 주지 않으며, 이는 여전히 응용 프로그램이 성능 저하 요인임을 시사한다.
  • 리더 장애 발생 시 장애 복구 중 일시적인 처리량 감소가 발생하지만, DPDK 기반의 백업 리더가 활성화되면 약 25만 개의 메시지/초로 완전히 복구된다.
  • 평가 결과, 네트워크, 커널 바이패스, 파일 시스템, 스토리지 계층을 포함한 전체 스택 최적화 없이는 성능 향상이 달성되지 않음을 확인했다.

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

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

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

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