CN105511964A - I/o请求的处理方法和装置 - Google Patents
I/o请求的处理方法和装置 Download PDFInfo
- Publication number
- CN105511964A CN105511964A CN201510855883.9A CN201510855883A CN105511964A CN 105511964 A CN105511964 A CN 105511964A CN 201510855883 A CN201510855883 A CN 201510855883A CN 105511964 A CN105511964 A CN 105511964A
- Authority
- CN
- China
- Prior art keywords
- cpu
- grouping
- processing group
- lun
- business processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
Abstract
本发明实施例提供一种I/O请求的处理方法和装置,通过将CPU核划分为中断处理组和业务处理组,让中断固化在部分CPU核上处理,与处理业务I/O的CPU核分开,可以避免由于中断的突然到来导致业务I/O瞬时时延突然变大的问题,提升了系统的时延稳定性,进一步通过对业务处理组中的CPU核进行分组,建立LUN与CPU分组的映射关系,每个CPU组处理固定的LUN上的I/O请求,减少各个CPU核上的I/O对同一个LUN上的共享资源争用时的冲突,提升CPU缓存命中率和系统整体性能。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种输入/输出(Input/Output,简称I/O)请求的处理方法和装置。
背景技术
全闪存阵列要求在一定的I/O压力下,提供稳定的时延,除了传统的基于并发的资源预留和流控策略,系统在设计上也要求规避各类干扰源引入的时延抖动,以改善时延的稳定性。
现有技术中,所有中断分配在各个中央处理单元(CentralProcessingUnit,简称CPU)核上执行,会由于中断I/O的随机性和突发性而打断正在当前核上处理的业务I/O的执行,造成业务I/O瞬时时延变大,影响业务I/O的时延稳定性能。当各个核上的I/O对同一个共享资源进行访问时,会产生访问冲突,其他CPU核需要等待在前的CPU核访问完成才能进行访问,导致业务I/O的时延增大,CPU缓存命中率也会降低。
发明内容
本发明实施例提供一种I/O请求的处理方法和装置,减少各个CPU核上的I/O对同一个逻辑单元号(LogicalUnitNumber,简称LUN)上的共享资源争用时的冲突,提升CPU缓存命中率和系统整体性能。
本发明第一方面提供一种I/O请求的处理方法,该I/O请求的处理方法包括:首先对系统中的N个CPU核进行划分,将M个CPU核划分到中断处理组,将N-M个CPU核划分到业务处理组,中断处理组中的CPU核用于处理中断I/O,业务处理组中的CPU核用于处理业务I/O,通过让中断固化在部分CPU核上处理,与处理业务I/O的CPU核分开,可以避免由于中断的突然到来导致业务I/O瞬时时延突然变大的问题,提升了系统的时延稳定性。进一步的根据系统中的LUN个数和业务处理组中的CPU核的个数,对业务处理组中的CPU核进行分组,分组后每个CPU分组包含至少一个CPU核,并建立LUN与CPU分组的映射关系。后续当接收到应用发送的业务I/O请求时,根据业务I/O请求中包括的访问地址确定业务I/O请求要访问的目标LUN,根据目标LUN以及LUN与CPU分组的映射关系,确定执行业务I/O请求的目标CPU分组,将业务I/O请求发送给目标CPU分组执行。通过对业务处理组中的CPU核进行分组,使得每个CPU组处理固定的LUN上的I/O请求,减少各个CPU核上的I/O对同一个LUN上的共享资源争用时的冲突,提升CPU缓存命中率和系统整体性能。
在本发明第一方面的一种可能的实现方式,通过如下方式对业务处理组中的CPU核进行分组:首先确定CPU分组个数,为所述业务处理组中的CPU分组分配分组标识,然后将所述业务处理组中的CPU核分配给所述业务处理组中的CPU分组,将所述系统中的LUN平均分配给所述业务处理组中的每个CPU分组。其中,在确定CPU分组个数时,通过比较系统中的LUN个数和业务处理组中的CPU核的个数,当所述系统中的LUN个数小于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述系统中的LUN个数。相应的,记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
在本发明第一方面的另一种可能的实现方式,通过如下方式对业务处理组中的CPU核进行分组:首先确定CPU分组个数,为所述业务处理组中的CPU分组分配分组标识,然后,将所述业务处理组中的CPU核平均分配给所述业务处理组中的每个CPU分组,将所述系统中的LUN分配给所述业务处理组中的每个CPU分组。其中,在确定CPU分组个数时,通过比较系统中的LUN个数和业务处理组中的CPU核的个数,当所述系统中的LUN个数大于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述业务处理组中的CPU核的个数。相应的,记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
在本发明第一方面的一种可能的实现方式,所述方法还包括:根据中断的属性对所述中断处理组中的CPU核进行分组,所述中断处理组中的每个CPU分组用于对一种中断进行处理。
在本发明第一方面的一种可能的实现方式,还可以对所述系统中的CPU分组包括的CPU核个数进行调整,具体的:统计所述业务处理组中的每个CPU分组的CPU利用率以及所述中断处理组中的每个CPU分组的CPU利用率,然后根据所述系统中的CPU分组的CPU利用率,对所述系统中的CPU分组包括的CPU核个数进行调整,所述系统中的CPU分组包括所述业务处理组中的CPU分组和所述中断处理组中的CPU分组,相应的更新所述LUN与CPU分组的映射关系。
在本发明第一方面的一种可能的实现方式,可通过如下方式对CPU分组包括的CPU核个数进行调整:首先判断所述系统中的CPU分组的CPU利用率是否满足条件一和条件一中的任意一个,其中,所述条件一为:所述系统中的每个CPU分组的CPU利用率均大于第一阈值,所述条件二为:所述系统中的每个CPU分组的CPU利用率均小于第二阈值,所述第二阈值小于所述第一阈值。
如果所述系统中的CPU分组的CPU利用率满足所述条件一和所述条件二中的任意一个,则不对所述系统中的CPU分组包括的CPU核个数进行调整,如果所述系统中的CPU分组的CPU利用率不满足所述条件一和所述条件二中的任意一个,则进一步判断所述系统的CPU分组中CPU利用率最大的CPU分组和CPU利用率最小的CPU分组的CPU利用率的差值是否大于第三阈值。如果所述CPU利用率的差值大于所述第三阈值,则确定对所述业务处理组中的CPU分组包括的CPU核个数进行调整,将所述CPU利用率最小的CPU分组中的一个CPU核分配给所述CPU利用率最大的CPU分组,如果所述CPU利用率的差值不大于所述第三阈值,则确定不对所述业务处理组中的CPU分组包括的CPU核个数进行调整。其中,所述第三阈值大于所述第二阈值,且小于所述第一阈值。
在本发明第一方面的一种可能的实现方式,所述更新所述LUN与CPU分组的映射关系,具体为:判断所述CPU利用率最小的CPU分组中CPU核的个数是否为零,如果所述CPU利用率最小的CPU分组中CPU核的个数为零,则删除所述CPU利用率最小的CPU分组,并更新所述CPU利用率最大的CPU分组和LUN的对应关系,如果所述CPU利用率最小的CPU分组中CPU核的个数不为零,则分别更新所述CPU利用率最大的CPU分组和LUN的对应关系,以及所述CPU利用率最小的CPU分组和LUN的对应关系。
本发明第二方面提供一种I/O请求的处理装置,所述I/O请求的处理装置包括:第一分组模块、第二分组模块、建立模块、第一确定模块、第二确定模块和发送模块。第一分组模块用于对系统中的N个CPU核进行划分,将M个CPU核划分到中断处理组,将N-M个CPU核划分到业务处理组,所述中断处理组中的CPU核用于处理中断I/O,所述业务处理组中的CPU核用于处理业务I/O,其中,M和N均为大于正整数,且M小于N;第二分组模块用于根据所述系统中的LUN个数和所述业务处理组中的CPU核的个数,对所述业务处理组中的CPU核进行分组,每个CPU分组包含至少一个CPU核;建立模块用于建立LUN与CPU分组的映射关系;第一确定模块用于当接收到应用发送的业务I/O请求时,根据所述业务I/O请求中包括的访问地址确定所述业务I/O请求要访问的目标LUN;第二确定模块用于根据所述目标LUN以及LUN与CPU分组的映射关系,确定执行所述业务I/O请求的目标CPU分组;发送模块用于将所述业务I/O请求发送给所述目标CPU分组执行。
在本发明第二方面的一种可能的实现方式,所述第二分组模块具体用于:当所述系统中的LUN个数小于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述系统中的LUN个数,为所述业务处理组中的CPU分组分配分组标识,然后将所述业务处理组中的CPU核分配给所述业务处理组中的CPU分组,将所述系统中的LUN平均分配给所述业务处理组中的每个CPU分组。所述建立模块具体用于:记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
在本发明第二方面的另一种可能的实现方式,所述第二分组模块具体用于:当所述系统中的LUN个数大于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述业务处理组中的CPU核的个数,为所述业务处理组中的CPU分组分配分组标识,然后将所述业务处理组中的CPU核平均分配给所述业务处理组中的每个CPU分组,将所述系统中的LUN分配给所述业务处理组中的每个CPU分组。所述建立模块具体用于:记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
在本发明第二方面的一种可能的实现方式,所述I/O请求的处理装置还包括:第三分组模块,第三分组模块用于根据中断的属性对所述中断处理组中的CPU核进行分组,所述中断处理组中的每个CPU分组用于对一种中断进行处理。
在本发明第二方面的一种可能的实现方式,所述I/O请求的处理装置还包括:统计模块、调整模块和更新模块。统计模块用于统计所述业务处理组中的每个CPU分组的CPU利用率以及所述中断处理组中的每个CPU分组的CPU利用率;调整模块用于根据所述系统中的CPU分组的CPU利用率,对所述系统中的CPU分组包括的CPU核个数进行调整,所述系统中的CPU分组包括所述业务处理组中的CPU分组和所述中断处理组中的CPU分组;更新模块用于更新所述LUN与CPU分组的映射关系。
在本发明第二方面的一种可能的实现方式,所述调整模块具体用于:判断所述系统中的CPU分组的CPU利用率是否满足条件一和条件一中的任意一个,其中,所述条件一为:所述系统中的每个CPU分组的CPU利用率均大于第一阈值,所述条件二为:所述系统中的每个CPU分组的CPU利用率均小于第二阈值,所述第二阈值小于所述第一阈值。
如果所述系统中的CPU分组的CPU利用率满足所述条件一和所述条件二中的任意一个,则确定不对所述系统中的CPU分组包括的CPU核个数进行调整。如果所述系统中的CPU分组的CPU利用率不满足所述条件一和所述条件二中的任意一个,则进一步判断所述系统的CPU分组中CPU利用率最大的CPU分组和CPU利用率最小的CPU分组的CPU利用率的差值是否大于第三阈值。如果所述CPU利用率的差值大于所述第三阈值,则确定对所述业务处理组中的CPU分组包括的CPU核个数进行调整,将所述CPU利用率最小的CPU分组中的一个CPU核分配给所述CPU利用率最大的CPU分组;如果所述CPU利用率的差值不大于所述第三阈值,则确定不对所述业务处理组中的CPU分组包括的CPU核个数进行调整。其中,所述第三阈值大于所述第二阈值,且小于所述第一阈值;
在本发明第二方面的一种可能的实现方式,所述更新模块具体用于:判断所述CPU利用率最小的CPU分组中CPU核的个数是否为零。如果所述CPU利用率最小的CPU分组中CPU核的个数为零,则删除所述CPU利用率最小的CPU分组,并更新所述CPU利用率最大的CPU分组和LUN的对应关系。如果所述CPU利用率最小的CPU分组中CPU核的个数不为零,则分别更新所述CPU利用率最大的CPU分组和LUN的对应关系,以及所述CPU利用率最小的CPU分组和LUN的对应关系。
本发明实施例提供的I/O请求的处理方法和装置,通过将CPU核划分为中断处理组和业务处理组,让中断固化在部分CPU核上处理,与处理业务I/O的CPU核分开,可以避免由于中断的突然到来导致业务I/O瞬时时延突然变大的问题,提升了系统的时延稳定性,进一步通过对业务处理组中的CPU核进行分组,建立LUN与CPU分组的映射关系,每个CPU组处理固定的LUN上的I/O请求,减少各个CPU核上的I/O对同一个LUN上的共享资源争用时的冲突,提升CPU缓存命中率和系统整体性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为计算机系统的一种结构示意图;
图2为主机的一种结构示意图;
图3为本发明实施例一提供的I/O请求的处理方法的流程图;
图4为本发明实施例二提供的业务处理组中的CPU核的分组方法的流程图;
图5为本发明实施例三提供的业务处理组中的CPU核的分组方法的流程图;
图6为本发明实施例四提供的分组均衡方法的流程图;
图7为本发明实施例五提供的I/O请求的处理装置的结构示意图;
图8为本发明实施例八提供的I/O请求的处理装置的结构示意图;
图9为本发明实施例九提供的I/O请求的处理装置的实体结构的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的方法应用在计算机系统中,图1为计算机系统的一种结构示意图,如图1所示,该计算机系统包括一个主机和存储阵列包括多个硬盘,将多个硬盘划分为多个组,每组由一个控制器控制,将每组硬盘映射到主机上,再将映射到主机上的每组硬盘划分成多个逻辑单元号(LogicalUnitNumber,简称LUN),例如将存储阵列中的硬盘划分成4个组,每组硬盘划分成4个LUN,那么主机共对应16个LUN。这里只是举例说明,本发明实施例并不对存储阵列的LUN的划分进行限制。图2为主机的一种结构示意图,如图2所示,主机包括12个中央处理单元(CentralProcessingUnit,简称CPU)核,这里的CPU核为逻辑核,CPU核用于处理输入/输出(Input/Output,简称I/O)请求,I/O请求包括业务I/O请求和中断I/O请求。
图3为本发明实施例一提供的I/O请求的处理方法的流程图,本实施例的方法由I/O请求的处理装置执行,该I/O请求处理装置设置在主机中,如图3所示,本实施例的方法可以包括以下步骤:
步骤101、对系统中的N个CPU核进行划分,将M个CPU核划分到中断处理组,将N-M个CPU核划分到业务处理组。
其中,中断处理组中的CPU核用于处理中断I/O,业务处理组中的CPU核用于处理业务I/O,其中,M和N均为大于正整数,且M小于N。
通过将CPU核划分为中断处理组和业务处理组,让中断固化在部分CPU核上处理,与处理业务I/O的CPU核分开,可以避免由于中断的突然到来导致业务I/O瞬时时延突然变大的问题,提升了系统的时延稳定性。另外,在进行分组的时候,还可以根据历史统计数据得到中断I/O和业务I/O的总量,根据中断I/O和业务I/O的总量的关系进行分组,以达到负载的均衡。例如,为FC、SAS中断预留4个CPU核,为PCIE中断预留4个CPU核,工作为中断预留8个CPU核,在中断处理分组内,每种中断以轮询的方式分发。
步骤102、根据系统中的LUN个数和业务处理组中的CPU核的个数,对业务处理组中的CPU核进行分组。
分组后每个CPU分组中包含至少一个CPU核,每个CPU分组具有一个分组标识,用于唯一标识该CPU分组,各个CPU分组中包括的CPU个数可以相同,也可以不相同。另外,本实施例并不对分组方式进行限制。通过对业务处理组中的CPU核进行分组,I/O请求的处理装置可以按照LUN将I/O请求分发到各CPU分组上执行,每个CPU组处理固定的LUN上的I/O请求,减少各个CPU核上的I/O对同一个LUN上的共享资源争用时的冲突,提升CPU缓存命中率和系统整体性能。
步骤103、建立LUN与CPU分组的映射关系。
LUN和CPU分组的映射关系可以通过一个映射关系表实现,映射关系表中记录每个CPU分组的标识,以及每个PCU分组处理哪些LUN。
步骤104、当接收到应用发送的业务I/O请求时,根据业务I/O请求中包括的访问地址确定业务I/O请求要访问的目标LUN。
I/O请求中包括要访问的数据的访问地址,I/O请求的处理装置根据访问地址确定访问地址要访问的数据所属的目标LUN。
步骤105、根据目标LUN和LUN与CPU分组的映射关系,确定执行业务I/O请求的目标CPU分组。
在确定业务I/O请求要访问的目标LUN后,I/O请求的处理装置根据目标LUN,查询LUN与CPU分组的映射关系,确定目标LUN对应的目标CPU分组。
步骤106、将业务I/O请求发送给目标CPU分组。
I/O请求的处理装置在确定执行业务I/O请求的目标CPU分组后,将业务I/O请求发送给目标CPU分组,由目标CPU分组中的CPU分组执行,在CPU分组内I/O请求按照最短队列被分发到对应的CPU核上处理。
本实施例的方法,通过将CPU核划分为中断处理组和业务处理组,让中断固化在部分CPU核上处理,与处理业务I/O的CPU核分开,可以避免由于中断的突然到来导致业务I/O瞬时时延突然变大的问题,提升了系统的时延稳定性,进一步通过对业务处理组中的CPU核进行分组,建立LUN与CPU分组的映射关系,每个CPU组处理固定的LUN上的I/O请求,减少各个CPU核上的I/O对同一个LUN上的共享资源争用时的冲突,提升CPU缓存命中率和系统整体性能。
在实施例一的基础上,本发明实施例二提供一种业务处理组中的CPU核的分组方法,图4为本发明实施例二提供的业务处理组中的CPU核的分组方法的流程图,如图4所示,本实施例的方法可以包括以下步骤:
步骤201、当系统中的LUN个数小于业务处理组中的CPU核的个数时,确定CPU分组个数为系统中的LUN个数,为业务处理组中的CPU分组分配分组标识。
通过比较系统中的LUN个数和业务处理组中的CPU核的个数的大小关系,在系统中的LUN个数小于业务处理组中的CPU核的个数时,确定CPU分组个数等于系统中的LUN个数,在确定CPU分组个数后,为每个CPU分组分配一个分组标识,用于唯一标识该CPU分组。可选的,CPU分组个数也可以大于或小于系统中LUN个数,本发明并不对此进行限制。
步骤202、将业务处理组中的CPU核分配给业务处理组中的CPU分组。
如何将业务处理组中的CPU核分配给各CPU分组,本实施例并不对此进行限制。例如,当业务处理组中的CPU核的个数为业务处理组中的CPU分组个数的整数倍时,可以将业务处理组中的CPU核平均分配为每个CPU分组,例如,业务处理组中共有8个CPU核,CPU分组个数为4,那么每个CPU分组分配两个CPU核,当然,也可以不均分,各CPU分组的CPU核数例如为1、2、2、3。当业务处理组中的CPU核的个数不为业务处理组中的CPU分组个数的整数倍时,可以先为每个CPU分组分配相同数量的CPU核,然后,将剩余的CPU核按照CPU分组的标识的先后顺序,分给前几个CPU分组,例如,业务处理组中的CPU核的个数7,CPU分组个数为4,那么先为每个CPU分组分配一个CPU核,将剩余的3个CPU分配给其中三个CPU分组,这样,4个CPU分组中有三个CPU分组的CPU核数为2,一个CPU分组的CPU核数为1。
步骤203、将系统中的LUN平均分配给业务处理组中的每个CPU分组。
本实施例中假设CPU分组的个数等于系统中LUN的个数,因此,将系统中的LUN平均分配给各CPU分组,每个CPU分组执行一个LUN上的业务I/O请求。当CPU分组的个数不等于系统中LUN的个数时,可以按照预先设定的方式将系统中的LUN分配给各CPU分组执行。
步骤204、记录业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
本实施例提供的方法,分组方案实现简单,便于对CPU分组和LUN进行管理。
在实施例一的基础上,本发明实施例三提供一种业务处理组中的CPU核的分组方法,图5为本发明实施例三提供的业务处理组中的CPU核的分组方法的流程图,如图5所示,本实施例的方法可以包括以下步骤:
步骤301、当系统中的LUN个数大于业务处理组中的CPU核的个数时,确定CPU分组个数为业务处理组中的CPU核的个数,为业务处理组中的CPU分组分配分组标识。
本实施例中,通过比较系统中的LUN个数和业务处理组中的CPU核的个数的大小关系,在系统中的LUN个数大于业务处理组中的CPU核的个数时,确定CPU分组个数等于业务处理组中的CPU核的个数,在确定CPU分组个数后,为每个CPU分组分配一个分组标识。可选的,CPU分组个数也可以小于业务处理组中的CPU核的个数。
步骤302、将业务处理组中的CPU核平均分配给业务处理组中的每个CPU分组。
本实施例中,假设CPU分组个数等于业务处理组中的CPU核的个数,因此,将业务处理组中的CPU核平均分配给业务处理组中的各CPU分组,每个CPU分组中包括一个PCU分组。当CPU分组个数小于业务处理组中的CPU核的个数时,各CPU分组中包括的CPU核的个数可能不相同。
步骤303、将系统中的LUN分配给业务处理组中的每个CPU分组。
如何将系统中的LUN分配给各CPU分组,本实施例并不对此进行限制。例如,当系统中的LUN个数为CPU分组个数的整数倍时,可以将系统中的LUN平均分配为各CPU分组,例如,系统中共有8个LUN,CPU分组个数为4,那么每个CPU分组分配两个LUN,当然,也可以不均分,各CPU分组对应的LUN个数例如为1、2、2、3。当系统中的LUN个数不为CPU分组个数的整数倍时,可以先为每个CPU分组分配相同数量的LUN,然后,将剩余的LUN按照CPU分组的标识的先后顺序,分给前几个CPU分组,例如,系统中LUN个数为7,CPU分组个数为4,那么先为每个CPU分组分配一个LUN,将剩余的3个LUN分配给其中3个CPU分组,这样,4个CPU分组中有3个CPU分组对应的LUN个数为2,1个CPU分组对应的LUN个数为1。
步骤304、记录业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
本实施例提供的方法,分组方案实现简单,便于对CPU分组和LUN进行管理。
在上述实施例一至实施例三的基础上,还根据中断的属性对中断处理组中的CPU核进行分组,中断处理组中的每个CPU分组用于对一种中断进行处理。例如,将中断处理组分为两个CPU组,一个CPU组用于对FC、SAS中断进行处理,另一个CPU组用于对PCIE中断以及其他中断进行处理。
本发明实施例四提供一种CPU分组均衡方法,实现系统中CPU分组之间的负载均衡。图6为本发明实施例四提供的分组均衡方法的流程图,如图6所示,本实施例提供的方法可以包括以下步骤:
步骤401、统计业务处理组中的每个CPU分组的CPU利用率以及中断处理组中的每个CPU分组的CPU利用率。
CPU分组的CPU利用率=CPU分组中所有CPU核的CPU利用率之和/CPU分组中CPU核的个数。
步骤402、判断系统中的CPU分组的CPU利用率是否满足条件一和条件一中的任意一个。
系统中的CPU分组包括业务处理组中的CPU分组和中断处理组中的CPU分组。条件一为:系统中的每个CPU分组的CPU利用率均大于第一阈值,条件二为:系统中的每个CPU分组的CPU利用率均小于第二阈值,第二阈值小于第一阈值,第一阈值例如为80%,第二阈值例如为20%。
如果系统中的CPU分组的CPU利用率满足条件一和条件二中的任意一个,则执行步骤403,如果系统中的CPU分组的CPU利用率不满足条件一和条件二中的任意一个,则执行步骤404。
步骤403、确定不对系统中的CPU分组包括的CPU核个数进行调整。
步骤404、判断系统的CPU分组中CPU利用率最大的CPU分组和CPU利用率最小的CPU分组的CPU利用率的差值是否大于第三阈值。
其中,第三阈值大于第二阈值,且小于第一阈值,例如为30%,如果CPU利用率的差值不大于第三阈值,则执行步骤403,如果CPU利用率的差值大于第三阈值,则执行步骤405。
步骤405、确定对业务处理组中的CPU分组包括的CPU核个数进行调整,将CPU利用率最小的CPU分组中的一个CPU核分配给CPU利用率最大的CPU分组。
步骤406、更新LUN与CPU分组的映射关系。
具体的,I/O请求的处理装置首先判断将一个CPU核分配给CPU利用率最大的CPU分组后,CPU利用率最小的CPU分组中CPU核的个数是否为零,如果CPU利用率最小的CPU分组中CPU核的个数为零,则删除CPU利用率最小的CPU分组,并更新CPU利用率最大的CPU分组和LUN的对应关系;如果CPU利用率最小的CPU分组中CPU核的个数不为零,则分别更新CPU利用率最大的CPU分组和LUN的对应关系,以及CPU利用率最小的CPU分组和LUN的对应关系。
若系统中的CPU分组最后退化为一个大的CPU分组,则在当前CPU分组的CPU利用率低于第二阈值(系统时间在夜间)时重新进行分组,并设置新的CPU分组为活动CPU分组,旧CPU分组为过期CPU分组。
本实施例的方法,通过统计业务处理组中的每个CPU分组的CPU利用率以及中断处理组中的每个CPU分组的CPU利用率,根据系统中的CPU分组的CPU利用率,对系统中的CPU分组包括的CPU核个数进行调整,使得各CPU分组之间负载均衡,能够更好的发挥CPU的性能。
图7为本发明实施例五提供的I/O请求的处理装置的结构示意图,如图7所示,本实施例提供的I/O请求的处理装置包括:第一分组模块11、第二分组模块12、建立模块13、第一确定模块14、第二确定模块15和发送模块16。
第一分组模块11,用于对系统中的N个中央处理单元CPU核进行划分,将M个CPU核划分到中断处理组,所述中断处理组中的CPU核用于处理中断输入/输出I/O,将N-M个CPU核划分到业务处理组,所述业务处理组中的CPU核用于处理业务I/O,其中,M和N均为大于正整数,且M小于N;
第二分组模块12,用于根据所述系统中的逻辑单元号LUN个数和所述业务处理组中的CPU核的个数,对所述业务处理组中的CPU核进行分组,每个CPU分组包含至少一个CPU核;
建立模块13,用于建立LUN与CPU分组的映射关系;
第一确定模块14,用于当接收到应用发送的业务I/O请求时,根据所述业务I/O请求中包括的访问地址确定所述业务I/O请求要访问的目标LUN;
第二确定模块15,用于根据所述目标LUN以及LUN与CPU分组的映射关系,确定执行所述业务I/O请求的目标CPU分组;
发送模块16,用于将所述业务I/O请求发送给所述目标CPU分组执行。
本实施例的I/O请求的处理装置,可用于执行实施例一的方法,具体实现方式和技术效果类似,这里不再赘述。
本发明实施例六提供一种I/O请求的处理装置,本实施例的I/O请求的处理装置与图7所示的I/O请求的处理装置的结构相同,请参照图7,本实施例的I/O请求的处理装置在实施例五的基础上,所述第二分组模块12具体用于:
当所述系统中的LUN个数小于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述系统中的LUN个数,为所述业务处理组中的CPU分组分配分组标识,将所述业务处理组中的CPU核分配给所述业务处理组中的CPU分组,将所述系统中的LUN平均分配给所述业务处理组中的每个CPU分组。
所述建立模块13具体用于:记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
本实施例的I/O请求的处理装置,可用于执行实施例二的方法,具体实现方式和技术效果类似,这里不再赘述。
本发明实施例七提供一种I/O请求的处理装置,本实施例的I/O请求的处理装置与图7所示的I/O请求的处理装置的结构相同,请参照图7,本实施例的I/O请求的处理装置在实施例五的基础上,所述第二分组模块12具体用于:
当所述系统中的LUN个数大于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述业务处理组中的CPU核的个数,为所述业务处理组中的CPU分组分配分组标识,将所述业务处理组中的CPU核平均分配给所述业务处理组中的每个CPU分组;将所述系统中的LUN分配给所述业务处理组中的每个CPU分组。
所述建立模块13具体用于:记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
本实施例的I/O请求的处理装置,可用于执行实施例三的方法,具体实现方式和技术效果类似,这里不再赘述。
本发明实施例八提供一种I/O请求的处理装置,图8为本发明实施例八提供的I/O请求的处理装置的结构示意图,如图8所示,本实施例的I/O请求的处理装置在图7所示装置的基础上还包括:第三分组模块17、统计模块18、调整模块19和更新模块20。
第三分组模块17,用于根据中断的属性对所述中断处理组中的CPU核进行分组,所述中断处理组中的每个CPU分组用于对一种中断进行处理。
统计模块18,用于统计所述业务处理组中的每个CPU分组的CPU利用率以及所述中断处理组中的每个CPU分组的CPU利用率。
调整模块19,用于根据所述系统中的CPU分组的CPU利用率,对所述系统中的CPU分组包括的CPU核个数进行调整,所述系统中的CPU分组包括所述业务处理组中的CPU分组和所述中断处理组中的CPU分组。
更新模块20,用于更新所述LUN与CPU分组的映射关系。
可选的,所述调整模块19具体用于:
判断所述系统中的CPU分组的CPU利用率是否满足条件一和条件一中的任意一个,其中,所述条件一为:所述系统中的每个CPU分组的CPU利用率均大于第一阈值,所述条件二为:所述系统中的每个CPU分组的CPU利用率均小于第二阈值,所述第二阈值小于所述第一阈值。如果所述系统中的CPU分组的CPU利用率满足所述条件一和所述条件二中的任意一个,则确定不对所述系统中的CPU分组包括的CPU核个数进行调整。如果所述系统中的CPU分组的CPU利用率不满足所述条件一和所述条件二中的任意一个,则判断所述系统的CPU分组中CPU利用率最大的CPU分组和CPU利用率最小的CPU分组的CPU利用率的差值是否大于第三阈值,所述第三阈值大于所述第二阈值,且小于所述第一阈值。
如果所述CPU利用率的差值大于所述第三阈值,则确定对所述业务处理组中的CPU分组包括的CPU核个数进行调整,将所述CPU利用率最小的CPU分组中的一个CPU核分配给所述CPU利用率最大的CPU分组。如果所述CPU利用率的差值不大于所述第三阈值,则确定不对所述业务处理组中的CPU分组包括的CPU核个数进行调整。
可选的,所述更新模块20具体用于:判断所述CPU利用率最小的CPU分组中CPU核的个数是否为零,如果所述CPU利用率最小的CPU分组中CPU核的个数为零,则删除所述CPU利用率最小的CPU分组,并更新所述CPU利用率最大的CPU分组和LUN的对应关系。如果所述CPU利用率最小的CPU分组中CPU核的个数不为零,则分别更新所述CPU利用率最大的CPU分组和LUN的对应关系,以及所述CPU利用率最小的CPU分组和LUN的对应关系。
本实施例的I/O请求的处理装置,可用于执行实施例四的方法,具体实现方式和技术效果类似,这里不再赘述。
图9为本发明实施例九提供的I/O请求的处理装置的实体结构的示意图,如图9所示,I/O请求的处理装置300包括通信接口31、处理器32、存储器33和总线34,其中,通信接口31、处理器32、存储器33通过总线34相互连接。总线34可以是外设部件互连标准(peripheralcomponentinterconnect,简称PCI)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口31用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器33可能包含随机存取存储器(randomaccessmemory,简称RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
处理器32执行存储器33所存放的程序代码,实现实施例一至实施例四的方法。
上述的处理器32可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (14)
1.一种I/O请求的处理方法,其特征在于,包括:
对系统中的N个中央处理单元CPU核进行划分,将M个CPU核划分到中断处理组,所述中断处理组中的CPU核用于处理中断输入/输出I/O,将N-M个CPU核划分到业务处理组,所述业务处理组中的CPU核用于处理业务I/O,其中,M和N均为正整数,且M小于N;
根据所述系统中的逻辑单元号LUN个数和所述业务处理组中的CPU核的个数,对所述业务处理组中的CPU核进行分组,每个CPU分组包含至少一个CPU核;
建立LUN与CPU分组的映射关系;
当接收到应用发送的业务I/O请求时,根据所述业务I/O请求中包括的访问地址确定所述业务I/O请求要访问的目标LUN;
根据所述目标LUN以及LUN与CPU分组的映射关系,确定执行所述业务I/O请求的目标CPU分组;
将所述业务I/O请求发送给所述目标CPU分组执行。
2.根据权利要求1所述的方法,其特征在于,所述根据所述系统中的LUN个数和所述业务处理组中的CPU核的个数,对所述业务处理组中的CPU核进行分组,包括:
当所述系统中的LUN个数小于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述系统中的LUN个数,为所述业务处理组中的CPU分组分配分组标识;
将所述业务处理组中的CPU核分配给所述业务处理组中的CPU分组;
将所述系统中的LUN平均分配给所述业务处理组中的每个CPU分组;
所述建立LUN与CPU分组的映射关系,包括:
记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述根据所述系统中的LUN个数和所述业务处理组中的CPU核的个数,对所述业务处理组中的CPU核进行分组,包括:
当所述系统中的LUN个数大于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述业务处理组中的CPU核的个数,为所述业务处理组中的CPU分组分配分组标识;
将所述业务处理组中的CPU核平均分配给所述业务处理组中的每个CPU分组;
将所述系统中的LUN分配给所述业务处理组中的每个CPU分组;
所述建立LUN与CPU分组的映射关系,包括:
记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
根据中断的属性对所述中断处理组中的CPU核进行分组,所述中断处理组中的每个CPU分组用于对一种中断进行处理。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
统计所述业务处理组中的每个CPU分组的CPU利用率以及所述中断处理组中的每个CPU分组的CPU利用率;
根据所述系统中的CPU分组的CPU利用率,对所述系统中的CPU分组包括的CPU核个数进行调整,所述系统中的CPU分组包括所述业务处理组中的CPU分组和所述中断处理组中的CPU分组;
更新所述LUN与CPU分组的映射关系。
6.根据权利要求5所述的方法,其特征在于,所述根据所述系统中的CPU分组的CPU利用率,对所述系统中的CPU分组包括的CPU核个数进行调整,包括:
判断所述系统中的CPU分组的CPU利用率是否满足条件一和条件一中的任意一个,其中,所述条件一为:所述系统中的每个CPU分组的CPU利用率均大于第一阈值,所述条件二为:所述系统中的每个CPU分组的CPU利用率均小于第二阈值,所述第二阈值小于所述第一阈值;
如果所述系统中的CPU分组的CPU利用率满足所述条件一和所述条件二中的任意一个,则确定不对所述系统中的CPU分组包括的CPU核个数进行调整;
如果所述系统中的CPU分组的CPU利用率不满足所述条件一和所述条件二中的任意一个,则判断所述系统的CPU分组中CPU利用率最大的CPU分组和CPU利用率最小的CPU分组的CPU利用率的差值是否大于第三阈值,所述第三阈值大于所述第二阈值,且小于所述第一阈值;
如果所述CPU利用率的差值大于所述第三阈值,则确定对所述业务处理组中的CPU分组包括的CPU核个数进行调整,将所述CPU利用率最小的CPU分组中的一个CPU核分配给所述CPU利用率最大的CPU分组;
如果所述CPU利用率的差值不大于所述第三阈值,则确定不对所述业务处理组中的CPU分组包括的CPU核个数进行调整。
7.根据权利要求6所述的方法,其特征在于,所述更新所述LUN与CPU分组的映射关系,包括:
判断所述CPU利用率最小的CPU分组中CPU核的个数是否为零;
如果所述CPU利用率最小的CPU分组中CPU核的个数为零,则删除所述CPU利用率最小的CPU分组,并更新所述CPU利用率最大的CPU分组和LUN的对应关系;
如果所述CPU利用率最小的CPU分组中CPU核的个数不为零,则分别更新所述CPU利用率最大的CPU分组和LUN的对应关系,以及所述CPU利用率最小的CPU分组和LUN的对应关系。
8.一种I/O请求的处理装置,其特征在于,包括:
第一分组模块,用于对系统中的N个中央处理单元CPU核进行划分,将M个CPU核划分到中断处理组,所述中断处理组中的CPU核用于处理中断输入/输出I/O,将N-M个CPU核划分到业务处理组,所述业务处理组中的CPU核用于处理业务I/O,其中,M和N均为大于正整数,且M小于N;
第二分组模块,用于根据所述系统中的逻辑单元号LUN个数和所述业务处理组中的CPU核的个数,对所述业务处理组中的CPU核进行分组,每个CPU分组包含至少一个CPU核;
建立模块,用于建立LUN与CPU分组的映射关系;
第一确定模块,用于当接收到应用发送的业务I/O请求时,根据所述业务I/O请求中包括的访问地址确定所述业务I/O请求要访问的目标LUN;
第二确定模块,用于根据所述目标LUN以及LUN与CPU分组的映射关系,确定执行所述业务I/O请求的目标CPU分组;
发送模块,用于将所述业务I/O请求发送给所述目标CPU分组执行。
9.根据权利要求8所述的装置,其特征在于,所述第二分组模块具体用于:
当所述系统中的LUN个数小于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述系统中的LUN个数,为所述业务处理组中的CPU分组分配分组标识;
将所述业务处理组中的CPU核分配给所述业务处理组中的CPU分组;
将所述系统中的LUN平均分配给所述业务处理组中的每个CPU分组;
所述建立模块具体用于:
记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
10.根据权利要求8所述的装置,其特征在于,所述第二分组模块具体用于:
当所述系统中的LUN个数大于所述业务处理组中的CPU核的个数时,确定CPU分组个数为所述业务处理组中的CPU核的个数,为所述业务处理组中的CPU分组分配分组标识;
将所述业务处理组中的CPU核平均分配给所述业务处理组中的每个CPU分组;
将所述系统中的LUN分配给所述业务处理组中的每个CPU分组;
所述建立模块具体用于:
记录所述业务处理组中的每个CPU分组的分组标识和LUN的标识的对应关系。
11.根据权利要求8-10中任一项所述的装置,其特征在于,还包括:
第三分组模块,用于根据中断的属性对所述中断处理组中的CPU核进行分组,所述中断处理组中的每个CPU分组用于对一种中断进行处理。
12.根据权利要求11所述的装置,其特征在于,还包括:
统计模块,用于统计所述业务处理组中的每个CPU分组的CPU利用率以及所述中断处理组中的每个CPU分组的CPU利用率;
调整模块,用于根据所述系统中的CPU分组的CPU利用率,对所述系统中的CPU分组包括的CPU核个数进行调整,所述系统中的CPU分组包括所述业务处理组中的CPU分组和所述中断处理组中的CPU分组;
更新模块,用于更新所述LUN与CPU分组的映射关系。
13.根据权利要求12所述的装置,其特征在于,所述调整模块具体用于:
判断所述系统中的CPU分组的CPU利用率是否满足条件一和条件一中的任意一个,其中,所述条件一为:所述系统中的每个CPU分组的CPU利用率均大于第一阈值,所述条件二为:所述系统中的每个CPU分组的CPU利用率均小于第二阈值,所述第二阈值小于所述第一阈值;
如果所述系统中的CPU分组的CPU利用率满足所述条件一和所述条件二中的任意一个,则确定不对所述系统中的CPU分组包括的CPU核个数进行调整;
如果所述系统中的CPU分组的CPU利用率不满足所述条件一和所述条件二中的任意一个,则判断所述系统的CPU分组中CPU利用率最大的CPU分组和CPU利用率最小的CPU分组的CPU利用率的差值是否大于第三阈值,所述第三阈值大于所述第二阈值,且小于所述第一阈值;
如果所述CPU利用率的差值大于所述第三阈值,则确定对所述业务处理组中的CPU分组包括的CPU核个数进行调整,将所述CPU利用率最小的CPU分组中的一个CPU核分配给所述CPU利用率最大的CPU分组;
如果所述CPU利用率的差值不大于所述第三阈值,则确定不对所述业务处理组中的CPU分组包括的CPU核个数进行调整。
14.根据权利要求13所述的装置,其特征在于,所述更新模块具体用于:
判断所述CPU利用率最小的CPU分组中CPU核的个数是否为零;
如果所述CPU利用率最小的CPU分组中CPU核的个数为零,则删除所述CPU利用率最小的CPU分组,并更新所述CPU利用率最大的CPU分组和LUN的对应关系;
如果所述CPU利用率最小的CPU分组中CPU核的个数不为零,则分别更新所述CPU利用率最大的CPU分组和LUN的对应关系,以及所述CPU利用率最小的CPU分组和LUN的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510855883.9A CN105511964B (zh) | 2015-11-30 | 2015-11-30 | I/o请求的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510855883.9A CN105511964B (zh) | 2015-11-30 | 2015-11-30 | I/o请求的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105511964A true CN105511964A (zh) | 2016-04-20 |
CN105511964B CN105511964B (zh) | 2019-03-19 |
Family
ID=55719968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510855883.9A Active CN105511964B (zh) | 2015-11-30 | 2015-11-30 | I/o请求的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105511964B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388333A (zh) * | 2017-08-08 | 2019-02-26 | 北京忆恒创源科技有限公司 | 降低读命令处理延迟的方法与装置 |
CN110119304A (zh) * | 2018-02-07 | 2019-08-13 | 华为技术有限公司 | 一种中断处理方法、装置及服务器 |
WO2020052171A1 (zh) * | 2018-09-11 | 2020-03-19 | 深圳云天励飞技术有限公司 | 硬件系统和电子设备 |
CN111190728A (zh) * | 2019-12-13 | 2020-05-22 | 北京山石网科信息技术有限公司 | 资源调整方法及装置 |
CN111638854A (zh) * | 2020-05-26 | 2020-09-08 | 北京同有飞骥科技股份有限公司 | Nas构建的性能优化方法、装置及san堆栈块设备 |
CN111694770A (zh) * | 2019-03-15 | 2020-09-22 | 杭州宏杉科技股份有限公司 | 一种处理io请求的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983217A (zh) * | 2005-12-14 | 2007-06-20 | 株式会社日立制作所 | 存储装置及其控制方法以及程序 |
CN102375761A (zh) * | 2010-08-06 | 2012-03-14 | 中兴通讯股份有限公司 | 业务管理方法和装置、以及设备 |
US20130173901A1 (en) * | 2010-11-01 | 2013-07-04 | Raphael Gay | Multi-processor computer systems and methods |
CN104049690A (zh) * | 2014-06-10 | 2014-09-17 | 浪潮电子信息产业股份有限公司 | 一种关键应用主机应对高并发业务模型的设计方法 |
CN104461679A (zh) * | 2014-11-04 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种将网卡绑定到cpu的自动化实现方法 |
-
2015
- 2015-11-30 CN CN201510855883.9A patent/CN105511964B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983217A (zh) * | 2005-12-14 | 2007-06-20 | 株式会社日立制作所 | 存储装置及其控制方法以及程序 |
CN102375761A (zh) * | 2010-08-06 | 2012-03-14 | 中兴通讯股份有限公司 | 业务管理方法和装置、以及设备 |
US20130173901A1 (en) * | 2010-11-01 | 2013-07-04 | Raphael Gay | Multi-processor computer systems and methods |
CN104049690A (zh) * | 2014-06-10 | 2014-09-17 | 浪潮电子信息产业股份有限公司 | 一种关键应用主机应对高并发业务模型的设计方法 |
CN104461679A (zh) * | 2014-11-04 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种将网卡绑定到cpu的自动化实现方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109388333A (zh) * | 2017-08-08 | 2019-02-26 | 北京忆恒创源科技有限公司 | 降低读命令处理延迟的方法与装置 |
CN110119304A (zh) * | 2018-02-07 | 2019-08-13 | 华为技术有限公司 | 一种中断处理方法、装置及服务器 |
CN110119304B (zh) * | 2018-02-07 | 2021-08-31 | 华为技术有限公司 | 一种中断处理方法、装置及服务器 |
WO2020052171A1 (zh) * | 2018-09-11 | 2020-03-19 | 深圳云天励飞技术有限公司 | 硬件系统和电子设备 |
CN111694770A (zh) * | 2019-03-15 | 2020-09-22 | 杭州宏杉科技股份有限公司 | 一种处理io请求的方法及装置 |
CN111190728A (zh) * | 2019-12-13 | 2020-05-22 | 北京山石网科信息技术有限公司 | 资源调整方法及装置 |
CN111190728B (zh) * | 2019-12-13 | 2023-08-25 | 北京山石网科信息技术有限公司 | 资源调整方法及装置 |
CN111638854A (zh) * | 2020-05-26 | 2020-09-08 | 北京同有飞骥科技股份有限公司 | Nas构建的性能优化方法、装置及san堆栈块设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105511964B (zh) | 2019-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105511964A (zh) | I/o请求的处理方法和装置 | |
CA2942665C (en) | Coordinated admission control for network-accessible block storage | |
US9442763B2 (en) | Resource allocation method and resource management platform | |
JP6260407B2 (ja) | ストレージ管理装置、性能調整方法及び性能調整プログラム | |
CN111614746B (zh) | 云主机集群的负载均衡方法、装置及服务器 | |
US11003359B2 (en) | Method and device for managing disk pool | |
US20160253091A1 (en) | Methods and systems to reduce ssd io latency | |
US10250673B1 (en) | Storage workload management using redirected messages | |
US7957398B1 (en) | Methods and systems for dynamic division of path capacity | |
US8489845B2 (en) | Storage system comprising multiple storage control apparatus | |
US20170010919A1 (en) | Dynamic weight accumulation for fair allocation of resources in a scheduler hierarchy | |
US8301805B2 (en) | Managing I/O request in a storage system | |
CN112445857A (zh) | 一种基于数据库的资源配额管理方法和装置 | |
WO2020143434A1 (zh) | 读写请求处理方法、装置、电子设备以及存储介质 | |
US11681628B2 (en) | Managing memory allocation between input/output adapter caches | |
US9740404B2 (en) | Control apparatus and control method | |
JP2023539212A (ja) | ストレージレベルの負荷分散 | |
CN107667357B (zh) | 用于分离突发带宽仲裁的方法及设备 | |
CN116909953A (zh) | 一种多路径规划方法、装置及介质 | |
CN107220124B (zh) | 一种路径选择方法及装置 | |
US20170269864A1 (en) | Storage Array Operation Method and Apparatus | |
KR102212108B1 (ko) | 스토리지 오케스트레이션의 학습형 최적화 대상 볼륨 선정 방법 | |
CN111124253A (zh) | 管理存储设备的方法、装置和计算机程序产品 | |
US11481341B2 (en) | System and method for dynamically adjusting priority-based allocation of storage system resources | |
US11144242B2 (en) | Distributed storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |