Skip to main content
QUICK REVIEW

[논문 리뷰] Farview: Disaggregated Memory with Operator Off-loading for Database Engines

Dario Korolija, Dimitrios Koutsoukos|arXiv (Cornell University)|2021. 06. 13.
Cloud Computing and Resource Management인용 수 6
한 줄 요약

Farview는 데이터베이스 엔진을 위한 분리된 메모리 시스템을 제안하며, 선택, 투영, 집계와 같은 쿼리 연산자를 FPGA 기반 스마트 NIC로 이관함으로써 네트워크 연결된 DRAM에서 메모리 내 처리를 가능하게 한다. 이는 로컬 메모리 캐싱과 유사한 성능을 달성하면서도 데이터 이동과 DRAM 용량을 줄여주며, 고선택도 및 집계 쿼리와 같은 핵심 워크로드에서 CPU 기반 기준보다 뛰어난 성능을 발휘한다.

ABSTRACT

Cloud deployments disaggregate storage from compute, providing more flexibility to both the storage and compute layers. In this paper, we explore disaggregation by taking it one step further and applying it to memory (DRAM). Disaggregated memory uses network attached DRAM as a way to decouple memory from CPU. In the context of databases, such a design offers significant advantages in terms of making a larger memory capacity available as a central pool to a collection of smaller processing nodes. To explore these possibilities, we have implemented Farview, a disaggregated memory solution for databases, operating as a remote buffer cache with operator offloading capabilities. Farview is implemented as an FPGA-based smart NIC making DRAM available as a disaggregated, network attached memory module capable of performing data processing at line rate over data streams to/from disaggregated memory. Farview supports query offloading using operators such as selection, projection, aggregation, regular expression matching and encryption. In this paper we focus on analytical queries and demonstrate the viability of the idea through an extensive experimental evaluation of Farview under different workloads. Farview is competitive with a local buffer cache solution for all the workloads and outperforms it in a number of cases, proving that a smart disaggregated memory can be a viable alternative for databases deployed in cloud environments.

연구 동기 및 목표

  • 분석 데이터베이스에서 데이터 이동의 증가와 DRAM 용량 한계로 인한 점점 커지는 비효율성을 해결하기 위해.
  • 클라우드 기반 데이터베이스 시스템에서 로컬 버퍼 캐시의 확장 가능한 대안으로 분리된 메모리를 탐색하기 위해.
  • 필터링 및 처리 작업을 원격의 네트워크 연결된 DRAM으로 이관하여 CPU 오버헤드와 메모리 프로필을 줄이기 위해.
  • 스마트하고 프로그래머블한 메모리 노드가 로컬 메모리 캐싱 성능을 따라하거나 초월할 수 있는지 평가하기 위해.
  • FPGA에서 현장 암호화 및 복호화를 통해 보안이고 저지연 시간의 데이터 스트림 처리를 가능하게 하기 위해.

제안 방법

  • Farview는 FPGA 기반 스마트 NIC를 사용하여 네트워크 연결된 DRAM을 처리 기능을 갖춘 원격 버퍼 캐시로 노출시킨다.
  • 선택, 투영, 집계, 정규 표현식 매칭, 그리고 AES-128 암호화/복호화(카운터 모드)를 위한 연산자 이관을 지원한다.
  • 계산 노드와 분리된 메모리 간의 저지연, 고대역폭 데이터 전송을 위해 RDMA를 활용한다.
  • 연산자는 선형적으로 FPGA에서 선로 속도로 실행되어 CPU로의 데이터 이동을 최소화한다.
  • 다중 클라이언트를 위한 동적 영역 할당을 지원하여 공간적 병렬 처리와 공정한 대역폭 공유를 가능하게 한다.
  • 암호화 및 복호화가 최소한의 성능 오버헤드로 데이터 경로에 통합되어 선로 속도 처리에 의해 완전히 숨겨진다.

실험 결과

연구 질문

  • RQ1현장 처리 기능을 갖춘 스마트한 네트워크 연결 메모리 노드가 데이터베이스 워크로드에서 로컬 메모리 캐싱 성능을 따라할 수 있는가?
  • RQ2분리된 메모리로의 연산자 이관이 분석 쿼리에서 데이터 이동과 CPU 오버헤드를 얼마나 줄일 수 있는가?
  • RQ3다중 클라이언트 동시 액세스 상황에서 시스템 성능은 어떻게 되며, 효율적으로 확장되는가?
  • RQ4암호화/복호화와 같은 보안 데이터 처리가 성능에 손상 없이 메모리 처리 파이프라인에 효과적으로 통합될 수 있는가?
  • RQ5집계 및 선택과 같은 복잡한 연산자를 원격 메모리로 이관할 경우 성능에 어떤 영향을 미치는가?

주요 결과

  • Farview는 평가된 모든 워크로드에서 로컬 버퍼 캐시 성능과 경쟁 가능한 성능을 달성하여, 처리 기능을 갖춘 분리된 메모리가 실용적인 대안이 될 수 있음을 입증한다.
  • 고선택도 쿼리인 TPC-H Q6와 같이, CPU에 도달하기 전에 데이터를 필터링함으로써 Farview가 데이터 이동을 크게 줄인다.
  • 집계 워크로드(예: GROUP BY)에서는 집계를 메모리에서 직접 처리함으로써 CPU로 전송되는 데이터량을 줄인다.
  • FPGA 기반 암호화/복호화 파이프라인은 측정 가능한 성능 오버헤드 없이 작동하며, 순수한 RDMA 읽기 성능과 동일한 대역폭을 확보한다.
  • 다중 클라이언트 환경에서는 공간적 병렬 처리와 동적 영역 간 공정한 대역폭 공유 덕분에 CPU 기반 기준보다 뛰어난 성능을 발휘한다.
  • 특히 냉각 캐시 조건에서, FPGA의 병렬 AES 구현 덕분에 복호화 응답 시간이 CPU 기반 기준보다 현저히 낮다.

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

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

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

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