一种快速检测离散资源的方法、装置、存储介质及设备制造方法及图纸

技术编号:36404516 阅读:10 留言:0更新日期:2023-01-18 10:12
本公开提供一种快速检测离散资源的方法、装置、存储介质及设备,属于数据处理领域,本公开重新定义资源组特征,针对请求的孔的大小计算资源组中各个孔可以分配该请求的孔的最大孔数,并与请求的孔数进行比较得出容量检测是否成功;本公开充分利用所有离散的资源,准确判断对于任意合法的请求,容量检测是否通过,提高了快速检测离散资源的效率。提高了快速检测离散资源的效率。提高了快速检测离散资源的效率。

【技术实现步骤摘要】
一种快速检测离散资源的方法、装置、存储介质及设备


[0001]本公开涉及数据处理领域,具体地涉及一种快速检测离散资源的方法、装置、存储介质及设备。

技术介绍

[0002]为了高效的处理任务,处理器需要对硬件资源进行调度,通常资源分为许多组,每组有多个格组成,一个或多个连续的格被定义为孔(hole),如图1所示。传统上,用最大孔的大小(max_hole_size)代表该组资源的容量。
[0003]由于每次任务执行时长不同,经多次分配/释放后,资源的使用数组呈现随机状态。容量检测要判断随机数组是否存在n个大小为s的孔,是一个困难问题。现有技术为解决这个问题,将其简化为单次请求的所有孔必须连续分配,等价于是否存在一个大小为n*s的孔,即比较n*s与max_hole_size即可。然而,很多本可立即分配的情况,被判为失败,损害了整体资源调度的能力。
[0004]例如,假设资源请求是2个孔,每个孔大小为2格。传统方案需要找到一个大小为2*2 = 4格的孔,这在图1中无法找到,因此会被判决为容量检测失败。但实际上,图1中有2个孔,一个大小为2,另一个大小为3,完全能满足该请求。因此,如何提供一种高效的资源调度方法,成为亟待解决的问题。

技术实现思路

[0005]本公开的目的在于,针对现有技术中存在的问题,提供一种快速检测离散资源的方法、装置、存储介质及设备,提高快速检测离散资源的效率。
[0006]根据本公开的一个方面,提出一种快速检测离散资源的方法,包括如下步骤:容量检测,检测是否存在满足本次请求的资源组,若是,在所述资源组中分配本次请求的资源,更新所述资源组分配后的使用状态,计算更新后该组的容量;若否,则继续检测;其中,所述容量是指每个资源组的可用资源数量,数组max_hole_num(i)为资源组的特征,其中i = 1~N,表示该组资源最多存在m
i
=max_hole_num(i)个大小为i的孔,其中孔表示一个或多个连续的格,其中格为资源调度的最小单元,N表示该组资源的总格数;所述检测是否存在满足本次请求的资源组,具体为对于每个资源组,若本次请求为n个大小为i的孔,当max_hole_num(i) >= n时,则表示该组满足本次请求,否则表示该组不满足本次请求,其中,n表示单次请求的孔的个数,单次可请求1个或多个孔,若单次请求多个孔,则每个孔的大小相同。
[0007]在一些实施例中,快速检测离散资源的方法还包括,其特征在于,其中资源组的资
源使用状态用比特数组idle(i)表示,i的取值范围为[0,N

1]表示共有N格,若idle(i)=1则表示该格可分配,若idle(i)=0则表示该格已被占用不可分配。
[0008]在一些实施例中,快速检测离散资源的方法还包括,其特征在于,新分配的孔紧邻已被占的区域。
[0009]在一些实施例中,快速检测离散资源的方法还包括,其特征在于,所述资源调度还包括资源的释放,相应的更新资源组释放后的使用状态,并计算更新后该组的容量。
[0010]在一些实施例中,快速检测离散资源的方法还包括,其特征在于,所述更新所述资源组分配后的使用状态具体为,对于一个时钟周期内分配1个新孔情况的资源状态计算如下:分配前,该组资源分为三段,高位段和低位段不受本次分配影响,中间段为受本次分配影响的孔大小为X1,经本次分配后,剩余大小为P1,设本次分配孔大小为hole_size,则有;设该组分配前特征值为max_hole_num(i),分配后该组特征值为max_hole_num(i)

,则以下公式成立:其中,表示数组rom_hole_num(i,j)的值,其中rom_hole_num(i,j)的值表示,若请求的孔大小为j,则对于每个大小为i的孔可分配大小为j的孔数的最大值,其中,计算P1的过程具体为:设待检测资源组为idle[N

1:0],设数组sample_P1[k]与所述待检测资源组大小相同,其中k的取值范围为[0,N

1],表示sample_P1[k]中有k个需要关心的位置且该位置的值为0;sample_P1[k]与idle[N

1:0]做逻辑或运算得到result_P1[k],并将result_P1[k]所有元素值做逻辑与运算得到exist_P1[k],并按k的取值从大到小顺序检测exist_P1[k]的值,按所述顺序所述exist_P1[k]值最先为1时对应的k值即为P1的值。
[0011]在一些实施例中,快速检测离散资源的方法还包括,其特征在于,所述更新所述资源组分配后的使用状态具体为,对于一个时钟周期内释放1个孔的资源情况的资源状态计算如:分配前,该组资源分为三段,高位段Q1和低位段Q2不受本次释放影响,释放的孔位于中间段,设释放的孔大小为hole_size1,令Y1= Q1 + Q2 + hole_size1,释放时的公式为:其中,计算Q1、Q2的过程与计算所述P1的过程相同;其中,若释放的中间段为整组资源最后被占的部分,则max_hole_num(i) = rom_hole_num(N,i)。
[0012]在一些实施例中,快速检测离散资源的方法还包括,其特征在于,所述更新所述资
源组分配后的使用状态具体为,对于一个时钟周期内分配1个孔的资源和释放1个孔的资源同时存在的情况的资源状态计算如下:分配1个孔资源和释放1个孔资源可以分别计算,公式为:。
[0013]在一些实施例中,快速检测离散资源的方法还包括,其特征在于,所述资源组为环形数组。
[0014]在一些实施例中,快速检测离散资源的方法还包括,其特征在于,一次资源请求的容量检测在1个时钟周期内完成,每个时钟周期处理1个孔的资源分配,并可同时处理1个孔的资源释放。
[0015]在一些实施例中,快速检测离散资源的方法还包括,其特征在于,若有多个资源组满足请求,根据优先级、负载、轮换次序仲裁出本次被分配的资源组。
[0016]根据本公开的另一个方面,提出一种快速检测离散资源的装置;包括:容量检测单元,用于检测是否存在满足本次请求的资源组,分配单元,用于检测结果若是,在所述资源组中分配本次请求的资源,检测结果若否,则继续检测,第一更新单元,用于更新所述资源组分配后的使用状态,计算单元,用于计算更新后该组的容量,其中,所述容量是指每个资源组的可用资源数量,数组max_hole_num(i)为资源组的特征,其中i = 1~N,表示该组资源最多存在m
i
=max_hole_num(i)个大小为i的孔,其中孔表示一个或多个连续的格,其中格为资源调度的最小单元,N表示该组资源的总格数;所述检测是否存在满足本次请求的资源组,具体为对于每个资源组,若本次请求为n个大小为i的孔,当max_hole_num(i) >= n时,则表示该组满足本次请求,否则表示该组不满足本次请求,其中,n表示单次请求的孔的个数,单本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种快速检测离散资源的方法,其特征在于,包括如下步骤:容量检测,检测是否存在满足本次请求的资源组,若是,在所述资源组中分配本次请求的资源,若否,则继续检测,更新所述资源组分配后的使用状态,计算更新后该组的容量,其中,所述容量是指每个资源组的可用资源数量,定义数组max_hole_num(i)为资源组的特征,其中i = 1~N,表示该组资源最多存在m
i
=max_hole_num(i)个大小为i的孔,其中孔表示一个或多个连续的格,其中格为资源调度的最小单元,N表示该组资源的总格数;所述检测是否存在满足本次请求的资源组,具体为对于每个资源组,若本次请求为n个大小为i的孔,当max_hole_num(i) >= n时,则表示该组满足本次请求,否则表示该组不满足本次请求,其中,n表示单次请求的孔的个数,单次可请求一个或多个孔,若单次请求多个孔,则每个孔的大小相同。2.根据权利要求1所述的方法,其特征在于,其中资源组的资源使用状态用比特数组idle(i)表示,i的取值范围为[0,N

1]表示共有N格,若idle(i)=1则表示该格可分配,若idle(i)=0则表示该格已被占用不可分配。3.根据权利要求2所述的方法,其特征在于,新分配的孔紧邻已被占的区域。4.根据权利要求3所述的方法,其特征在于,所述资源调度还包括资源的释放,相应的更新资源组释放后的使用状态,并计算更新后该组的容量。5.根据权利要求4所述的方法,其特征在于,所述更新所述资源组分配后的使用状态具体为,对于一个时钟周期内分配1个新孔情况的资源状态计算如下:分配前,该组资源分为三段,高位段和低位段不受本次分配影响,中间段为受本次分配影响的孔大小为X1,经本次分配后,剩余大小为P1,设本次分配孔大小为hole_size,则有;设该组分配前特征值为max_hole_num(i),分配后该组特征值为max_hole_num(i)

,则以下公式成立:其中,rom_hole_num(i,j)的值表示,若请求的孔大小为j,则对于每个大小为i的孔可分配大小为j的孔数的最大值,其中,计算P1的过程具体为:设待检测资源组为idle[N

1:0],设数组sample_P1[k]与所述待检测资源组大小相同,其中k的取值范围为[0,N

1],表示sample_P1[k]中有k个需要关心的位置且该位置的值为0;sample_P1[k]与idle[N

1:0]做逻辑或运算得到result_P1[k],并将result_P1[k]所有元素值做逻辑与运算得到exist_P1[k],并按k的取值从大到小顺序检测exist_P1[k]的值,按所述顺序所述exist_P1[k]值最先为1时对应的k值即为P1的值。6.根据...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:沐曦集成电路上海有限公司
类型:发明
国别省市:

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

1