Skip to main content
QUICK REVIEW

[논문 리뷰] Fault-tolerant Distributed Reactive Programming

Rachid Guerraoui, Matej Pavlovič|arXiv (Cornell University)|2016. 09. 08.
Distributed systems and fault tolerance인용 수 8
한 줄 요약

이 논문은 복제된 객체에 대해 증분 일관성 보장을 제공하는 분산 프로그래밍 추상화인 Correctables를 소개한다. 이를 통해 애플리케이션은 빠른 초도 결과를 받고 나중에 강력 일관성 있는 최종 결과를 받을 수 있다. 초도 값에 대한 추측을 통해, Cassandra와 ZooKeeper 기반 시스템에서 지연 시간을 최대 40% 감소시키고, 대역폭은 10% 증가, 처리량은 6% 감소시키며 성능을 향상시킬 수 있다.

ABSTRACT

In this paper, we present a holistic approach to provide fault tolerance for distributed reactive programming. Our solution automatically stores and recovers program state to handle crashes, automatically updates and shares distributed parts of the state to provide eventual consistency, and handles errors in a fine-grained manner to allow precise manual control when necessary. By making use of the reactive programming paradigm, we provide these mechanisms without changing the behavior of existing programs and with reasonable performance, as indicated by our experimental evaluation.

연구 동기 및 목표

  • 강력 일관성과 약한 일관성 사이의 'grayscale zone'에 위치한 분산 애플리케이션에서 일관성과 성능의 균형을 맞추는 데 도전하는 것.
  • 쿼orum 선택, 캐싱, 일관성 관리와 같은 스토리지 스택 세부 사항을 추상화하여 복제된 객체를 사용하는 프로그래밍의 복잡성을 줄이는 것.
  • 개발자가 한 번의 연산 내에서 낮은 지연 시간과 정확성 양쪽을 최적화할 수 있도록, 여러 일관성 수준을 노출하는 것.
  • 실제 운영 워크로드를 사용하여 증분 일관성 보장(ICG)의 성능과 오버헤드를 평가하는 것.

제안 방법

  • 복제된 객체의 증분 일관성 뷰에 해당하는 다수의 미래 값(값들)을 표현하는 일반화된 Promise 기반 추상화인 Correctables를 도입한다.
  • ICG를 설계하여 초도 결과(빠르고 약한 일관성)를 먼저 제공하고, 이후에 최종 결과(강력 일관성)를 제공하도록 한다.
  • 증분 일관성 보장을 지원하기 위해 두 가지 널리 사용되는 스토리지 시스템—Cassandra와 ZooKeeper—에 대한 바인딩을 구현한다.
  • 애플리케이션에서 초도 결과를 사용해 프리패칭 또는 조기 처리를 수행할 수 있도록 하여, 사용자에게 느껴지는 지연 시간을 향상시킨다.
  • Amazon EC2에서 YCSB 워크로드 A, B, 및 C를 사용하여 지연 시간, 처리량, 대역폭 오버헤드를 평가한다.
  • 모노톤 카운터나 티켓 큐잉과 같은 애플리케이션 의미 체계에 따라, 초도 결과와 최종 결과 사이를 동적으로 전환하여 정확성과 성능을 최적화한다.

실험 결과

연구 질문

  • RQ1증분 일관성 보장(ICG)을 분산 시스템에서 일관성 보장의 일등 추상화로 효과적으로 노출시킬 수 있는가? 이는 정확성을 희생시키지 않고 애플리케이션의 지연 시간을 줄이는 데 기여하는가?
  • RQ2실제 애플리케이션에서 ICG를 사용해 초도 결과에 대한 추측을 통해 얻을 수 있는 성능 향상은 어느 정도인가?
  • RQ3Cassandra와 ZooKeeper와 같은 실사용 스토리지 시스템에서 ICG를 지원할 경우 발생하는 대역폭 및 처리량 오버헤드는 어느 정도인가?
  • RQ4모노톤 카운터나 큐잉 시스템과 같은 애플리케이션 전용 의미 체계와 함께 ICG를 효과적으로 사용할 수 있는가? 이는 지연 시간을 줄이는 데 기여하는가?
  • RQ5불일치하는 초도 결과의 빈도가 전체 시스템의 비용과 추측의 신뢰성에 어떤 영향을 미치는가?

주요 결과

  • 광고 서빙 시스템에서 ICG는 강력 일관성 연산의 지연 시간을 최대 40% 감소시켰다. 지연 시간은 100ms에서 60ms로 줄었으며, 대역폭은 10% 증가하고 처리량은 6% 감소했다.
  • 초도 결과의 25%가 불일치하더라도 대역폭 오버헤드는 단지 27%에 불과하여 낮은 편이었다.
  • 초도 결과와 최종 결과 사이의 시간 창은 마이크로블로깅 및 티켓 판매와 같은 실세계 애플리케이션에서 효과적인 추측을 가능하게 할 정도로 충분히 넓었다.
  • Twissandra 마이크로블로깅 시스템에서 추측은 다수의 지리적 지역에서 지연 시간을 감소시켰으며, 정확한 결과에서의 분리율은 항상 1% 이하로 유지되어 높은 추측 성공률을 보였다.
  • 티켓 판매 시스템에서는 첫 480장의 티켓에 대해 초도 결과를 사용함으로써 지연 시간을 크게 줄일 수 있었고, 최종 뷰에서 평균 2~6장의 티켓만 취소되어 경쟁 상황에서도 정확성을 유지했다.
  • 평가 결과, ICG는 운영 중 동적으로 일관성 결정을 내릴 수 있도록 하여, 실시간 조건과 애플리케이션 의미 체계에 따라 일관성 수준을 전환할 수 있음을 확인했다.

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

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

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

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