【技术实现步骤摘要】
本专利技术实施例涉及通信技术,尤其涉及一种输入/输出(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请求的处理方法,其特征在于,包括:对系统中的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分组执行。
【技术特征摘要】
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核的个数时,确
\t定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利用率不满足所述条件一和所述条件
\t二中的任意一个,则判断所述系统的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利用率...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。