One Pass to Parse Them All: Fused Parallel CSV Processing
Simon Ellmann, Thomas Neumann
Abstract
CSV remains one of the most widely used formats for exchanging tabular data, making efficient CSV processing an important problem. Yet most CSV parsers are sequential, failing to exploit the parallelism of modern hardware. While parallel CSV parsing approaches have been proposed in the literature, none of these seem to be used in practice. Conversely, a simple idea for synchronization-free speculative parsing that is used for parallel parsing, e.g., in DuckDB, has never been described in the literature, nor has it been exploited efficiently. In this paper, we close this gap. We contribute a) a description of how real-world CSV files can be parsed in parallel on commodity multicore CPUs, b) a new programming model for general-purpose CSV parsers that unifies parallel parsing and parallel data processing into one pass over the data, and c) a new vectorization strategy with efficient index and zero-copy record construction to accelerate parsing. Our evaluation shows that csveee, our parser, outperforms widely-used CSV parsers in single- and multi-threaded performance, and scales near-linearly to achieve throughput of up to 180 GB/s — 22× faster than DuckDB — all while remaining practical for integration into real-world data processing systems.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 0168b038-5ebf-4556-891a-e393859c5f8fBuilds on2
Related papers
- Vortex: Extreme-Performance Memory Abstractions for Data-Intensive Streaming ApplicationsCarson Hanel, Arif Arman, Di Xiao, John Keech et al.ASPLOS 2020 · 5 citations
- Aurochs: An Architecture for Dataflow ThreadsMatthew Vilim, Alexander Rucker, Kunle OlukotunISCA 2021 · 23 citations
- These Rows Are Made for Sorting and That's Just What We'll DoLaurens Kuiper, Hannes MühleisenICDE 2023 · 6 citations
- T4: Compiling Sequential Code for Effective Speculative Parallelization in HardwareVictor A. Ying, Mark C. Jeffrey, Daniel SánchezISCA 2020 · 25 citations
- A Specialized Architecture for Object Serialization with Applications to Big Data AnalyticsJaeyoung Jang, Sungjun Jung, Sunmin Jeong, Jun Heo et al.ISCA 2020 · 32 citations
