Skip to main content
QUICK REVIEW

[论文解读] ArrayBridge: Interweaving declarative array processing with high-performance computing

Haoyuan Xing, Sofoklis Floratos|arXiv (Cornell University)|Feb 27, 2017
Algorithms and Data Compression参考文献 31被引用 3
一句话总结

ArrayBridge 通过提供双向虚拟视图,绕过缓慢的数据加载,实现对外部 HDF5 文件的直接、高性能声明式数组处理,支持并行 I/O 和通过透明的块去重实现的时间旅行查询。其 I/O 可扩展性和性能与原生 SciDB 存储无异,同时保持与 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.

研究动机与目标

  • 科学家在使用像 SciDB 这类声明式数组数据库时,由于大型 HDF5 数据集的慢速、内存密集型数据加载,面临性能和可用性瓶颈。
  • 现有的原位访问机制是被动的,不支持从指令式 HPC 内核高效物化或访问版本化数组。
  • 需要一种系统,实现声明式数组处理与以文件为中心的 HPC 工作流之间的双向互操作性,尤其适用于时间旅行和版本化数组查询。
  • 目标是设计并实现一个系统,允许直接查询和高效写入数组到 HDF5 文件,同时保持与 HDF5 API 的向后兼容性,并最小化存储开销。
  • 目标是实现与原生数据库存储相当的性能和 I/O 可扩展性,即使在多 TiB 数据集上也是如此。

提出的方法

  • ArrayBridge 引入了虚拟视图抽象,将多个 HDF5 文件中的数据呈现为单一逻辑数组,实现对分区数据集的透明访问,无需更改应用程序。
  • 它使用并行写入机制,将写入操作划分为独立的流,绕过 HDF5 的单写入者限制,实现高 I/O 可扩展性。
  • 该系统与 SciDB 的查询执行引擎集成,可直接在外部 HDF5 对象上评估 AQL/AFL 查询,无需数据加载和重维度化。
  • 对于版本化数组,ArrayBridge 自动对不同版本中相同的内存块进行去重,减少存储占用,而不修改 HDF5 文件结构。
  • 通过未修改的 HDF5 API 支持时间旅行查询,使现有指令式应用程序可透明地访问历史版本。
  • 该原型基于 HDF5 构建,并原生集成开源的 SciDB 数组数据库系统,实现与科学 HPC 流水线的无缝互操作。

实验结果

研究问题

  • RQ1是否可以无需将数据加载到本地方数据库格式,直接在外部 HDF5 文件上高效执行声明式数组处理?
  • RQ2如何克服 HDF5 的单写入者限制,以实现大规模数组工作负载的高性能并行写入?
  • RQ3是否可以以极小的存储开销在 HDF5 中高效存储版本化数组对象,同时保持通过标准 HDF5 API 的访问能力?
  • RQ4虚拟视图机制在多台计算节点之间对分区 HDF5 数据集实现透明、高性能访问的程度如何?
  • RQ5声明式查询处理与以文件为中心的 HPC 工作流的集成,是否能实现与原生数据库存储相当的 I/O 可扩展性和性能?

主要发现

  • ArrayBridge 在几分钟内即可查询多 TiB 的 HDF5 数据集,绕过了原生 SciDB 所需的数小时数据加载过程。
  • 即使扩展到 32 个节点,该系统在 I/O 可扩展性和性能方面与 SciDB 原生存储引擎相比统计上无差异。
  • 通过虚拟视图实现的 HDF5 并行写入达到接近理想的可扩展性,克服了 HDF5 本身单写入者的固有瓶颈。
  • ArrayBridge 通过去重未修改的数据块,显著降低了版本化数组的存储开销,大幅提升了空间效率。
  • 使用标准 HDF5 API 的现有应用程序可透明地执行时间旅行查询,无需代码修改即可访问数组的历史版本。
  • ArrayBridge 的扫描组件已作为 SciDB 2017 社区版的一部分发布,并已在大型科学计算设施中部署。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。