一种基于SIMD指令的RAID加速方法

文档序号:41578911发布日期:2025-04-08 18:40阅读:14来源:国知局
一种基于SIMD指令的RAID加速方法

本发明属于存储系统,具体涉及到一种基于simd指令的raid加速方法。


背景技术:

1、raid(redundant array of independent disks)即独立磁盘冗余阵列,是一种数据存储技术。它通过组合多个物理硬盘驱动器来提供更高的数据传输速率、更大的存储容量,以及数据冗余和容错功能。

2、数据校验(data parity)是raid的关键技术。它通过校验数据来提供数据的安全,可以检测数据错误,并在能力允许的前提下进行数据重构。由于每次数据读写都要进行大量的校验运算,数据校验对计算机的运算速度要求很高。目前,主要方法是利用dma硬件或raid控制器来进行校验运算。为了加快校验运算,陆建海等人发明了一种基于gpu运算的raid加速方法(cn118312099a),利用gpu的并行处理能力,提高数据校验的计算速度,降低计算成本。

3、然而,随着cpu技术的飞速发展,其核心数量不断增加,同时,诸如x86架构中的avx和arm架构中的neon等先进的simd(单指令多数据)指令集也被广泛引入。simd(singleinstruction multiple data)即单指令流多数据流,是一种并行技术。neon是arm架构专有的simd指令集扩展,主要用于多媒体处理、信号处理和数值计算等应用,旨在提高处理器的数据并行处理能力。neon指令集允许处理器一次性处理多个数据点,显著提升计算效率,这些技术的应用极大提升了cpu的计算能力和并行处理能力。


技术实现思路

1、本发明的目的在于利用simd指令,优化现有的数据校验运算,提供一种基于simd指令的raid加速方法。

2、为了实现上述目的,本发明的技术方案如下:

3、一种基于simd指令的raid加速方法,包括数据写入、数据读取、用cpu服务线程执行数据恢复,具体步骤如下:

4、(1)数据写入:

5、(1.1):客户端将待写入的数据d0拆分成固定大小的i个数据块d01、d02、……、d0i;

6、(1.2):客户端检查是否存在未写入的数据块;若存在未写入的数据块,则执行步骤(1.3);否则,执行步骤(1.9);

7、(1.3):对于待写入的数据块,客户端执行数据块写入操作;

8、(1.4):客户端提交日志;每个cpu都维护一个日志队列,数据块落在哪个cpu上,就由该cpu执行数据校验计算;

9、(1.5):在收到步骤(1.4)每个队列日志提交请求后,cpu服务线程从日志队列中获取日志数据;

10、(1.6):cpu服务线程利用simd指令执行数据校验计算,生成相应的校验块p0;

11、(1.7):cpu服务线程将数据块和校验块均写入磁盘中;

12、(1.8):在写入操作完成后,cpu服务线程将向客户端发送消息,告知日志完成;

13、(1.9):在所有的数据块都写入完成后,客户端将结束数据写入过程;

14、(2)数据读取:

15、(2.1):客户端将待读取的数据拆分成多个待读取的数据块;

16、(2.2):客户端发起数据块读取请求,分别读取每个数据块;

17、(2.3):客户端检查待读取的数据块是否存在于缓存中;若缓存未命中,则执行步骤(2.4);否则,执行步骤(2.8);

18、(2.4):客户端通知cpu服务线程,通过cpu服务线程读取相应的数据块;

19、(2.5):在收到客户端的数据块读取请求后,cpu服务线程将检查该数据块是否完好;若数据块已经损坏,则执行步骤(2.6);否则,执行步骤(2.7);

20、(2.6):对于已经损坏的数据块,cpu服务线程将读取分条中未损坏的数据块和校验块,并使用simd指令,恢复该数据块;

21、(2.7):cpu服务线程将请求的数据块传输给客户端,告知数据块读取完成;

22、(2.8):客户端标识该数据块已经就绪;

23、(2.9):客户端检查是否还有未读取的数据块;若还有未读取的数据块,则重复执行步骤(2.2)-(2.8);否则,数据读取过程结束;

24、(3)在某块磁盘发生故障且插入替换的新盘后,cpu服务线程将执行数据恢复:

25、(3.1)客户端通知cpu服务线程执行数据恢复;

26、(3.2):cpu服务线程检查数据恢复工作是否结束;若故障磁盘中的数据尚未完全恢复,则执行步骤(3.3);否则,执行步骤(3.6);

27、(3.3):cpu服务线程读取多个分条中的数据块和校验块;

28、(3.4):cpu服务线程执行simd指令,恢复丢失的数据块;

29、(3.5):cpu服务线程将恢复的数据块写入到新盘中,然后执行步骤(3.2);

30、(3.6):在所有数据都恢复后,cpu服务线程将向客户端发送消息,告知数据恢复已经完成。

31、本发明的有益效果在于:本发明提出了一种创新的解决方案,即利用simd指令集来加速raid(独立磁盘冗余阵列)的数据校验过程。通过巧妙地运用simd指令集在并行处理上的显著优势,在不需要依赖外部的gpu或raid加速硬件的情况下,对raid的数据处理流程进行了深度优化。这一优化策略不仅显著加速了数据的读写操作,而且极大地提升了存储系统的整体性能。具有高性能和低成本的优势。本发明方法充分利用simd指令集在数据并行处理方面的优势,通过优化raid的数据处理流程,实现了对数据读写操作的显著加速。这一创新不仅提升了存储系统的整体性能,还为数据存储的安全性与高效性提供了强有力的技术支撑,具有重要的实际应用价值和广阔的发展前景。



技术特征:

1.一种基于simd指令的raid加速方法,其特征在于:包括数据写入、数据读取、用cpu服务线程执行数据恢复,具体步骤如下:


技术总结
本发明属于存储系统技术领域,具体涉及一种基于SIMD指令的RAID加速方法。包括数据写入、数据读取、用CPU服务线程执行数据恢复,该方法充分利用了SIMD指令集在数据并行处理方面的优势,通过优化RAID的数据处理流程,实现了对数据读写操作的显著加速。这一创新不仅提升了存储系统的整体性能,还为数据存储的安全性与高效性提供了强有力的技术支撑,具有重要的实际应用价值和广阔的发展前景。

技术研发人员:鲁云萍,蒋金虎
受保护的技术使用者:复旦大学
技术研发日:
技术公布日:2025/4/7
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1