一种提升存储系统性能的方法、装置、设备、产品制造方法及图纸

技术编号:27058939 阅读:18 留言:0更新日期:2021-01-15 14:38
本发明专利技术提供一种提升存储系统性能的方法、装置、设备、产品,所述方法包括如下步骤:查询物理服务器CPU的配置;根据CPU的配置选取绑定的逻辑核;创建线程,并将创建的线程与选定的CPU的逻辑核进行绑定;调度线程时,将线程分配到绑定的CPU逻辑核上。减小线程在多个逻辑核之间迁移的代价,提升存储系统的性能。创建的线程绑定到指定的CPU逻辑核上,操作系统调度线程时按照绑核策略将线程分配到指定CPU逻辑核上,减少线程迁移的开销,提升存储系统的性能。

【技术实现步骤摘要】
一种提升存储系统性能的方法、装置、设备、产品
本专利技术涉及存储系统性能提升
,具体涉及一种提升存储系统性能的方法、装置、设备、产品。
技术介绍
服务器虚拟化,可以把物理资源转换为逻辑上可以管理的虚拟资源,将多个逻辑服务器整合到一台物理服务器中,实现同时运行多个虚拟环境的目的,同时可以降低服务器的成本,更容易、更安全的对服务器进行管理。QEMU-KVM是当前服务器虚拟化常用的方案,尤其是OpenStack构建私有云场景。KVM在内核空间,提供CPU和内存的虚拟化,QEMU在用户空间,对硬件I/O进行虚拟化。当VM操作系统的I/O被KVM拦截后,就会交给QEMU处理。QEMU对接分布式存储系统时,一般采用直接调用librbd客户端的方式访问后端存储。为了提升并行任务处理能力,物理服务器一般采用SMP或者NUMA的多核CPU,使得多个线程可以同时在CPU的多个逻辑核上并行运行。操作系统会采用调度算法,并考虑多个核之间的负载均衡,将线程分配到合适的逻辑核上运行。如果某个逻辑核的负载太高,会将该逻辑核负责的线程迁移到其他逻辑核上执行,最终的结果所有进程的线程将会大体均匀分布在CPU的所有核心上。如果目标逻辑核和当前逻辑核不在同一个NUMA节点,或者跨多个物理CPU,线程迁移的代价会很高,降低系统性能。对于物理服务器来说,一台VM对应一个QEMU进程,一个QEMU进程会创建多个并行的线程处理I/O任务,即对存储后端进行读写访问。当前QEMU调用librbd客户端创建I/O线程后,线程调度完全依赖物理服务器操作系统的调度策略,当物理服务器上同时存在多个QEMU进程或者其他进程时,由于VM的I/O具有突发性,librbd的线程会在CPU的多个核心之间进行迁移,使线程逻辑核迁移的代价较高,降低存储系统的I/O性能。
技术实现思路
针对当物理服务器上同时存在多个QEMU进程或者其他进程时,由于VM的I/O具有突发性,librbd的线程会在CPU的多个核心之间进行迁移,使线程逻辑核迁移的代价较高,降低存储系统的I/O性能的问题,本专利技术提供一种提升存储系统性能的方法、装置、设备、产品。本专利技术的技术方案是:第一方面,本专利技术技术方案提供一种提升存储系统性能的方法,包括如下步骤:查询物理服务器CPU的配置;根据CPU的配置选取绑定的逻辑核;创建线程,并将创建的线程与选定的CPU的逻辑核进行绑定;调度线程时,将线程分配到绑定的CPU逻辑核上。减小线程在多个逻辑核之间迁移的代价,提升存储系统的性能。进一步的,创建线程,并将创建的线程与选定的CPU的逻辑核进行绑定的步骤包括:将选中的逻辑核写入配置文件中;创建线程,并且创建线程时解析配置文件,读取配置文件中绑核开关和绑核参数;将创建的线程的硬亲和性设置为配置的逻辑核实现逻辑核的绑定。创建的线程绑定到指定的CPU逻辑核上。进一步的,查询物理服务器CPU的配置的步骤包括:获取NUMA节点数、每个节点的CPU数量即物理核的数量、每个CPU的逻辑核的数量。进一步的,根据CPU的配置选取绑定的逻辑核的步骤包括:根据CPU的配置进行判断;若有多个NUMA节点,绑定的逻辑核所在CPU在同一个NUMA节点;若有多个物理核,判断是否开启超线程,若否,绑定相邻的逻辑核;若是,绑定的逻辑核分布在同一个物理核上。操作系统调度线程时按照绑核策略将线程分配到指定CPU逻辑核上,减少线程迁移的开销,提升存储系统的性能。第二方面,本专利技术技术方案提供一种提升存储系统性能的装置,包括查询模块、选取模块、绑定模块和处理模块;查询模块,用于查询物理服务器CPU的配置;选取模块,用于根据CPU的配置选取绑定的逻辑核;绑定模块,用于创建线程,并将创建的线程与选定的CPU的逻辑核进行绑定;处理模块,用于调度线程时,将线程分配到绑定的CPU逻辑核上。进一步的,绑定模块包括写入单元、解析读取单元和绑定单元;写入单元,用于将选中的逻辑核写入配置文件中;解析读取单元,用于创建线程,并且创建线程时解析配置文件,读取配置文件中绑核开关和绑核参数;绑定单元,用于将创建的线程的硬亲和性设置为配置的逻辑核实现逻辑核的绑定。进一步的,查询模块包括节点数获取单元、物理核数获取单元和逻辑核数获取单元;节点数获取单元,用于获取NUMA节点数;物理核数获取单元,用于获取每个节点的CPU数量即物理核的数量;逻辑核数获取单元,用于获取每个CPU的逻辑核的数量。进一步的,选取模块包括判断单元和选取单元;判断单元,用于根据CPU的配置进行判断;还用于若有多个物理核,判断是否开启超线程;选取单元,用于若判断单元判断有多个NUMA节点,选取绑定的逻辑核所在CPU在同一个NUMA节点;还用于若判断单元判断没有开启超线程时,选取绑定相邻的逻辑核;若判断单元判断开启超线程时,先去绑定的逻辑核分布在同一个物理核上。第三方面,本专利技术技术方案还提供一种电子设备,包括存储器和处理器,存储器和处理器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面所述的提升存储系统性能的方法。第四方面,本专利技术技术方案还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如第一方面所述的提升存储系统性能的方法。从以上技术方案可以看出,本专利技术具有以下优点:创建的线程绑定到指定的CPU逻辑核上,操作系统调度线程时按照绑核策略将线程分配到指定CPU逻辑核上,减少线程迁移的开销,提升存储系统的性能。此外,本专利技术设计原理可靠,结构简单,具有非常广泛的应用前景。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一个实施例的方法的示意性流程图。图2是本专利技术一个实施例的装置的示意性框图。图3为本专利技术实施例提供的一种电子设备的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。下面对本专利技术中出现的关键术语进行解释。如图1所示,本文档来自技高网
...

【技术保护点】
1.一种提升存储系统性能的方法,其特征在于,包括如下步骤:/n查询物理服务器CPU的配置;/n根据CPU的配置选取绑定的逻辑核;/n创建线程,并将创建的线程与选定的CPU的逻辑核进行绑定;/n调度线程时,将线程分配到绑定的CPU逻辑核上。/n

【技术特征摘要】
1.一种提升存储系统性能的方法,其特征在于,包括如下步骤:
查询物理服务器CPU的配置;
根据CPU的配置选取绑定的逻辑核;
创建线程,并将创建的线程与选定的CPU的逻辑核进行绑定;
调度线程时,将线程分配到绑定的CPU逻辑核上。


2.根据权利要求1所述的提升存储系统性能的方法,其特征在于,创建线程,并将创建的线程与选定的CPU的逻辑核进行绑定的步骤包括:
将选中的逻辑核写入配置文件中;
创建线程,并且创建线程时解析配置文件,读取配置文件中绑核开关和绑核参数;
将创建的线程的硬亲和性设置为配置的逻辑核实现逻辑核的绑定。


3.根据权利要求1所述的提升存储系统性能的方法,其特征在于,查询物理服务器CPU的配置的步骤包括:
获取NUMA节点数、每个节点的CPU数量即物理核的数量、每个CPU的逻辑核的数量。


4.根据权利要求3所述的提升存储系统性能的方法,其特征在于,根据CPU的配置选取绑定的逻辑核的步骤包括:
根据CPU的配置进行判断;
若有多个NUMA节点,绑定的逻辑核所在CPU在同一个NUMA节点;
若有多个物理核,判断是否开启超线程,若否,绑定相邻的逻辑核;若是,绑定的逻辑核分布在同一个物理核上。


5.一种提升存储系统性能的装置,其特征在于,包括查询模块、选取模块、绑定模块和处理模块;
查询模块,用于查询物理服务器CPU的配置;
选取模块,用于根据CPU的配置选取绑定的逻辑核;
绑定模块,用于创建线程,并将创建的线程与选定的CPU的逻辑核进行绑定;
处理模块,用于调度线程时,将线程分配到绑定的CPU逻辑核上。


6.根据权利要求5所述的提升存储...

【专利技术属性】
技术研发人员:刘伟锋张在贵
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1