作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2024, Vol. 50 ›› Issue (2): 224-231. doi: 10.19678/j.issn.1000-3428.0066809

• 体系结构与软件技术 • 上一篇    下一篇

基于FPGA的软硬件协同纠删码编码加速方案

杨思捷1,2, 陈俊奇1,2, 王勇1,2,*(), 李树林1,2   

  1. 1. 桂林电子科技大学计算机与信息安全学院, 广西 桂林 541004
    2. 桂林电子科技大学广西教育大数据与网络安全协同创新中心, 广西 桂林 541004
  • 收稿日期:2023-01-20 出版日期:2024-02-15 发布日期:2023-05-04
  • 通讯作者: 王勇
  • 基金资助:
    国家自然科学基金(61831013); 广西创新驱动重大专项(桂科AA18118031); 桂林电子科技大学研究生教育创新计划(2023YCXB06)

FPGA-based Software and Hardware Cooperative Acceleration Scheme of Erasure Code Encoding

Sijie YANG1,2, Junqi CHEN1,2, Yong WANG1,2,*(), Shulin LI1,2   

  1. 1. School of Computer Science and Information Security, Guilin University of Electronic Technology, Guilin 541004, Guangxi, China
    2. Guangxi Educational Big Data and Cyberspace Security Collaborative Innovation Center, Guilin University of Electronic Technology, Guilin 541004, Guangxi, China
  • Received:2023-01-20 Online:2024-02-15 Published:2023-05-04
  • Contact: Yong WANG

摘要:

纠删码容错技术已广泛应用于分布式存储系统,相较于多副本容错技术能显著降低数据存储成本,并且具有更高的数据通信可靠性和安全性,但在数据存储过程中不可避免地会引入额外的计算开销并增加编码时延,导致数据写入吞吐量降低。针对该问题,提出一种基于现场可编程门列阵(FPGA)的纠删码编码加速方案。首先,利用FPGA的高速并行计算优势对纠删码算法进行硬件加速,并实现并行处理和时序优化。然后,针对上位机与FPGA之间因传输速率和处理速率不一致造成内存中的数据溢出问题,在FPGA上拓展了片外DDR3接口用于数据缓存,提高了通信可靠性,并利用DDR3的随机存取特点实现对数据块的分片。最后,设计基于FPGA的纠删码编码硬件加速架构进行实验验证。实验结果表明,与主流Jerasure 2.0开源纠删码库相比,该方案的数据写入吞吐量提升了2.7~93.0倍,尤其对于小文件的编码写入性能提升更为显著。

关键词: 纠删码, 现场可编程门阵列, 硬件加速, 分布式存储, 模块化设计

Abstract:

The erasure code fault-tolerant technology is widely used in current distributed storage systems. Compared with the multicopy fault-tolerant technology, the erasure code can not only significantly reduce the data storage costs, but can also provide improved data reliability and security. However, during the data storage process, the erasure code technology inevitably introduces additional computing overhead, increases the coding delay, and decreases the data write throughput. This study proposes an acceleration scheme of erasure code encoding based on the Field Programmable Gate Array(FPGA) to decrease the coding delay and increase the data write throughput. The specific work includes the following aspects. First, the advantages of high-speed parallel computing of the FPGA is used to speed up the erasure code algorithm and achieve parallel processing and timing optimization. Next, the off-chip DDR3 interface is expanded on the FPGA for data cache, which improves the reliability of communication, to solve the problem of data overflow in memory caused by the inconsistency of the transmission rate and processing rate between the upper computer and FPGA. In addition, the random access feature of DDR3 is used to fragment the data blocks. Finally, a hardware acceleration architecture based on the FPGA for the erasure code is designed for experimental verification. The experimental results show that the FPGA-based acceleration scheme improves the data write throughput by 2.7-93.0 times compared with the current mainstream open-source erasure code library Jerasure 2.0, particularly for the encoding and writing performance of smaller files.

Key words: erasure code, Field Programmable Gate Array(FPGA), hardware acceleration, distributed storage, modular design