Skip to main content
QUICK REVIEW

[논문 리뷰] Lessons learned from the early performance evaluation of Intel Optane DC Persistent Memory in DBMS

Yinjun Wu, Kwanghyun Park|arXiv (Cornell University)|2020. 05. 15.
Advanced Data Storage Technologies참고 문헌 21인용 수 5
한 줄 요약

이 논문은 Microsoft SQL Server 2019에서 Intel Optane DC 영구 메모리(PMem)의 성능을 OLTP(정규화된 TPC-C) 및 OLAP(정규화된 TPC-H) 워크로드 환경에서 버퍼 풀 또는 영구 스토리지로 평가한다. 성능 저하의 주요 원인은 메모리 모드에서 DRAM을 단순히 PMem로 교체할 경우 발생하며, 이는 쓰기 비효율성 때문이며, 효과적인 사용을 위해서는 지능적인 페이지 배치 정책과 워크로드 인식 기반 튜닝이 필요하다. 단순 하드웨어 교체만으로는 최적의 성능을 달성할 수 없다.

ABSTRACT

Non-volatile memory (NVM) is an emerging technology, which has the persistence characteristics of large capacity storage devices(e.g., HDDs and SSDs), while providing the low access latency and byte-addressablity of traditional DRAM memory. This unique combination of features open up several new design considerations when building database management systems (DBMSs), such as replacing DRAM (as the main working space memory) or block devices (as the persistent storage), or complementing both at the same time for several DBMS components (such as access methods,storage engine, buffer management, logging/recovery, etc). However, interacting with NVM requires changes to application software to best use the device (e.g. mmap and clflush of small cache lines instead of write and fsync of large page buffers). Before introducing (potentially major) code changes to the DBMS for NVM, developers need a clear understanding of NVM performance in various conditions to help make better design choices. In this paper, we provide extensive performance evaluations conducted with a recently released NVM device, Intel Optane DC Persistent Memory (PMem), under different configurations with several micro-benchmark tools. Further, we evaluate OLTP and OLAP database workloads (i.e., TPC-C and TPC-H) with Microsoft SQL Server 2019 when using the NVM device as an in-memory buffer pool or persistent storage. From the lessons learned we share some recommendations for future DBMS design with PMem, e.g.simple hardware or software changes are not enough for the best use of PMem in DBMSs.

연구 동기 및 목표

  • 실제 DBMS 워크로드에서 다양한 구성 조건 하에서 Intel Optane DC 영구 메모리(PMem)의 성능을 평가하기 위해.
  • DBMS에 PMem를 통합할 때 발생하는 주요 성능 저하 요인과 설계적 트레이드오프를 규명하기 위해.
  • PMem 인식 기반 DBMS의 버퍼 관리 및 스토리지 엔진 설계를 위한 실용적인 권고 사항을 제공하기 위해.
  • PMem가 쓰기 중심(정규화된 TPC-C) 및 읽기 중심(정규화된 TPC-H) OLTP 및 OLAP 워크로드에 미치는 영향을 평가하기 위해.
  • 단순한 하드웨어 또는 소프트웨어 변경만으로는 DBMS에서 PMem의 최적 활용이 불가능함을 강조하기 위해.

제안 방법

  • 다양한 I/O 요청 크기, 동시성 수준, 액세스 패턴을 가진 PMem에서 마이크로 벤치마크를 수행함.
  • 세 가지 구성에서 PMem를 평가함: 메모리 모드에서 DRAM 대체로 사용, 직접 액세스(DAX) 장치로 사용, 파일 I/O 기반 영구 스토리지로 사용.
  • 생산 수준의 Microsoft SQL Server 2019에서 TPC-C(OLTP) 및 TPC-H(OLAP) 워크로드를 사용해 성능을 측정함.
  • 메모리 사용량과 I/O 동작을 모니터링하여 핫 페이지 캐싱 및 tempdb 스플릿팅 영향을 분석함.
  • 중간 쿼리 결과로 인한 높은 빈도의 쓰기로 인해 PMem 메모리 모드에서의 쓰기 성능 저하를 분석함.
  • 핫 페이지를 DRAM에 우선 배치하고 PMem 쓰기 압력을 줄이기 위한 PMem 최적화 버퍼 배치 정책을 제안하고 평가함.

실험 결과

연구 질문

  • RQ1마이크로 벤치마크에서 I/O 요청 크기와 동시성 수준이 PMem 성능에 미치는 영향은 무엇인가?
  • RQ2OLTP 및 OLAP 워크로드에서 PMem를 DRAM 대체로 사용할 경우의 성능 영향은 무엇인가?
  • RQ3데이터베이스 파일의 영구 스토리지로 PMem를 사용할 경우, SSD와 비교해 쿼리 실행 시간에 어떤 영향을 미치는가?
  • RQ4쓰기 중심 워크로드에서 임시 결과가 tempdb로 스플릿팅되는 것이 PMem 성능 저하에 어떤 역할을 하는가?
  • RQ5DRAM 버퍼 풀을 PMem로 확장할 경우 성능 저하를 방지하기 위해 필요한 버퍼 관리 정책은 무엇인가?

주요 결과

  • 메모리 모드에서 PMem는 고속 읽기 대역폭를 제공하지만, 높은 쓰기 지연으로 인해 OLTP 및 OLAP 워크로드 모두에서 성능이 심각하게 저하됨.
  • TPC-H(읽기 중심) 워크로드에서 SF=100일 경우, PMem 메모리 모드에서의 쿼리 실행 시간은 약 60초로, DRAM 대비 훨씬 느림—주로 쓰기 중심의 tempdb 작업 때문임.
  • SF=100일 경우, PMem 파일 I/O와 SSD는 최대 약 150GB의 DRAM 버퍼 풀을 사용한 반면, PMem DAX는 약 20GB에 그침—이로써 캐시 활용도가 낮고 I/O 오버헤드가 높음을 시사함.
  • 8KB 페이지에서 PMem DAX와 파일 I/O 간 성능 차이는 미미함—이러한 결과는 페이지 크기와 액세스 모드가 읽기 중심 워크로드에 대해 제한된 영향을 미친다는 것을 시사함.
  • OLTP 워크로드(TPC-C)에서는 PMem와 SSD 간 성능 차이가 크지 않지만, PMem는 포화 상태에서 쓰기 대역폭이 감소하는 반면, SSD는 그렇지 않음.
  • 단순한 하드웨어 교체(DRAM → PMem)나 지능적인 페이지 배치 없이 소프트웨어 확장만으로는 최적의 성능을 달성할 수 없으며, 이는 PMem 인식 기반의 버퍼 정책이 필수적임을 시사함.

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

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

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

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