Skip to main content
QUICK REVIEW

[논문 리뷰] Polyjuice: High-Performance Transactions via Learned Concurrency Control

Jiachen Wang, Ding Ding|arXiv (Cornell University)|2021. 05. 21.
Distributed systems and fault tolerance참고 문헌 63인용 수 10
한 줄 요약

Polyjuice는 오프라인 학습을 통해 고성능, 워크로드 특화된 트랜잭션 스케줄링 정책을 발견하는 학습된 동시성 제어 프레임워크를 제안한다. 동시성 제어를 미세한 동작의 정책 공간으로 모델링하고 진화 알고리즘을 통해 최적화함으로써, Polyjuice는 TPC-C 및 TPC-E에서 중간에서 높은 경쟁 조건 하에서 기존 알고리즘보다 15%에서 56% 높은 처리량을 달성한다.

ABSTRACT

Concurrency control algorithms are key determinants of the performance of in-memory databases. Existing algorithms are designed to work well for certain workloads. For example, optimistic concurrency control (OCC) is better than two-phase-locking (2PL) under low contention, while the converse is true under high contention. To adapt to different workloads, prior works mix or switch between a few known algorithms using manual insights or simple heuristics. We propose a learning-based framework that instead explicitly optimizes concurrency control via offline training to maximize performance. Instead of choosing among a small number of known algorithms, our approach searches in a "policy space" of fine-grained actions, resulting in novel algorithms that can outperform existing algorithms by specializing to a given workload. We build Polyjuice based on our learning framework and evaluate it against several existing algorithms. Under different configurations of TPC-C and TPC-E, Polyjuice can achieve throughput numbers higher than the best of existing algorithms by 15% to 56%.

연구 동기 및 목표

  • 다양한 워크로드에서 기존 동시성 제어 알고리즘(예: 2PL, OCC)의 성능 변동성을 해결하기 위해.
  • 수동 튜닝이나 단순 히ュ리스틱에 의존하는 히ュ리스틱 기반 하이브리드 접근 방식의 한계를 극복하기 위해.
  • 특정 워크로드에 맞게 최적화된 새로운 고성능 동시성 제어 정책을 체계적이고 학습 가능한 방식으로 설계하기 위해.
  • 기존 알고리즘을 초월해 자동으로 데이터 기반 최적화를 수행할 수 있도록 하기 위해.

제안 방법

  • 프레임워크는 읽기 버전 선택, 쓰기 노출, 대기 시간, 조기 검증과 같은 미세한 동작의 정책 공간을 정의하며, 이를 트랜잭션 액세스 상태에 매핑한다.
  • 각 정책는 상태(트랜잭션 유형 및 액세스 단계)에서 동작로 매핑되는 검색 테이블로 표현되어, 동시성 제어 로직을 명시적으로 모델링할 수 있다.
  • 오프라인 학습은 주어진 워크로드에서 커밋 처리량을 최대화하는 구성이 정책 공간에서 탐색되도록 진화 알고리즘을 사용한다.
  • 시스템은 재생된 트랜잭션 트레이스를 기반으로 학습하여, 실시간 배포 없이도 다양한 정책 하에서의 성능을 평가한다.
  • 이 방법은 기존 알고리즘(예: OCC, 2PL)을 인코딩하는 것뿐만 아니라, 이전 연구에서 보고되지 않은 새로운 최적화 정책을 발견할 수 있다.
  • 프레임워크는 Polyjuice로 구현되었으며, 이는 다중 코어 메모리 기반 데이터베이스 시스템으로, 학습된 테이블에 기반해 트랜잭션당 정책을 동적으로 선택한다.

실험 결과

연구 질문

  • RQ1학습 기반 프레임워크는 실제 워크로드에서 수작업으로 설계된 알고리즘(OCC, 2PL 등)을 초월하는 동시성 제어 정책을 발견할 수 있는가?
  • RQ2미세한 동작의 정책 공간은 새로운 고성능 동시성 제어 전략을 발견하는 데 얼마나 효과적인가?
  • RQ3다양한 경쟁 수준에서 학습된 정책의 성능은 기존 하이브리드 또는 적응형 동시성 제어 메커니즘과 비교해 어떻게 되는가?
  • RQ4예측 가능한 워크로드를 가진 실세계 데이터베이스에 대해 오프라인 학습 접근 방식은 실용적인가?

주요 결과

  • Polyjuice는 TPC-C 및 TPC-E 워크로드에서 중간에서 높은 경쟁 조건 하에서 기존 동시성 제어 알고리즘 중 최고의 성능을 기록한 것보다 15%에서 56% 높은 처리량을 달성한다.
  • 낮은 경쟁 조건에서는 Polyjuice가 OCC와 동일한 정책을 학습하지만, 구현 복잡성으로 인해 8%의 성능 오버헤드가 발생한다.
  • 시스템은 기존 알고리즘에 존재하지 않는 새로운 정책을 발견하였으며, 이는 워크로드 특성을 미묘하게 활용하여 성능을 최적화하는 방식으로 작용한다.
  • 예측 가능한 액세스 패턴을 가진 워크로드에 대해 프레임워크는 효과적이며, 예를 들어 전자상거래 시스템의 정점 시간대 트래픽처럼 역사적 트레이스를 기반으로 학습할 경우 높은 영향을 미친다.
  • 검색 테이블을 통한 정책 공간 표현은 효율적인 진화적 탐색을 가능하게 하며, 이 방법은 기존 및 새로운 동시성 제어 전략 모두에 일반화된다.

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

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

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

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