中文

ParPaRaw:分隔符分隔原始数据的大规模并行解析

数据库 2020-04-16 v2 分布式、并行与集群计算 数据结构与算法

摘要

解析对于流处理、批量加载和原始数据的原位查询等广泛用例至关重要。然而,这一计算密集型步骤常构成数据摄取管道的主要瓶颈,因为对需要更复杂解析规则的输入进行解析难以并行化。本工作提出一种在 GPU 上解析分隔符分隔数据格式的大规模并行算法。与最先进方法不同,所提方法不需要对输入进行初始顺序遍历以确定线程的解析上下文。即,一个在输入中间某处开始的线程应如何解释某个符号(例如,是将逗号解释为分隔符还是解释为双引号括起的大字符串的一部分)。我们的方法不是针对单一格式定制,而是能够执行大规模并行 FSM 模拟,其更灵活且强大,支持具有普遍适用性的更具表达力的解析规则。在具有 3584 个核心的 GPU 上,我们的实验评估实现了高达 14.2 GB/s 的解析速率,表明所提方法能够扩展到数千核心乃至更多。借助端到端流处理方案,我们能够利用 PCIe 总线的全双工能力并隐藏数据传输延迟。考虑端到端性能,该算法在包括数据传输在内的仅 0.44 秒内解析了 4.8 GB。

关键词

引用

@article{arxiv.1905.13415,
  title  = {ParPaRaw: Massively Parallel Parsing of Delimiter-Separated Raw Data},
  author = {Elias Stehle and Hans-Arno Jacobsen},
  journal= {arXiv preprint arXiv:1905.13415},
  year   = {2020}
}