利用程序优化技术加速基于XOR的纠删编码
Accelerating XOR-based Erasure Coding using Program Optimization Techniques
摘要:
纠删编码(EC)为大规模系统提供数据冗余。基于XOR的电子商务是一种易于实现的电子商务优化方法。本文讨论了最先进的基于XOR的EC方法(编码吞吐量为4.9 GB/s)与基于另一种方法(编码吞吐量为6.7 GB/s)的英特尔高性能EC库之间的显著性能差距。我们提出了一种新的方法,根据我们的观察,XOR为基础的EC虚拟生成程序的域特定语言XOR字节数组。我们正式这样的程序作为编译器构造的直线程序(SLP),并使用各种优化技术优化SLP。我们的优化流程有三个方面:1)使用语法压缩算法减少操作; 2)使用函数式程序优化方法森林砍伐减少内存访问; 3)使用程序分析的(红蓝)卵石游戏减少缓存未命中。我们提供了一个实验库,它的性能优于英特尔的库8.92 GB/s的吞吐量。
英文摘要:
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 of program analysis. We provide an experimental library, which outperforms Intel's library with 8.92 GB/s throughput.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。