本发明涉及固态硬盘,特别是涉及一种基于nvme ssd的动态中断聚合方法、装置、计算机设备和存储介质。
背景技术:
1、ssd(固态硬盘)已经被广泛应用于各种场合,目前在pc市场,已经逐步替代传统的hdd(机械硬盘),从可靠性和性能方面为用户提供较好的体验。其中,nvme ssd是一种基于pcie总线的高速固态硬盘,具有更快的读写速度、更短的响应时间和更高的iops。nvme ssd非常适合需要高性能和大容量存储的应用程序,高速读写速度和低延迟时间使其非常适合于高负载的数据中心、云计算和企业级应用程序。
2、然而,在现有技术中,对nvme ssd进行中断处理通常为以下2种方案:1.开启中断聚合,同时设置聚合的时间和中断数量阈值,中断聚合达到阈值后上报1个中断。2.关闭中断聚合,1个cqe(completion queue entry,完成队列内存放的完成事件)上报1个中断。显然,上述两种方案并不能实现动态感知服务器侧的压力变化,也无法自动调整中断聚合方式,进而影响了服务器整体i/o性能表现。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种基于nvme ssd的动态中断聚合方法、装置、计算机设备和存储介质。
2、一种基于nvme ssd的动态中断聚合方法,所述方法包括:
3、nvme ssd获取主机下发的i/o命令并进行处理,待所述命令处理完成后将cqe发送到cq中;
4、记当前中断聚合数量加1,并且cqe对应的中断不直接上报;
5、判断当前cq中cqe数量是否超过预设的阈值;
6、若当前cq中cqe数量未超过预设的阈值,则直接上报中断同时将中断聚合数量清0;
7、若当前cq中cqe数量已经超过预设的阈值,则不上报中断。
8、在其中一个实施例中,所述方法还包括:
9、轮询中断聚合数量,定期检查是否有中断被聚合;
10、若存在有中断被聚合则进一步判断当前cq中cqe数量是否超过预设的阈值;
11、若当前cq中cqe数量未超过预设的阈值,则上报中断同时将中断聚合数量清0。
12、在其中一个实施例中,在所述轮询中断聚合数量,定期检查是否有中断被聚合的步骤还包括:
13、若没有中断被聚合则不上报中断。
14、在其中一个实施例中,在所述若存在有中断被聚合则进一步判断当前cq中cqe数量是否超过预设的阈值的步骤之后还包括:
15、若当前cq中cqe数量超过预设的阈值则不上报中断。
16、一种基于nvme ssd的动态中断聚合装置,所述装置包括:
17、命令处理模块,所述命令处理模块用于nvme ssd获取主机下发的i/o命令并进行处理,待所述命令处理完成后将cqe发送到cq中;
18、中断计数模块,所述终端计数模块用于记当前中断聚合数量加1,并且cqe对应的中断不直接上报;
19、阈值判断模块,所述阈值判断模块用于判断当前cq中cqe数量是否超过预设的阈值;
20、第一处理模块,所述第一处理模块用于若当前cq中cqe数量未超过预设的阈值,则直接上报中断同时将中断聚合数量清0;
21、第二处理模块,所述第二处理模块用于若当前cq中cqe数量已经超过预设的阈值,则不上报中断。
22、在其中一个实施例中,所述装置还包括轮询检查模块,所述轮询检查模块用于:
23、轮询中断聚合数量,定期检查是否有中断被聚合;
24、若存在有中断被聚合则进一步判断当前cq中cqe数量是否超过预设的阈值;
25、若当前cq中cqe数量未超过预设的阈值,则上报中断同时将中断聚合数量清0。
26、在其中一个实施例中,所述轮询检查模块还用于:
27、若没有中断被聚合则不上报中断。
28、在其中一个实施例中,所述轮询检查模块还用于:
29、若当前cq中cqe数量超过预设的阈值则不上报中断。
30、一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
31、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
32、上述基于nvme ssd的动态中断聚合方法、装置、计算机设备和存储介质,通过nvmessd获取主机下发的i/o命令并进行处理,待所述命令处理完成后将cqe发送到cq中;记当前中断聚合数量加1,并且cqe对应的中断不直接上报;判断当前cq中cqe数量是否超过预设的阈值;若当前cq中cqe数量未超过预设的阈值,则直接上报中断同时将中断聚合数量清0;若当前cq中cqe数量已经超过预设的阈值,则不上报中断。本发明可以减少nvme ssd在服务器达到性能瓶颈后上报的中断数量,减轻主机处理中断的压力,从而提高服务器整体的i/o性能表现。
1.一种基于nvme ssd的动态中断聚合方法,所述方法包括:
2.根据权利要求1所述的基于nvme ssd的动态中断聚合方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的基于nvme ssd的动态中断聚合方法,其特征在于,在所述轮询中断聚合数量,定期检查是否有中断被聚合的步骤还包括:
4.根据权利要求3所述的基于nvme ssd的动态中断聚合方法,其特征在于,在所述若存在有中断被聚合则进一步判断当前cq中cqe数量是否超过预设的阈值的步骤之后还包括:
5.一种基于nvme ssd的动态中断聚合装置,其特征在于,所述装置包括:
6.根据权利要求5所述的基于nvme ssd的动态中断聚合装置,其特征在于,所述装置还包括轮询检查模块,所述轮询检查模块用于:
7.根据权利要求6所述的基于nvme ssd的动态中断聚合装置,其特征在于,所述轮询检查模块还用于:
8.根据权利要求7所述的基于nvme ssd的动态中断聚合装置,其特征在于,所述轮询检查模块还用于:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。