TL;DR
This paper introduces a novel program optimization approach for XOR-based erasure coding, significantly improving throughput by formalizing and optimizing the generated programs with advanced compiler techniques.
Contribution
It formalizes XOR-based erasure coding as straight-line programs and applies multiple compiler optimizations to enhance performance beyond existing methods.
Findings
Achieves 8.92 GB/s throughput, surpassing Intel's 6.7 GB/s.
Uses grammar compression, deforestation, and pebble game analysis for optimization.
Provides an experimental library demonstrating the performance improvements.
Abstract
Erasure coding (EC) affords data redundancy for large-scale systems. XOR-based EC is an easy-to-implement method for optimizing EC. This paper addresses a significant performance gap between the state-of-the-art XOR-based EC approach (with 4.9 GB/s coding throughput) and Intel's high-performance EC library based on another approach (with 6.7 GB/s). We propose a novel approach based on our observation that XOR-based EC virtually generates programs of a Domain Specific Language for XORing byte arrays. We formalize such programs as straight-line programs (SLPs) of compiler construction and optimize SLPs using various optimization techniques. Our optimization flow is three-fold: 1) reducing operations using grammar compression algorithms; 2) reducing memory accesses using deforestation, a functional program optimization method; and 3) reducing cache misses using the (red-blue) pebble game…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
