Skip to main content
QUICK REVIEW

[논문 리뷰] ArrayBridge: Interweaving declarative array processing with high-performance computing

Haoyuan Xing, Sofoklis Floratos|arXiv (Cornell University)|2017. 02. 27.
Algorithms and Data Compression참고 문헌 31인용 수 3
한 줄 요약

ArrayBridge는 느린 데이터 로딩을 회피하고 병렬 I/O를 지원하며 투명한 청크 중복 제거를 통해 시간여행 쿼리를 가능하게 하는 双방향 가상 뷰를 제공함으로써 외부 HDF5 파일 위에서 직접 고성능의 선언적 배열 처리를 가능하게 한다. 이는 Native SciDB 저장소와 구별할 수 없을 정도로 뛰어난 I/O 확장성과 성능을 달성하면서도 HDF5 API와의 후행 호환성을 유지한다.

ABSTRACT

Scientists are increasingly turning to datacenter-scale computers to produce and analyze massive arrays. Despite decades of database research that extols the virtues of declarative query processing, scientists still write, debug and parallelize imperative HPC kernels even for the most mundane queries. This impedance mismatch has been partly attributed to the cumbersome data loading process; in response, the database community has proposed in situ mechanisms to access data in scientific file formats. Scientists, however, desire more than a passive access method that reads arrays from files. This paper describes ArrayBridge, a bi-directional array view mechanism for scientific file formats, that aims to make declarative array manipulations interoperable with imperative file-centric analyses. Our prototype implementation of ArrayBridge uses HDF5 as the underlying array storage library and seamlessly integrates into the SciDB open-source array database system. In addition to fast querying over external array objects, ArrayBridge produces arrays in the HDF5 file format just as easily as it can read from it. ArrayBridge also supports time travel queries from imperative kernels through the unmodified HDF5 API, and automatically deduplicates between array versions for space efficiency. Our extensive performance evaluation in NERSC, a large-scale scientific computing facility, shows that ArrayBridge exhibits statistically indistinguishable performance and I/O scalability to the native SciDB storage engine.

연구 동기 및 목표

  • 대규모 HDF5 데이터셋을 사용할 때 과학자들은 SciDB와 같은 선언적 배열 데이터베이스를 사용할 경우 느린, 공간을 많이 차지하는 데이터 로딩으로 인해 성능과 사용성의 한계를 겪는다.
  • 기존의 인라인 액세스 메커니즘은 수동적이며, 명령형 HPC 커널에서 효율적인 재구성 또는 버전 관리 배열 액세스를 지원하지 못한다.
  • 특히 시간여행 및 버전 관리 배열 쿼리에 대해, 선언적 배열 처리와 파일 중심의 HPC 워크플로우 간의 双방향 상호운용성을 제공하는 시스템이 필요하다.
  • 시스템은 HDF5 파일에 직접 쿼리하고 효율적으로 쓰기 기능을 제공하면서도 HDF5 API와의 후행 호환성을 유지하고 저장소 오버헤드를 최소화해야 한다.
  • 멀티-티비바이트 데이터셋에 대해서도 네이티브 데이터베이스 저장소 수준의 성능과 I/O 확장성을 달성하는 것이 목표이다.

제안 방법

  • ArrayBridge는 여러 개의 HDF5 파일에 걸쳐 하나의 논리적 배열을 제공하는 가상 뷰 추상화를 도입하여, 응용 프로그램의 변경 없이도 분할된 데이터셋에 투명하게 액세스할 수 있도록 한다.
  • 단일 쓰기자 제약을 우회하기 위해 병렬 쓰기 메커니즘을 사용하여 쓰기를 독립적인 스트림으로 분할함으로써 고성능 I/O 확장성을 달성한다.
  • SciDB의 쿼리 실행 엔진과 통합되어 AQL/AFL 쿼리를 외부 HDF5 객체에서 직접 평가함으로써 데이터 로딩 및 재차 배열화가 필요 없도록 한다.
  • 버전 관리 배열의 경우, ArrayBridge는 버전 간 동일한 데이터 청크를 자동으로 중복 제거하여 저장소 크기를 줄이며, HDF5 파일 구조를 수정하지 않는다.
  • 시간여행 쿼리는 수정되지 않은 HDF5 API를 통해 지원되어, 기존의 명령형 응용 프로그램이 코드 수정 없이 과거 버전의 배열에 투명하게 액세스할 수 있다.
  • 프로토타입은 HDF5 기반으로 구축되었으며, 오픈소스 SciDB 배열 데이터베이스 시스템과 네이티브로 통합되어 과학적 HPC 파이프라인과 원활한 상호운용성을 제공한다.

실험 결과

연구 질문

  • RQ1데이터를 네이티브 데이터베이스 형식으로 로딩하지 않고도 외부 HDF5 파일 위에서 선언적 배열 처리를 효율적으로 수행할 수 있는가?
  • RQ2HDF5의 단일 쓰기자 제약을 어떻게 극복하여 대규모 배열 워크로드에 대한 고성능 병렬 쓰기 기능을 실현할 수 있는가?
  • RQ3표준 HDF5 API를 통해 액세스할 수 있도록 하면서도 저장소 오버헤드를 최소화하면서도 버전 관리 배열 객체를 효율적으로 HDF5에 저장할 수 있는가?
  • RQ4가상 뷰 메커니즘이 다수의 컴퓨팅 노드에 걸친 분할된 HDF5 데이터셋에 대해 투명하고 고성능으로 액세스할 수 있는 정도는 어느 정도인가?
  • RQ5선언적 쿼리 처리 기능을 파일 중심의 HPC 워크플로우와 통합했을 때, 네이티브 데이터베이스 저장소 수준의 I/O 확장성과 성능을 달성할 수 있는가?

주요 결과

  • ArrayBridge는 멀티-티비바이트 HDF5 데이터셋을 수분 내에 쿼리할 수 있으며, 네이티브 SciDB에서 요구하는 수시간이 소요되는 데이터 로딩 과정을 회피한다.
  • 32개 노드까지의 스케일에서도 SciDB의 네이티브 스토리지 엔진과 통계적으로 구별할 수 없을 정도로 동일한 I/O 확장성과 성능을 보인다.
  • 가상 뷰를 통한 HDF5로의 병렬 쓰기는 HDF5의 본질적인 단일 쓰기자 블로킹 문제를 극복하여 거의 이상적인 확장성을 달성한다.
  • ArrayBridge는 동일한 데이터 청크를 버전 간 중복 제거하여 버전 관리 배열의 저장소 오버헤드를 줄여 공간 효율성을 크게 향상시킨다.
  • 표준 HDF5 API를 사용하는 기존 응용 프로그램은 코드 수정 없이도 과거 버전의 배열에 시간여행 쿼리를 통해 투명하게 액세스할 수 있다.
  • ArrayBridge의 스캔 컴포onent는 SciDB의 2017 커뮤니티 에디션에 배포되었으며, 대규모 과학 계산 시설에서 이미 도입·운영 중이다.

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

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

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

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