计算机系统资源分配方法和装置制造方法及图纸

技术编号:14875831 阅读:76 留言:0更新日期:2017-03-23 23:24
本申请公开了计算机系统资源分配的方法和装置。所述方法利用资源使用者的最大资源配额,最小资源配额和申请资源量计算得出资源饱和度数据,根据资源饱和度将资源使用者排序并按照设定的条件确定边界资源使用者,根据申请资源的资源使用者的资源饱和度与边界资源使用者的资源饱和度的关系,为其分配相应的资源配额。解决了现有资源分配方法分配资源时间复杂度高,无法满足实时计算的要求,不支持最小资源配额量的问题。

【技术实现步骤摘要】

本申请涉及系统资源分配方法和装置。具体涉及计算机系统资源分配方法和装置
技术介绍
对于拥有众多资源使用者的系统,系统的资源使用者经常需要向系统申请系统所管理的资源,系统收到资源使用者申请资源的请求后,会为不同的资源使用者分配相应数量的资源供资源使用者使用。由于系统资源总量是固定的,所以每个资源使用者可用的资源一定是有限的。各个资源使用者权重的不同,在某一时刻,有的资源使用者的申请资源量较大,有的资源使用者资源申请资源量较小,现有的资源分配算法将申请资源量较小的资源使用者的可用资源配额匀给申请资源量较大的资源使用者。具体地,现有的资源配额计算多为以下的方案:1、以各个资源使用者最大资源配额(MaxQuota)的比例来分配系统资源总量、得到资源使用者静态平衡配额资源(ScaleQuota)。2、当资源使用者申请资源量(Request)的总和小于系统资源总量时,则每个资源使用者得到的资源配额即是资源使用者申请资源量(Request),结束分配过程。3、将资源使用者分为两类,B类:资源使用者申请资源量(Request)小于资源使用者静态平衡配额资源(ScaleQuota);C类:资源使用者申请资源量(Request)大于资源使用者静态平衡配额资源(ScaleQuota)。4、对于B类资源使用者,静态平衡配额资源(ScaleQuota)与资源使用者申请资源量(Request)的差可以分配给C类资源使用者用;将这些差累计求和,记为系统中可以再分配的资源总量,记为5、将按照资源使用者最大资源配额(MaxQuota)的比例分配给C类资源使用者,则C类资源使用者新的可用资源配额=静态平衡资源配额(ScaleQuota)+新得到的资源配额,记为Ω。6、如果C类资源使用者的Ω大于资源使用者申请资源量(Request),则Ω与资源使用者申请资源量(Request)的差还可以分配给C类资源使用者中Ω仍小于资源使用者申请资源量(Request)的资源使用者,算法跳转回步骤3进行迭代,直到可再分配资源总量可见,现有资源配额的计算方法在最坏情况和平均情况下的时间复杂度O为资源使用者数量n的平方(n2),并且,当只想知道某个资源使用者的资源分配额时,必须将所有资源使用者的资源分配额全部计算出来,对于拥有众多资源使用者的大系统来说,现有计算机系统资源分配方法无法满足实时计算的要求。同时现有的计算机系统资源分配方法不能支持资源使用者配置最小资源配额量的情况。申请内容本申请提供两种计算机系统资源分配方法,以解决现有资源分配方法时间复杂度高,无法满足实时计算的要求的问题。此外,本申请还提供两种计算机系统资源分配装置。本申请提供的一种计算机系统资源分配方法,包括以下步骤:获取系统资源总量和有权提出资源申请请求的资源使用者的资源分配相关数据,所述资源使用者的资源分配相关数据包括资源使用者的最大资源配额量和申请资源量;利用所述资源使用者的申请资源量除以最大资源配额量,计算得出资源使用者的资源饱和度;以所述资源使用者的资源饱和度为依据,对所述资源使用者进行排序;根据资源使用者排序,以设定条件确定一个边界资源使用者,将资源饱和度小于或等于所述边界资源使用者的资源使用者,称为B类资源使用者;将资源饱和度大于该边界资源使用者的资源使用者称为C类资源使用者;对B类资源使用者,以其申请资源量作为其资源配额向其分配资源;对于C类资源使用者,将系统资源总量减去按照所述为B类资源使用者分配的所有资源量后,获得剩余资源量;将所述剩余资源量,按照该C类资源使用者的最大资源配额量占所有C类资源使用者的最大资源配额量的总和的比例,作为其资源配额,以所述的资源配额向该C类资源使用者分配资源。可选地,所述设定条件为所述边界资源使用者满足不等式一和不等式二,不等式一:不等式二:其中ToatalResource:系统资源总量;Requesti:资源饱和度小于或等于边界资源使用者的资源饱和度的,除边界资源使用者以外的其他B类资源使用者中第i个B类资源使用者的申请资源量;MaxQuotaj:资源饱和度大于边界资源使用者的资源饱和度的第j个C类资源使用者的最大资源配额量;Requesth:边界资源使用者的申请资源量;MaxQuotah:边界资源使用者的最大资源配额量;Requesth+1:所述排序资源使用者中,资源饱和度小于任一其他C类资源使用者的资源饱和度,但大于边界资源使用者的资源饱和度的C类资源使用者的申请资源量;MaxQuotah+1:所述排序的资源使用者中,资源饱和度小于任一其他C类资源使用者的资源饱和度,但大于边界资源使用者的资源饱和度的C类资源使用者的最大资源配额量;m:系统内资源饱和度小于或等于边界资源使用者的资源饱和度的,除边界资源使用者以外的其他B类资源使用者的数量;n:系统内资源饱和度大于边界资源使用者的资源饱和度的C类资源使用者的数量;∑:求和运算。可选地,所述根据资源使用者排序,以设定条件确定一个边界资源使用者的方法包括:将所述排序的资源使用者中的一个资源使用者作为临时边界资源使用者;将临时边界资源使用者作为边界资源使用者代入所述不等式一和不等式二,若两个不等式都成立,则该临时资源使用者为边界资源使用者;若两个不等式不能都成立,则将所述排序的资源使用者中的另外一个资源使用者作为临时边界资源使用者,返回执行“将临时边界资源使用者的数据作为边界资源使用者的数据代入不等式一和不等式二”的步骤。可选地,所述将所述排序的资源使用者中的另外一个资源使用者作为临时边界资源使用者的方法包括:若不等式一不成立,则在所述排序的资源使用者中选择一个资源饱和度小于临时边界资源使用者的资源饱和度的资源使用者,将该资源使用者作为临时边界资源使用者;若不等式二不成立,则在所述排序的资源使用者中选择一个资源饱和度大于临时边界资源使用者的资源饱和度的资源使用者,将该资源使用者作为临时边界资源使用者。可选地,所述以所述资源使用者的资源饱和度为依据,对所述资源使用者进行排序的方法包括:以资源使用者资源分配相关数据,形成一个树节点,按照资源饱和度的大小插入排序二叉树中或更新排序二叉树中存储该资源使用者的数据节点,并通过调整所述排序二叉树的节点之间位置和相互关系,保持所述二叉树仍为排序二叉树;所述资源使用者资源分配相关数据包括资源使用者的资源饱和度,申请资源量和最大资源配额量;相应地,所述将所述排序的资源使用者中的一个资源使用者作为临时边界资源使用者的方法包括:将所述排序的二叉树的根节点所存储的资源使用者作为临时边界资源使用者;相应地,所述则在所述排序的资源使用者中选择一个资源饱和度小于临时边界资源使用者的资源饱和度的资源使用者的方法如下:在所述排序二叉树中选择资源饱和度小于或等于临时边界资源使用者的资源饱和度一侧的直接子节点所对应的资源使用者;相应地,所述在所述排序的资源使用者中选择一个资源饱和度大于临时边界资源使用者的资源饱和度的资源使用者的方法如下:在所述排序二叉树中选择资源饱和度大于临时边界资源使用者的资源饱和度一侧的直接子节点所对应的资源使用者。可选地,所述资源使用者资源分配相关数据还包括:资源饱和度小于或等于该资源使用者的资源饱和度的资源使用者的申请资源本文档来自技高网...
计算机系统资源分配方法和装置

【技术保护点】
一种计算机系统资源分配方法,其特征在于,包括以下步骤:获取系统资源总量和有权提出资源申请请求的资源使用者的资源分配相关数据,所述资源使用者的资源分配相关数据包括资源使用者的最大资源配额量和申请资源量;利用所述资源使用者的申请资源量除以最大资源配额量,计算得出资源使用者的资源饱和度;以所述资源使用者的资源饱和度为依据,对所述资源使用者进行排序;根据资源使用者排序,以设定条件确定一个边界资源使用者,将资源饱和度小于或等于所述边界资源使用者的资源使用者,称为B类资源使用者;将资源饱和度大于该边界资源使用者的资源使用者称为C类资源使用者;对B类资源使用者,以其申请资源量作为其资源配额向其分配资源;对于C类资源使用者,将系统资源总量减去按照所述为B类资源使用者分配的所有资源量后,获得剩余资源量;将所述剩余资源量,按照该C类资源使用者的最大资源配额量占所有C类资源使用者的最大资源配额量的总和的比例,作为其资源配额,以所述的资源配额向该C类资源使用者分配资源。

【技术特征摘要】
1.一种计算机系统资源分配方法,其特征在于,包括以下步骤:获取系统资源总量和有权提出资源申请请求的资源使用者的资源分配相关数据,所述资源使用者的资源分配相关数据包括资源使用者的最大资源配额量和申请资源量;利用所述资源使用者的申请资源量除以最大资源配额量,计算得出资源使用者的资源饱和度;以所述资源使用者的资源饱和度为依据,对所述资源使用者进行排序;根据资源使用者排序,以设定条件确定一个边界资源使用者,将资源饱和度小于或等于所述边界资源使用者的资源使用者,称为B类资源使用者;将资源饱和度大于该边界资源使用者的资源使用者称为C类资源使用者;对B类资源使用者,以其申请资源量作为其资源配额向其分配资源;对于C类资源使用者,将系统资源总量减去按照所述为B类资源使用者分配的所有资源量后,获得剩余资源量;将所述剩余资源量,按照该C类资源使用者的最大资源配额量占所有C类资源使用者的最大资源配额量的总和的比例,作为其资源配额,以所述的资源配额向该C类资源使用者分配资源。2.根据权利要求1所述的计算机系统资源分配方法,其特征在于,所述设定条件为所述边界资源使用者满足不等式一和不等式二,不等式一:Σi=1mRequesti+Requesth+RequesthMaxQuotah×Σj=1nMaxQuotaj<TotalResource]]>不等式二:Σi=1mRequesti+Requesth+Requesth+1MaxQuotah+1×Σj=1nMaxQuotaj<TotalResource]]>其中ToatalResource:系统资源总量;Requesti:资源饱和度小于或等于边界资源使用者的资源饱和度的,除边界资源使用者以外的其他B类资源使用者中第i个B类资源使用者的申请资源量;MaxQuotaj:资源饱和度大于边界资源使用者的资源饱和度的第j个C类资源使用者的最大资源配额量;Requesth:边界资源使用者的申请资源量;MaxQuotah:边界资源使用者的最大资源配额量;
\tRequesth+1:所述排序资源使用者中,资源饱和度小于任一其他C类资源使用者的资源饱和度,但大于边界资源使用者的资源饱和度的C类资源使用者的申请资源量;MaxQuotah+1:所述排序的资源使用者中,资源饱和度小于任一其他C类资源使用者的资源饱和度,但大于边界资源使用者的资源饱和度的C类资源使用者的最大资源配额量;m:系统内资源饱和度小于或等于边界资源使用者的资源饱和度的,除边界资源使用者以外的其他B类资源使用者的数量;n:系统内资源饱和度大于边界资源使用者的资源饱和度的C类资源使用者的数量;∑:求和运算。3.根据权利要求2所述的计算机系统资源分配方法,其特征在于,所述根据资源使用者排序,以设定条件确定一个边界资源使用者的方法包括:将所述排序的资源使用者中的一个资源使用者作为临时边界资源使用者;将临时边界资源使用者作为边界资源使用者代入所述不等式一和不等式二,若两个不等式都成立,则该临时资源使用者为边界资源使用者;若两个不等式不能都成立,则将所述排序的资源使用者中的另外一个资源使用者作为临时边界资源使用者,返回执行“将临时边界资源使用者的数据作为边界资源使用者的数据代入不等式一和不等式二”的步骤。4.根据权利要求3所述的计算机系统资源分配方法,其特征在于,所述将所述排序的资源使用者中的另外一个资源使用者作为临时边界资源使用者的方法包括:若不等式一不成立,则在所述排序的资源使用者中选择一个资源饱和度小于临时边界资源使用者的资源饱和度的资源使用者,将该资源使用者作为临时边界资源使用者;若不等式二不成立,则在所述排序的资源使用者中选择一个资源饱和度大于临时边界资源使用者的资源饱和度的资源使用者,将该资源使用者作为临时边界资源使用者。5.根据权利要求4所述的计算机系统资源分配方法,其特征在于,所述以所述资源使用者的资源饱和度为依据,对所述资源使用者进行排序的方法包括:以资源使用者资源分配相关数据,形成一个树节点,按照资源饱和度的大小插入排序二叉树中或更新排序二叉树中存储该资源使用者的数据节点,并通过调整所述排序二叉树的节点之间位置和相互关系,保持所述二叉树
\t仍为排序二叉树;所述资源使用者资源分配相关数据包括资源使用者的资源饱和度,申请资源量和最大资源配额量;相应地,所述将所述排序的资源使用者中的一个资源使用者作为临时边界资源使用者的方法包括:将所述排序的二叉树的根节点所存储的资源使用者作为临时边界资源使用者;相应地,所述则在所述排序的资源使用者中选择一个资源饱和度小于临时边界资源使用者的资源饱和度的资源使用者的方法如下:在所述排序二叉树中选择资源饱和度小于或等于临时边界资源使用者的资源饱和度一侧的直接子节点所对应的资源使用者;相应地,所述在所述排序的资源使用者中选择一个资源饱和度大于临时边界资源使用者的资源饱和度的资源使用者的方法如下:在所述排序二叉树中选择资源饱和度大于临时边界资源使用者的资源饱和度一侧的直接子节点所对应的资源使用者。6.根据权利要求5所述的计算机系统资源分配方法,其特征在于,所述资源使用者资源分配相关数据还包括:资源饱和度小于或等于该资源使用者的资源饱和度的资源使用者的申请资源量之和和资源饱和度大于该资源使用者的资源饱和度的资源使用者的最大资源配额量之和。7.根据权利要求1所述的计算机系统资源分配方法,其特征在于,所述以所述资源使用者的资源饱和度为依据,对所述资源使用者进行排序的方法包括:以资源使用者资源分配相关数据,形成一个树节点,按照资源饱和度的大小插入排序二叉树中或更新排序二叉树中存储该资源使用者的数据节点,并通过调整所述排序二叉树的节点之间位置和相互关系,保持所述二叉树仍为排序二叉树;所述资源使用者资源分配相关数据包括资源使用者的资源饱和度,申请资源量和最大资源配额量。8.根据权利要求7所述的计算机系统资源分配方法,其特征在于,所述资源使用者资源分配相关数据还包括:资源饱和度小于或等于该资源使用者的资源饱和度的资源使用者的申请资源量之和和资源饱和度大于该资源使用者的资源饱和度的资源使用者的最大资源配额量之和。9.一种计算机系统资源分配方法,其特征在于,包括以下步骤:获取系统资源总量和有权提出资源申请请求的资源使用者的资源分配相关
\t数据,所述资源使用者的资源分配相关数据包括资源使用者的最小资源配额量,最大资源配额量和申请资源量;利用所述资源使用者的申请资源量减掉最小资源配额量的差除以最大资源配额量,计算得出该资源使用者的资源饱和度;以所述资源使用者的资源饱和度为依据,对申请资源量大于其最小资源配额量的资源使用者进行排序;将申请资源量小于或等于其最小资源配额量的资源使用者,称为A类资源使用者;根据资源使用者排序,以设定条件确定一个边界资源使用者,对于资源饱和度小于或等于所述边界资源使用者的资源饱和度的资源使用者,称为B类资源使用者;将资源饱和度大于该边界资源使用者的资源饱和度的资源使用者称为C类资源使用者;对A类资源使用者和B类资源使用者,以其申请资源量作为其资源配额向其分配资源;对于C类资源使用者,将系统资源总量减去所述按照为A类资源使用者和B类资源使用者分配的所有资源量后,再减去所有C类资源使用者的最小资源配额量的总和后,获得剩余资源量;将所述剩余资源量,按照该C类资源使用者的最大资源配额量占所有C类资源使用者的最大资源配额量的总和的比例,作为其超出最小资源配额量的资源分配量,以所述其超出最小资源配额量的资源分配量加上该C类资源使用者的最小资源配额量的和作为该C类资源使用者的资源配额向其分配资源。10.根据权利要求9所述的计算机系统资源分配方法,其特征在于,所述设定的条件为所述边界资源使用者的数据满足下述不等式三和不等式四,不等式三:Σi=1m(Requesti-MinQuotai)+(Requesth-MinQuatah)+(Requesth-MinQuatah)MaxQuotah×Σj=1nMaxQuotaj<TotalResource-Σi=1mMinQuotai-MinQuatah-Σj=1nMinQuotaj-Σk=1sRequestk]]>不等式四:Σi=1m(Requesti-MinQuotai)+(Requesth-MinQuatah)+(Requesth+1-MinQuatah+1)MaxQuotah+1×Σj=1nMaxQuotaj>]]>TotalResource-Σi=1mMinQuotai-MinQuatah-Σj=1nMinQuotaj-Σk=1sRequestk]]>其中ToatalResource:系统资源总量;Requ...

【专利技术属性】
技术研发人员:张杨冯亦挥欧阳晋韩巧焕陶阳宇
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1