System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() SPDK性能优化线程方法、装置、设备及存储介质制造方法及图纸_技高网

SPDK性能优化线程方法、装置、设备及存储介质制造方法及图纸

技术编号:41131404 阅读:4 留言:0更新日期:2024-04-30 18:01
本发明专利技术公开了一种SPDK性能优化线程方法、装置、设备及存储介质,所述方法通过检测到NVMe‑oF模块在初始化时,在目标CPU核上创建SPDK的线程,并在每个SPDK的线程上创建两个轮询器poller;通过第一poller接收到执行命令后,将执行命令交给自主分布式对象存储块设备RBD模块进行处理;通过第二poller轮询RBD模块,拉取RBD模块中已处理完成的已处理命令,并将已处理命令发送至NVMe‑oF模块,以进行线程处理;能够使NVMe‑oF模块和RBD模块共享CPU核,减少CPU消耗,减少跨CPU核调用所带来的开销,减少了时延,提升了存储设备的性能,提高了SPDK优化线程的速度和效率。

【技术实现步骤摘要】

本专利技术涉及数据存储,尤其涉及一种spdk性能优化线程方法、装置、设备及存储介质。


技术介绍

1、随着存储技术的不断发展,固态存储设备正在逐渐进入数据中心;目前新一代的固态存储,比起传统磁盘设备,在性能、功耗和机架密度上都具有显著的优势;但相对于传统磁盘,固态盘的价格昂贵,在大规模的数据中心中还不能够作为主要的存储介质,因此闪存类存储设备缓存技术成为当下大数据存储优化研究的重点。

2、当前存储性能开发套件(storage performance development kit,spdk)的线程模型为基于架构的非易失性内存(nvme(non volatile memory express)over fabrics,nvme-of)模块和可靠的自主分布式对象存储块设备(rados block device,reliableautonomic distributed object storeblock device,rbd)模块使用独立的线程模型的方式;该方案为spdk的原生方式,被存储领域广泛使用;该方案存在以下缺陷:1.需占用更多的cpu;2.性能相对较差;缺陷1的产生原因为nvme-of模块使用一部分cpu核,rbd模块使用另一部分cpu核;两部分cpu核不会重合,因此cpu核的总使用量为两者的叠加;缺陷2的产生原因为在处理命令时,nvme-of模块与rbd模块之间跨cpu核进行调度,存在上下文的切换,增加了时延。


技术实现思路

1、本专利技术的主要目的在于提供一种spdk性能优化线程方法、装置、设备及存储介质,旨在解决现有技术中spdk线程的原声需占用更多的cpu,性能相对较差,在跨cpu核进行调度时,存在上下文的切换,增加了时延,线程处理效率较低的技术问题。

2、第一方面,本专利技术提供一种spdk性能优化线程方法,所述spdk性能优化线程方法包括以下步骤:

3、检测到nvme-of模块在初始化时,在目标cpu核上创建spdk的线程,并在每个spdk的线程上创建两个轮询器poller;

4、通过第一poller接收到执行命令后,将所述执行命令交给自主分布式对象存储块设备rbd模块进行处理;

5、通过第二poller轮询所述rbd模块,拉取所述rbd模块中已处理完成的已处理命令,并将所述已处理命令发送至所述nvme-of模块,以进行线程处理。

6、可选地,所述检测到nvme-of模块在初始化时,在目标cpu核上创建一个spdk的线程,并在每个spdk的线程上创建两个轮询器poller,包括:

7、检测到nvme-of模块在初始化时,调用数据平面开发套件dpdk的初始化接口;

8、在所述初始化接口被执行时,在指定的每个目标cpu核上创建一个spdk的线程;

9、在每个spdk的线程上创建两个轮询器poller。

10、可选地,所述在所述初始化接口被执行时,在指定的每个目标cpu核上创建一个spdk的线程之后,所述spdk性能优化线程方法还包括:

11、修改所述spdk的线程的亲和参数,将所述线程绑定在对应的所述目标cpu核上运行。

12、可选地,所述在每个spdk的线程上创建两个轮询器poller,包括:

13、调用每个spdk的spdk_poller_register接口,从所述spdk_poller_register接口的接口参数中获取轮询器poller的执行函数和例测周期;

14、根据所述执行函数和所述例测周期在每个spdk的线程上创建两个poller。

15、可选地,所述通过第一poller接收到执行命令后,将所述执行命令交给自主分布式对象存储块设备rbd模块进行处理,包括:

16、通过第一poller轮询verbs接口或者socket接口,通过所述verbs接口或者所述socket接口处理网卡接收到的执行指令;

17、将所述执行指令发送至所述nvme-of模块,以使所述nvme-of模块对所述执行指令进行解包,获得解包后指令;

18、将所述解包后指令交给自主分布式对象存储块设备rbd模块进行处理。

19、可选地,所述将所述解包后指令交给自主分布式对象存储块设备rbd模块进行处理,包括:

20、将所述解包后指令发送至自主分布式对象存储块设备rbd模块,以使所述rbd模块根据所述解包后指令执行对应的盘操作动作。

21、可选地,所述通过第二poller轮询所述rbd模块,拉取所述rbd模块中已处理完成的已处理命令,并将所述已处理命令发送至所述nvme-of模块,以进行线程处理,包括:

22、通过第二poller轮询所述rbd模块,拉取所述rbd模块中已处理完成的已处理命令;

23、将所述已处理命令发送至所述nvme-of模块,以通过所述nvme-of模块对所述已处理命令进行重新封装,获得封装后的命令响应,调用verbs接口或socket接口将所述命令响应通过网卡回复给主机。

24、第二方面,为实现上述目的,本专利技术还提出一种spdk性能优化线程装置,所述spdk性能优化线程装置包括:

25、创建模块,用于检测到nvme-of模块在初始化时,在目标cpu核上创建spdk的线程,并在每个spdk的线程上创建两个轮询器poller;

26、rbd处理模块,用于通过第一poller接收到执行命令后,将所述执行命令交给自主分布式对象存储块设备rbd模块进行处理;

27、线程处理模块,用于通过第二poller轮询所述rbd模块,拉取所述rbd模块中已处理完成的已处理命令,并将所述已处理命令发送至所述nvme-of模块,以进行线程处理。

28、第三方面,为实现上述目的,本专利技术还提出一种spdk性能优化线程设备,所述spdk性能优化线程设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的spdk性能优化线程程序,所述spdk性能优化线程程序配置为实现如上文所述的spdk性能优化线程方法的步骤。

29、第四方面,为实现上述目的,本专利技术还提出一种存储介质,所述存储介质上存储有spdk性能优化线程程序,所述spdk性能优化线程程序被处理器执行时实现如上文所述的spdk性能优化线程方法的步骤。

30、本专利技术提出的spdk性能优化线程方法,通过检测到nvme-of模块在初始化时,在目标cpu核上创建spdk的线程,并在每个spdk的线程上创建两个轮询器poller;通过第一poller接收到执行命令后,将所述执行命令交给自主分布式对象存储块设备rbd模块进行处理;通过第二poller轮询所述rbd模块,拉取所述rbd模块中已处理完成的已处理命令,并将所述已处理命令发送至所述nvme-of模块,以进行线程处理;能够使nvme-of模块和rbd模块共享cpu核,减少了cpu的消本文档来自技高网...

【技术保护点】

1.一种SPDK性能优化线程方法,其特征在于,所述SPDK性能优化线程方法包括:

2.如权利要求1所述的SPDK性能优化线程方法,其特征在于,所述检测到NVMe-oF模块在初始化时,在目标CPU核上创建一个SPDK的线程,并在每个SPDK的线程上创建两个轮询器poller,包括:

3.如权利要求2所述的SPDK性能优化线程方法,其特征在于,所述在所述初始化接口被执行时,在指定的每个目标CPU核上创建一个SPDK的线程之后,所述SPDK性能优化线程方法还包括:

4.如权利要求2所述的SPDK性能优化线程方法,其特征在于,所述在每个SPDK的线程上创建两个轮询器poller,包括:

5.如权利要求1所述的SPDK性能优化线程方法,其特征在于,所述通过第一poller接收到执行命令后,将所述执行命令交给自主分布式对象存储块设备RBD模块进行处理,包括:

6.如权利要求5所述的SPDK性能优化线程方法,其特征在于,所述将所述解包后指令交给自主分布式对象存储块设备RBD模块进行处理,包括:

7.如权利要求1所述的SPDK性能优化线程方法,其特征在于,所述通过第二poller轮询所述RBD模块,拉取所述RBD模块中已处理完成的已处理命令,并将所述已处理命令发送至所述NVMe-oF模块,以进行线程处理,包括:

8.一种SPDK性能优化线程装置,其特征在于,所述SPDK性能优化线程装置包括:

9.一种SPDK性能优化线程设备,其特征在于,所述SPDK性能优化线程设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的SPDK性能优化线程程序,所述SPDK性能优化线程程序配置为实现如权利要求1至7中任一项所述的SPDK性能优化线程方法的步骤。

10.一种存储介质,其特征在于,所述存储介质上存储有SPDK性能优化线程程序,所述SPDK性能优化线程程序被处理器执行时实现如权利要求1至7中任一项所述的SPDK性能优化线程方法的步骤。

...

【技术特征摘要】

1.一种spdk性能优化线程方法,其特征在于,所述spdk性能优化线程方法包括:

2.如权利要求1所述的spdk性能优化线程方法,其特征在于,所述检测到nvme-of模块在初始化时,在目标cpu核上创建一个spdk的线程,并在每个spdk的线程上创建两个轮询器poller,包括:

3.如权利要求2所述的spdk性能优化线程方法,其特征在于,所述在所述初始化接口被执行时,在指定的每个目标cpu核上创建一个spdk的线程之后,所述spdk性能优化线程方法还包括:

4.如权利要求2所述的spdk性能优化线程方法,其特征在于,所述在每个spdk的线程上创建两个轮询器poller,包括:

5.如权利要求1所述的spdk性能优化线程方法,其特征在于,所述通过第一poller接收到执行命令后,将所述执行命令交给自主分布式对象存储块设备rbd模块进行处理,包括:

6.如权利要求5所述的spdk性能优化线程方法,其特征在于,...

【专利技术属性】
技术研发人员:方涛
申请(专利权)人:中电云计算技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1