处理业务请求的方法、装置与存储系统制造方法及图纸

技术编号:21976510 阅读:35 留言:0更新日期:2019-08-28 02:35
本申请提供了一种存储系统中处理业务请求的方法,该存储系统包含多个处理器核,其特征在于,包括:接收业务请求的当前阶段的请求,当前阶段的请求为业务请求的多个阶段的请求中的一个阶段的请求;确定执行当前阶段的请求的第一处理器核集合,第一处理器核集合为多个处理器核的一个处理器核子集;向第一处理器核集合负载最轻的处理器核发送当前阶段的请求。该方法能够保证处理器核之间的负载均衡,降低处理业务请求的时延。

Method, Device and Storage System for Handling Business Requests

【技术实现步骤摘要】
【国外来华专利技术】处理业务请求的方法、装置与存储系统
本申请涉及信息
,并且更具体地,涉及处理业务请求的方法、装置与处理器。
技术介绍
在存储系统中,阵列控制器的中央处理器(centralprocessingunit,CPU)是影响系统性能的关键因素,通常CPU包括的处理器核越多,存储系统的性能就越高。然而,在阵列控制器包含多处理器核的存储系统中,随着处理器核数的增多,调度处理器核处理业务请求时会出现处理器核之间的负载不均衡问题。现在技术,根据处理器核上待处理的业务请求个数来估计处理器核的负载,最终将业务请求发送至负载最小的处理器核。这种方法虽然能够改善处理器核之间的负载不均衡问题,但是处理业务请求的时间复杂度会随着处理器核数的增多而线性扩展,导致处理业务请求的时延的不可控。
技术实现思路
第一方面,提供了一种存储系统中处理业务请求的方法,所述存储系统包含多个处理器核,包括:接收业务请求的当前阶段的请求,所述当前阶段的请求为所述业务请求的多个阶段的请求中的一个阶段的请求;确定执行所述当前阶段的请求的第一处理器核集合,所述第一处理器核集合为所述多个处理器核的一个处理器核子集;向所述第一处理器核集合负载最轻的处理器核发送所述当前阶段的请求。通过将待处理的业务请求划分为多个阶段的请求来执行,为每一阶段的请求分配一定数量的处理器核(例如,处理器核集合),并将每一阶段的请求均发送至为该阶段的请求分配的处理器核集合中的负载最轻的处理器核,相对于将业务请求发送至存储系统中多个处理器核当中负载最轻的处理器核,本申请的处理业务请求的方法能够保证处理器核之间的负载均衡,为业务请求每个阶段的请求确定处理器核集合,在处理器集合范围内调度当前阶段的请求,相对于直接选择存储系统中负载最轻的处理器核,考虑了各阶段的请求与影响处理器核处理各阶段的请求的时延的相关性,降低处理业务请求的时延。可选地,所述确定执行所述当前阶段的请求的第一处理器核集合,包括:查询绑核关系,确定用于执行所述当前阶段的请求的所述第一处理器核集合,所述绑核关系用于指示所述当前阶段的请求与所述第一处理器核集合之间的关联关系。结合第一方面,在第一方面的某些实现方式中,所述方法还包括:根据所述第一处理器核集合,重新确定执行所述当前阶段的请求的处理器核的数量;根据所述重新确定的执行所述当前阶段的请求的处理器核的数量,在所述多个处理器核中为所述当前阶段的请求分配满足所述数量的第二处理器核集合;根据所述第二处理器核集合,生成新的绑核关系,所述新的绑核关系用于指示所述当前阶段的请求与所述第二处理器核集合之间的关联关系。可选地,所述根据所述第一处理器核集合,重新确定执行所述当前阶段的请求的处理器核的数量,包括:确定所述第一处理器核集合中的处理器核的利用率总和与所述多个处理器核的平均利用率;根据所述第一处理器核集合中的处理器核的利用率总和与所述多个处理器核的平均利用率,重新确定执行所述当前阶段的请求的处理器核的数量。通过周期性地监控存储系统中的处理器核的利用率,并根据为任一阶段的请求分配的处理器核的利用率的变化情况,为相应阶段的请求重新分配处理器核,从而能够根据处理器核的利用率的变化情况,周期性地调整为相应阶段的请求分配的处理器核,进而改善处理器核之间的负载不均衡的现象。可选地,所述根据所述第一处理器核集合中的处理器核的利用率总和与所述多个处理器核的平均利用率,重新确定执行所述当前阶段的请求的处理器核的数量,包括:根据所述第一处理器核集合中的处理器核的利用率总和与所述多个处理器核的平均利用率,基于以下关系式重新确定执行所述当前阶段的请求的处理器核的数量:N=UP/Uave其中,N为重新确定的执行所述当前阶段的请求的处理器核的数量,UP为所述第一处理器核集合中的处理器核的利用率总和,Uave为所述多个处理器核的平均利用率。结合第一方面,在第一方面的某些实现方式中,所述在所述多个处理器核中为所述当前阶段的请求分配满足所述数量的第二处理器核集合,包括:生成多组分配结果,每组分配结果中包括为每一个阶段的请求重新分配的满足相应数量的处理器核集合;针对所述多组分配结果确定多个路径长度,每一组分配结果对应一个路径长度,所述路径长度L满足:其中,ci,i+1表示执行相邻阶段的请求的处理器核间交互产生的通信量,di,i+1表示执行所述相邻阶段的请求的处理器核间的平均拓扑距离,M为所述业务请求的多个阶段的请求的数量;根据所述多个路径长度中的最短路径长度对应的一组分配结果,为所述当前阶段的请求分配满足所述数量的第二处理器核集合。根据确定的为各个阶段的请求分配的处理器核的数量,生成多组处理器核的分配结果,针对该多组分配结果确定多个路径长度,通过为各个阶段的请求分配处理器核时考虑处理器核间的拓扑距离,将多个路径长度中的最短路径长度对应的分配结果确定为最终的处理器核分配结果,从而保证处理器核之间的负载均衡,降低处理业务请求的时延。结合第一方面,在第一方面的某些实现方式中,所述第一处理器核集合中包括K个处理器核,K为大于或等于3的整数,所述向所述第一处理器核集合中负载最轻的处理器核发送所述当前阶段的请求,包括:根据滑动窗口长度w与滑动步长d,在所述K个处理器核中为所述当前阶段的请求确定调度子区域,所述调度子区域中包括w个处理器核,w为大于或等于2且小于K的整数,d为大于或等于1且小于K的整数;向所述w个处理器核中负载最轻的处理器核发送所述当前阶段的请求。在确定执行任一阶段的请求的处理器核时,通过引入滑动窗口机制,缩小搜索负载最轻的处理器核的搜索范围,使调度子区域中负载最轻的处理器核执行相应阶段的请求,保证处理器核之间的负载均衡,进一步降低处理业务请求的时延。结合第一方面,在第一方面的某些实现方式中,所述d与所述K互为质数。引入滑动窗口机制后,当存在多个阶段的请求与同一处理器核集合之间存在绑定关系时,并且当该处理器核集合中的每个处理器核的负载相同时,此时,在依次处理该多个阶段的请求时,为了保证处理器核间的负载均衡,需要保证负载相同(即,待处理的请求队列的个数相同)的处理器核被选中用于执行请求的概率相同,即,需要保证每个处理器核作为滑动窗口内的搜索起始点的概率相同,当该处理器核集合中的处理器核的个数K与滑动步长d互为质数时,能够保证每个处理器核作为滑动窗口内的搜索起始点的概率相同。第二方面,提供了一种处理业务请求的配置方法,包括;为业务请求的第一阶段的请求配置第一处理器核集合,所述第一处理器核集合用于执行所述第一阶段的请求;配置第一规则,所述第一规则指示向所述第一处理器核集合中负载最轻的处理器核发送所述第一阶段的请求。通过为业务请求的每一阶段的请求分配一定数量的处理器核(例如,处理器核集合),并将每一阶段的请求均发送至为该阶段的请求分配的处理器核集合中的负载最轻的处理器核,相对于将业务请求发送至存储系统中多个处理器核当中负载最轻的处理器核,本申请的处理业务请求的配置方法能够使得处理业务请求时,保证处理器核之间的负载均衡,考虑了各阶段的请求与影响处理器核处理各阶段的请求的时延的相关性,降低处理业务请求的时延。结合第二方面,在第二方面的某些实现方式中,所述方法还包括:为业务请求的第二阶段的请求配置第二处理器核集合,所述本文档来自技高网...

【技术保护点】
1.一种存储系统中处理业务请求的方法,所述存储系统包含多个处理器核,其特征在于,包括:接收业务请求的当前阶段的请求,所述当前阶段的请求为所述业务请求的多个阶段的请求中的一个阶段的请求;确定执行所述当前阶段的请求的第一处理器核集合,所述第一处理器核集合为所述多个处理器核的一个处理器核子集;向所述第一处理器核集合负载最轻的处理器核发送所述当前阶段的请求。

【技术特征摘要】
【国外来华专利技术】1.一种存储系统中处理业务请求的方法,所述存储系统包含多个处理器核,其特征在于,包括:接收业务请求的当前阶段的请求,所述当前阶段的请求为所述业务请求的多个阶段的请求中的一个阶段的请求;确定执行所述当前阶段的请求的第一处理器核集合,所述第一处理器核集合为所述多个处理器核的一个处理器核子集;向所述第一处理器核集合负载最轻的处理器核发送所述当前阶段的请求。2.根据权利要求1所述的方法,其特征在于,所述确定执行所述当前阶段的请求的第一处理器核集合,包括:查询绑核关系,确定用于执行所述当前阶段的请求的所述第一处理器核集合,所述绑核关系用于指示所述当前阶段的请求与所述第一处理器核集合之间的关联关系。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:根据所述第一处理器核集合,重新确定执行所述当前阶段的请求的处理器核的数量;根据所述重新确定的执行所述当前阶段的请求的处理器核的数量,在所述多个处理器核中为所述当前阶段的请求分配满足所述数量的第二处理器核集合;根据所述第二处理器核集合,生成新的绑核关系,所述新的绑核关系用于指示所述当前阶段的请求与所述第二处理器核集合之间的关联关系。4.根据权利要求3所述的方法,其特征在于,所述根据所述第一处理器核集合,重新确定执行所述当前阶段的请求的处理器核的数量,包括:确定所述第一处理器核集合中的处理器核的利用率总和与所述多个处理器核的平均利用率;根据所述第一处理器核集合中的处理器核的利用率总和与所述多个处理器核的平均利用率,重新确定执行所述当前阶段的请求的处理器核的数量。5.根据权利要求4所述的方法,其特征在于,所述根据所述第一处理器核集合中的处理器核的利用率总和与所述多个处理器核的平均利用率,重新确定执行所述当前阶段的请求的处理器核的数量,包括:根据所述第一处理器核集合中的处理器核的利用率总和与所述多个处理器核的平均利用率,基于以下关系式重新确定执行所述当前阶段的请求的处理器核的数量:N=UP/Uave其中,N为重新确定的执行所述当前阶段的请求的处理器核的数量,UP为所述第一处理器核集合中的处理器核的利用率总和,Uave为所述多个处理器核的平均利用率。6.根据权利要求3至5中任一项所述的方法,其特征在于,所述在所述多个处理器核中为所述当前阶段的请求分配满足所述数量的第二处理器核集合,包括:生成多组分配结果,每组分配结果中包括为每一个阶段的请求重新分配的满足相应数量的处理器核集合;针对所述多组分配结果确定多个路径长度,每一组分配结果对应一个路径长度,所述路径长度L满足:其中,ci,i+1表示执行相邻阶段的请求的处理器核间交互产生的通信量,di,i+1表示执行所述相邻阶段的请求的处理器核间的平均拓扑距离,M为所述业务请求的多个阶段的请求的数量;根据所述多个路径长度中的最短路径长度对应的一组分配结果,为所述当前阶段的请求分配满足所述数量的第二处理器核集合。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述第一处理器核集合中包括K个处理器核,K为大于或等于3的整数,所述向所述第一处理器核集合中负载最轻的处理器核发送所述当前阶段的请求,包括:根据滑动窗口长度w与滑动步长d,在所述K个处理器核中为所述当前阶段的请求确定调度子区域,所述调度子区域中包括w个处理器核,w为大于或等于2且小于K的整数,d为大于或等于1且小于K的整数;向所述w个处理器核中负载最轻的处理器核发送所述当前阶段的请求。8.根据权利要求7所述的方法,其特征在于,所述d与所述K互为质数。9.一种处理业务请求的装置,其特征在于,所述装置配置于存储系统中,包括:收发模块,用于接收业务请求的当前阶段的请求,所述当前阶段的请求为所述业务请求的多个阶段的请求中的一个阶段的请求;处理模块,用于确定执行所述当前阶段的请求的第一处理器核集合,所述第一处理器核集合为所述多个处理器核的一个处理器核子集;所述收发模块,还用于向所述第一处理器核集合负载最轻的处理器核发送所述当前阶段的请求。10.根据权利要求9所述的装置,其特征在于,所述处理模块,还用于查询绑核关系,确定用于执行所述当前阶段的请求的所述第一处理器核集合,所述绑核关系用于指示所述当前阶段的请求与所述第一处理器核集合之间的关联关系。11.根据权利要求10所述的装置,其特征在于,所述处理模块,还用于根据所述第一处理器核集合,重新确定执行所述当前阶段的请求的处理器核的数量;根据所述重新确定的执行所述当前阶段的请求的处理器核的数量,在所述多个处理器核中为所述当前阶段的请求分配满足所述数量的第二处理器核集合;根据所述第二处理器核集合,生成新的绑核关系,所述新的绑核关系用于指示所述当前阶段的请求与所述第二处理器核集合之间的关联关系。12.根据权利要求11所述的装置,其特征在于,所述处理模块,还用于确定所述第一处理器核集合中的处理器核的利用率总和与所述多个处理器核的平均利用率;根据所述第一处理器核集合中的处理器核的利用率总和与所述多个处理器核的平均利用率,重新确定执行所述当前阶段的请求的处理器核的数量。13.根据权利要求12所述的装置,其特征在于,所述处理模块,还...

【专利技术属性】
技术研发人员:卢玥余思龚骏辉毛依平陈贞
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1