Skip to main content
QUICK REVIEW

[논문 리뷰] On Predictive Modeling for Optimizing Transaction Execution in Parallel OLTP Systems

Andrew Pavlo, Evan P. C. Jones|arXiv (Cornell University)|2011. 10. 30.
Distributed systems and fault tolerance참고 문헌 20인용 수 5
한 줄 요약

이 논문은 분산 OLTP 시스템에서 다중 파artition에 접근하는 분산 트랜잭션에 대해 효율적인 동시성 제어, 사전 실행, 감소된 언두 로깅과 같은 성능 최적화를 자동으로 선택하기 위한 마르코프 모델 기반 런타임 예측 프레임워크인 Houdini를 제안한다. 실행 전 트랜잭션 동작을 예측함으로써 Houdini는 평균적으로 41%의 시스템 스루풋 향상을 이끌어내며 런타임 오버헤드는 5.8%에 불과하다.

ABSTRACT

A new emerging class of parallel database management systems (DBMS) is designed to take advantage of the partitionable workloads of on-line transaction processing (OLTP) applications. Transactions in these systems are optimized to execute to completion on a single node in a shared-nothing cluster without needing to coordinate with other nodes or use expensive concurrency control measures. But some OLTP applications cannot be partitioned such that all of their transactions execute within a single-partition in this manner. These distributed transactions access data not stored within their local partitions and subsequently require more heavy-weight concurrency control protocols. Further difficulties arise when the transaction's execution properties, such as the number of partitions it may need to access or whether it will abort, are not known beforehand. The DBMS could mitigate these performance issues if it is provided with additional information about transactions. Thus, in this paper we present a Markov model-based approach for automatically selecting which optimizations a DBMS could use, namely (1) more efficient concurrency control schemes, (2) intelligent scheduling, (3) reduced undo logging, and (4) speculative execution. To evaluate our techniques, we implemented our models and integrated them into a parallel, main-memory OLTP DBMS to show that we can improve the performance of applications with diverse workloads.

연구 동기 및 목표

  • 다양한 파artition에 접근하는 분산 트랜잭션으로 인한 병렬 OLTP 시스템의 성능 저하 문제를 해결하기 위해.
  • 수동 튜닝이나 사용자 제공 힌트에 의존하는 것을 줄이고, 런타임 동안 트랜잭션 최적화를 자동으로 선택할 수 있도록 하기 위해.
  • 트랜잭션 실행 경로를 예측하고, 감소된 로깅 및 사전 실행과 같은 맥락 인식 최적화를 가능하게 하여 시스템 스루풋을 향상시키기 위해.
  • 기존의 메인메모리 OLTP 시스템(H-Store 등)에 원활하게 통합될 수 있는 확장성 있고 저오버헤드 예측 프레임워크를 개발하기 위해.

제안 방법

  • 저장 프로시저 기반 트랜잭션을 마르코프 모델로 표현하여, 현재 상태에 따라 트랜잭션이 실행할 가능성이 높은 쿼리의 확률적 순서를 포착한다.
  • 실제 운영 워크로드에서 관측된 트랜잭션 실행 트레이스를 기반으로 온라인 학습을 통해 마르코프 모델을 지속적으로 업데이트한다.
  • 예측 엔진을 H-Store DBMS에 통합하여 트랜잭션 실행 전에 실시간 최적화 결정을 내린다.
  • 쿼리 시퀀스와 프로시저 매개변수를 기반으로 마르코프 모델을 파artition하여 확장성과 예측 정확도를 향상시킨다.
  • 예측된 트랜잭션 동작에 기반해 언두 로깅 비활성화 또는 사전 실행 활성화와 같은 동적 최적화 선택을 가능하게 한다.
  • 생산 환경과 유사한 환경에서 세 가지 표준 OLTP 벤치마크를 사용해 모델 정확도와 성능 영향을 평가한다.

실험 결과

연구 질문

  • RQ1공유 없는 병렬 데이터베이스 시스템에서 마르코프 모델이 개별 OLTP 트랜잭션의 실행 경로를 정확하게 예측할 수 있는가?
  • RQ2런타임 예측이 분산 트랜잭션의 성능 최적화(예: 감소된 언두 로깅, 사전 실행)에 얼마나 효과적인가?
  • RQ3고스루풋 OLTP 환경에서 예측 모델을 유지하고 사용하는 데 발생하는 성능 오버헤드는 얼마인가?
  • RQ4예측 모델링이 사용자 입력 없이 다양한 OLTP 워크로드에서 수동 튜닝의 필요성을 줄이고 스루풋을 향상시킬 수 있는가?
  • RQ5예측 정확도가 적절한 최적화 선택과 전체 시스템 성능에 어떤 영향을 미치는가?

주요 결과

  • 제안된 마르코프 모델 기반 예측 프레임워크인 Houdini는 세 가지 OLTP 벤치마크에서 93%의 트랜잭션에 대해 실행 경로를 정확하게 예측한다.
  • Houdini는 예측을 사용하지 않는 단순 기반 접근 방식에 비해 평균적으로 41%의 시스템 스루풋 향상을 이룬다.
  • 프레임워크는 평균적으로 런타임 오버헤드가 5.8%에 불과하여 예측에 따른 성능 비용이 매우 낮음을 입증한다.
  • 예측된 동작에 기반해 선택적으로 언두 로깅을 비활성화하고 사전 실행을 활성화함으로써 시스템은 상당한 성능 향상을 달성한다.
  • Houdini는 온라인으로 관측된 실행 패턴에 적응함으로써 워크로드의 비대칭성과 동적 변화에도 효과적으로 대응한다.
  • 사용자 애너테이션이나 트랜잭션 동작에 대한 사전 지식 없이도 자동으로 투명하게 최적화 선택을 가능하게 한다.

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

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

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

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