技术新讯 > 计算推算,计数设备的制造及其应用技术 > 计算单元动态分配方法及相关装置与流程  >  正文

计算单元动态分配方法及相关装置与流程

  • 国知局
  • 2024-07-31 22:50:06

本技术涉及处理器,具体而言,涉及一种计算单元动态分配方法及相关装置。

背景技术:

1、为了更充分地对处理器资源进行利用,目前会采用空分复用虚拟化技术。即,可以将处理器资源划分为不同的空间区域,并将每个空间区域分配给不同的用户或任务以进行并发计算。

2、这种技术可以实现在相同的处理器上同时运行多个用户或任务,并且每个用户或任务都可以独立地操作自己被分配的空间区域,而无法对其他用户或任务的空间区域进行干扰。通过空分复用虚拟化,多个用户或任务可以在同一处理器上并行进行计算,从而提高资源利用率和系统效率。这在云计算、高性能计算、虚拟桌面基础设施等场景下具有重要的应用价值,可以满足多用户并发计算的需求。

3、但是目前的空分复用虚拟化技术对计算资源的分配都是静态的,在创建虚拟化实例时就要指定分配的计算单元数量,但是随着任务的不同,可能出现一部分空间区域计算单元有剩余,而一部分空间区域计算单元不足的情况,从而导致出现资源浪费的问题,计算单元的资源利用率较低。

技术实现思路

1、本技术实施例的目的在于提供一种计算单元动态分配方法及相关装置,用以在一定程度上解决目前在处理器上使用空分复用虚拟化技术存在着的计算单元的资源利用率较低的问题。

2、本技术实施例提供了一种计算单元动态分配方法,包括:获取当前任务的总任务量;获取为所述当前任务分配的目标空间区域当前所具有的总任务处理能力;根据所述总任务量和所述总任务处理能力,从未分配有空间区域的计算单元集合中确定出执行所述当前任务的待补充计算单元;将所述待补充计算单元分配给所述目标空间区域。

3、上述实现方案中,通过预先留出一部分计算单元不分配空间区域,当有任务到来时,若该任务所对应的目标空间区域当前的总任务处理能力不足,则可以从预留的未分配有空间区域的计算单元中确定出一部分或全部的计算单元作为待补充计算单元分配给执行该任务的目标空间区域,从而使得该目标空间区域具有足够的任务处理能力。这样,通过预留未分配有空间区域的计算单元的方式,一旦哪一空间区域任务处理能力不足,就向该空间区域分配计算单元,这样就可以实现对于未分配有空间区域的计算单元的动态分配,从而将这一部分计算单元用于动态地支援各空间区域,相比于现有的全部计算单元都预先分配好的方案,本技术的方案计算单元的使用更为灵活,可以在一定程度上降低资源浪费,提高计算单元的资源利用率。

4、进一步地,每一个计算单元的任务处理能力相同;所述当前任务分配的目标空间区域当前所具有的总任务处理能力由所述目标空间区域所具有的空闲计算单元的数量进行表征;根据所述总任务量和所述总任务处理能力,从未分配有空间区域的计算单元集合中确定出执行所述当前任务的待补充计算单元,包括:根据所述总任务量和每个计算单元的任务处理能力,确定出执行所述总任务量的计算单元需求数量;根据所述计算单元需求数量和所述目标空间区域所具有的空闲计算单元的数量,确定出待补充的计算单元数量l;从所述计算单元集合中确定出所述l个计算单元作为所述待补充计算单元。

5、在上述实现方式中,由于每一个计算单元的任务处理能力相同,因此基于总任务量和每个计算单元的任务处理能力就可以快速确定出执行当前任务的计算单元需求数量,从而可以根据目标空间区域当前所具有的空闲计算单元的数量快速确定出需补充的计算单元数量,从而快速实现对于目标空间区域的任务处理能力补充,提高计算单元分配效率。

6、进一步地,所述方法还包括:若所述计算单元集合中的计算单元的总数量小于所述l,则将所述计算单元集合中的所有计算单元确定为所述待补充计算单元。

7、在上述实现方式中,在计算单元集合中的计算单元的总数量小于需补充的计算单元数量的情况下,将计算单元集合中的所有计算单元确定为待补充计算单元补充给目标空间区域,从而可以最大程度地提高目标空间区域的任务处理能力,在提高对当前任务的处理效率的同时,最大化地利用计算单元,提高计算单元的资源利用率。

8、进一步地,所述方法还包括:若所述计算单元集合中的计算单元的总数量小于所述l,则不向所述目标空间区域分配待补充计算单元,直接基于所述目标空间区域当前所具有的计算单元执行所述当前任务。

9、在计算单元集合中的计算单元的总数量小于需补充的计算单元数量的情况下,不向目标空间区域分配待补充计算单元,而直接基于目标空间区域当前所具有的计算单元执行当前任务。这样可以保留计算单元集合中的计算单元,从而在其他空间区域面临任务处理能力不足的情况时,有更大概率可以满足其他空间区域的计算单元的补充需求。

10、进一步地,所述方法还包括:在基于所述目标空间区域执行所述当前任务的过程中,轮询所述当前任务的剩余任务量,并基于所述剩余任务量确定出最新的待补充的计算单元数量l1;在所述计算单元集合中的计算单元的总数量达到所述l1的情况下,从未分配有空间区域的计算单元集合中确定出所述l1个计算单元分配给所述目标空间区域。

11、在上述实现方式中,通过在基于目标空间区域执行当前任务的过程中不断轮询当前任务的剩余任务量,并基于当前任务的剩余任务量确定出最新的待补充的计算单元数量l1,从而在未分配空间区域的计算单元集合中的计算单元的总数量达到l1的情况下,向该目标空间区域分配l1个计算单元,这就可以及时地向目标空间区域进行计算单元补充,从而提高计算单元的利用率。

12、进一步地,在根据所述总任务量和所述总任务处理能力,从未分配有空间区域的计算单元集合中确定出执行所述当前任务的待补充计算单元之前,所述方法还包括:确定所述总任务量超过所述目标空间区域当前所具有的总任务处理能力。

13、进一步地,所述方法还包括:在所述总任务量未超过所述目标空间区域当前所具有的总任务处理能力的情况下,直接基于所述目标空间区域当前所具有的计算单元执行所述当前任务。

14、可以理解,在总任务量未超过目标空间区域当前所具有的总任务处理能力的情况下,表明目标空间区域可以直接执行当前任务,无需分配支援计算单元。因此,在上述实现方式中,在总任务量超过目标空间区域当前所具有的总任务处理能力的情况下才确定待补充计算单元进行计算单元补充,在总任务量未超过目标空间区域当前所具有的总任务处理能力的情况下直接基于目标空间区域当前所具有的计算单元执行所述当前任务,可以避免出现无意义的计算单元分配行为,降低计算单元的浪费风险。

15、进一步地,所述方法还包括:在所述目标空间区域满足计算单元释放条件时,断开所述目标空间区域中的空闲计算单元与所述目标空间区域之间的分配关系,并将所述空闲计算单元纳入所述计算单元集合中。

16、在上述实现方案中,在目标空间区域满足计算单元释放条件时,断开空闲计算单元与所述目标空间区域之间的分配关系,并将空闲计算单元纳入计算单元集合中。这就实现了对于空闲计算单元的回收,使得空闲计算单可以用于新一轮的动态分配,从而提高计算单元的利用率。

17、进一步地,所述计算单元释放条件包括:所述目标空间区域存在空闲计算单元,且所述目标空间区域除所述空闲计算单元外的所有计算单元的总任务处理能力大于或等于预设的最小任务处理能力。

18、在上述实现方案中,为空间区域保留了最小任务处理能力,从而可以保证空间区域具有基本的任务处理能力,可以执行一些基本的任务处理操作,例如分区启动等,从而保证空间区域的通用性和正确性。

19、进一步地,每一个计算单元的任务处理能力相同;所述目标空间区域除所述空闲计算单元外的所有计算单元的总任务处理能力大于或等于预设的最小任务处理能力被表征为:所述目标空间区域除所述空闲计算单元外的所有计算单元的数量大于或等于预设的最小数量。

20、在上述实现方案中,由于每一个计算单元的任务处理能力相同,因此通过直接设置最小数量的方式可以很简单地实现保证空间区域具有基本的任务处理能力的需求。

21、进一步地,所述方法还包括:若所述目标空间区域除所述空闲计算单元外的所有计算单元的数量小于所述最小数量,但所述目标空间区域所具有的所有计算单元大于所述最小数量,则断开所述目标空间区域所具有的所有空闲计算单元中的c个计算单元与所述目标空间区域之间的分配关系,并将所述c个计算单元纳入所述计算单元集合中;其中,所述c等于所述目标空间区域所具有的所有计算单元的数量与所述最小数量之间的差值。

22、在上述实现方案中,针对目标空间区域除空闲计算单元外的所有计算单元的数量小于最小数量,但目标空间区域所具有的所有计算单元大于最小数量的情况,通过将其中c个计算单元纳入计算单元集合中的方式,可以在保证目标空间区域具有最小数量的计算单元的同时,将多余的空闲计算单元释放回计算单元集合中,使得空闲计算单可以用于新一轮的动态分配,从而提高计算单元的利用率。

23、本技术实施例还提供了一种处理器,包括:前端模块和计算单元;其中,所述前端模块用于执行前述任一种的计算单元动态分配方法。

24、进一步地,所述前端模块包括:任务解析模块,用于接收当前任务,并解析所述当前任务得到所述当前任务的总任务量;任务分发模块,用于获取为所述当前任务分配的目标空间区域当前所具有的总任务处理能力,并根据所述总任务量和所述总任务处理能力,从未分配有空间区域的计算单元集合中确定出执行所述当前任务的待补充计算单元,并发送针对所述待补充计算单元的分配请求;计算单元分配模块,用于响应于所述分配请求,将所述待补充计算单元分配给所述目标空间区域;所述任务分发模块还用于,将所述当前任务分发至所述目标空间区域的各计算单元执行。

25、在上述实现方案中,通过额外设置计算单元分配模块来管理未分配有空间区域的计算单元集合,并通过任务分发模块来根据所述总任务量和所述总任务处理能力,从未分配有空间区域的计算单元集合中确定出执行所述当前任务的待补充计算单元,从而实现了对于计算单元的动态分配,提高了计算单元的利用率。

26、进一步地,所述处理器为图形处理器。

27、本技术实施例还提供了一种处理器系统,包括中央处理器和上述的图形处理器;所述中央处理器和所述图形处理器通过主机接口连接;所述中央处理器用于创建虚拟机或容器,并将创建的所述虚拟机或所述容器的当前任务通过所述主机接口发送给所述图形处理器。

28、本技术实施例中还提供了一种电子部件,包括上述任一种的处理器,或包括上述处理器系统。

29、本技术实施例中还提供了一种电子设备,包括上述电子部件。

本文地址:https://www.jishuxx.com/zhuanli/20240730/194889.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。