【技术实现步骤摘要】
一种快速检测离散资源的方法、装置、存储介质及设备
[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]根据本公开的一个方面,提出一种快速检测离散资源的方法,包括如下步骤:容量检测,检测是否存在满 ...
【技术保护点】
【技术特征摘要】
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.根据...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:沐曦集成电路上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。