데이터베이스 관리 시스템(DBMS)에서 기계 학습(ML) 작업을 수행할 수 있는 능력은, 기존 DBMS가 갖춘 검증된 기능 위에 고급 데이터 분석을 가능하게 하여 기존 데이터베이스 시스템에 대한 새로운 패러다임을 제시한다. 그러나 DBMS에 ML을 통합하면, 더 높은 연산 요구와 더 큰 데이터 대역폭 요구로 인해 전통적인 CPU 기반 시스템에서는 새로운 과제가 발생한다. 이를 해결하기 위해 데이터베이스 시스템에서 하드웨어 가속의 중요성이 더욱 커졌으며, 저장장치 인근에 가속기를 배치하는 계산 저장 장치(CSD) 방식은 추가 데이터 이동 비용이 없으면서도 높은 처리 전력을 제공하므로 효과적인 해결책으로 간주된다. 본 논문에서는 훈련된 ML 모델을 호출하는 고급 분석 쿼리와 복잡한 데이터 연산을 함께 가속하는, DBMS 내(In-database)·저장장치 내(In-storage) 플랫폼을 제공하는 엔드투엔드 데이터베이스 시스템 Trinity를 제안한다. Trinity는 DBMS의 내부 소프트웨어 구성요소부터 하드웨어 가속기에 이르기까지 전 스택을 설계함으로써 CSD에서 인-DB(in-database) ML 파이프라인을 가능하게 한다. 소프트웨어 측면에서 우리는 SmartSSD에서 가속기를 활용하기 위해 기존 DBMS의 내부를 확장한다. 확장된 분석기(analyzer)는 현재 쿼리와 하드웨어 가속기 간의 호환성을 평가하고, 호환되는 쿼리를 효율적인 하드웨어 처리를 위한 24바이트 수치 형식으로 압축한다. 또한 예측기(predictor)는 성능 비용 모델을 통합하여, 쿼리를 항상 최적의 하드웨어 백엔드로 오프로딩(offloading)하도록 확장된다. 제안된 SmartSSD 비용 모델은 호스트 연산, 데이터 전송, FPGA 커널 실행 시간 등을 포함하여 우리의 하드웨어를 수학적으로 모델링하며, CPU 비용 모델은 복잡한 CPU 지연을 예측하기 위해 다항 회귀(polynomial regression) ML 모델을 사용한다. 하드웨어 측면에서는 데이터베이스 내 처리 가속기(i-DPA), 즉 커스텀 FPGA 기반 가속기를 도입한다. i-DPA는 near-storage 처리의 대역폭 이점을 충분히 활용하기 위해 데이터베이스 페이지 디코더(database page decoder)를 포함한다. 또한 전체적인 병렬성과 하드웨어 활용도를 향상시키기 위해 동적 튜플 바인딩(dynamic tuple binding)을 적용한다. 서로 다른 컴퓨팅 유닛 간 작업 수준 파이프라인을 가능하게 하는 이종(heterogeneous) 컴퓨팅 유닛과 재구성 가능한 온칩 인터커넥트(on-chip interconnect)를 갖춘 i-DPA의 아키텍처는 또한 원활한 데이터 스트리밍을 가능하게 한다. 마지막으로, 우리의 평가는 Trinity가 기존 CPU 기반 DBMS 플랫폼 대비 분석 쿼리의 엔드투엔드 성능을 평균 15.21배, 최대 57.18배까지 향상시킴을 보여준다. 또한 Trinity의 성능은 여러 SmartSSD에 대해 선형적으로 확장될 수 있으며, 네 개의 SmartSSD를 사용할 때 기준 대비 거의 최대 200배의 속도 향상을 달성함을 보인다.
*본 초록은 AI를 통해 원문을 번역한 내용입니다. 정확한 내용은 하기 원문에서 확인해주세요.