资源分配模式转换方法及装置、电子设备与存储介质与流程

文档序号:38526211发布日期:2024-07-01 23:10阅读:106来源:国知局

本公开的实施例涉及一种用于多个线程的资源分配模式转换方法及装置、电子设备与存储介质。


背景技术:

1、在当前的计算设备中,诸如中央处理器(central processing unit,cpu)、图形处理器(graphics processing unit,gpu)、通用图形处理器(general-purpose computingon graphics processing units,gpgpu)等数据处理集成电路可以执行程序以完成各项计算任务。对于当前的计算设备和应用程序,高效的多线程性能正变得越来越重要。


技术实现思路

1、本公开至少一实施例提供一种用于多个线程的资源分配模式转换方法,其中,所述资源包括多个条目,所述资源分配模式转换方法包括:响应于资源分配模式转换命令,改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用权限,和/或,改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用上限。

2、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述每个线程包括第一位向量,所述第一位向量中的多个第一位与多个条目一一对应,当所述第一位为有效时,对应的线程对所述多个条目中与所述有效的第一位对应的条目具有占用权限,所述改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用权限,包括:改变所述每个线程的第一位向量中有效的第一位的数量。

3、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述多个线程包括第一线程和与所述第一线程不同的至少一个第二线程,所述多个条目的数量为n,其中,n为正整数,在第一资源分配模式中,所述第一线程对所述n个条目中的m个条目具有占用权限,所述至少一个第二线程中的每个第二线程对所述n个条目中除所述m个条目之外的n-m个条目中的至少一个条目具有占用权限,其中,m为小于n的正整数,在第二资源分配模式中,所述每个线程对所述n个条目具有占用权限,所述改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用权限,包括:将所述第一线程的第一位向量中的n个第一位设置为有效,以及将所述每个第二线程的第一位向量中的n个第一位设置为有效,以将所述第一资源分配模式转换至所述第二资源分配模式。

4、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述多个线程包括第一线程和与所述第一线程不同的至少一个第二线程,所述多个条目的数量为n,其中,n为正整数,在第一资源分配模式中,所述第一线程对所述n个条目中的m个条目具有占用权限,所述至少一个第二线程中的每个第二线程对所述n个条目中除所述m个条目之外的n-m个条目中的至少一个条目具有占用权限,其中,m为小于n的正整数,在第二资源分配模式中,所述每个线程对所述n个条目具有占用权限,所述改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用权限,包括:选取待分配给所述第一线程的m个条目;将所述第一线程的第一位向量中对应于所述m个条目的m个第一位保持为有效,并且将所述第一线程的第一位向量中除所述m个第一位之外的n-m个第一位设置为无效,以将所述第二资源分配模式转换至所述第一资源分配模式。

5、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述多个线程包括第一线程和与所述第一线程不同的至少一个第二线程,所述多个条目的数量为n,其中,n为正整数,在第一资源分配模式中,所述第一线程对所述n个条目中的m个条目具有占用权限,所述至少一个第二线程中的每个第二线程对所述n个条目中除所述m个条目之外的n-m个条目中的至少一个条目具有占用权限,其中,m为小于n的正整数,在第三资源分配模式中,所述每个线程对所述n个条目具有占用权限,所述改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用权限,包括:选取待分配给所述第一线程的m个条目;将所述第一线程的第一位向量中对应于所述m个条目的m个第一位保持为有效,并且将所述第一线程的第一位向量中除所述m个第一位之外的n-m个第一位设置为无效,以将所述第三资源分配模式转换至所述第一资源分配模式。

6、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述将所述第一线程的第一位向量中对应于所述m个条目的m个第一位保持为有效,包括:检查所述待分配给所述第一线程的m个条目中的每个条目是否被所述第二线程占用;响应于所述待分配给所述第一线程的m个条目中的第一条目没有被所述第二线程占用,将所述第一线程的第一位向量中对应于所述第一条目的第一位保持为有效;响应于所述第一条目被所述第二线程占用,将所述第一线程的第一位向量中对应于所述第一条目的第一位设置为无效,在所述第一条目被所述第二线程释放之后,将所述第一线程的第一位向量中对应于所述第一条目的第一位设置为有效。

7、例如,在本公开至少一实施例提供的资源分配模式转换方法中,在所述第一资源分配模式中,所述第一线程具有占用权限的条目数量与所述每个第二线程具有占用权限的条目数量相同。

8、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述多个线程包括第一线程和与所述第一线程不同的至少一个第二线程,所述多个条目的数量为n,其中,n为正整数,

9、在第一资源分配模式中,所述第一线程对所述n个条目中的m个条目具有占用权限,所述至少一个第二线程中的每个第二线程对所述n个条目中除所述m个条目之外的n-m个条目中的至少一个条目具有占用权限,其中,m为小于n的正整数,在第三资源分配模式中,所述每个线程对所述n个条目具有占用权限,并且所述每个线程对所述n个条目的占用上限为y,其中,y为小于n的正整数,所述改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用权限,和,改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用上限,包括:将所述第一线程的第一位向量中的n个第一位设置为有效,将所述每个第二线程的第一位向量中的n个第一位设置为有效,并且将所述每个线程对所述n个条目的占用上限设置为y,以将所述第一资源分配模式转换至所述第三资源分配模式。

10、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述每个线程包括线程计数器,所述线程计数器的值用于表示所述多个条目中被对应线程占用的条目的数量,所述线程计数器的上限值被设置为对应线程对所述多个条目中条目数量的占用上限y,所述将所述每个线程对所述n个条目的占用上限设置为y,包括:将所述每个线程的线程计数器的上限值设置为y。

11、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述至少一个第二线程的数量为x,y为大于或等于n/(x+1)且小于n的正整数。

12、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述每个线程包括线程计数器,所述线程计数器的值用于表示所述多个条目中被对应线程占用的条目的数量,所述线程计数器的上限值被设置为对应线程对所述多个条目中条目数量的占用上限,所述改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用上限,包括:改变所述每个线程的所述线程计数器的上限值。

13、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述多个条目的数量为n,其中,n为正整数,在第二资源分配模式中,所述每个线程对所述n个条目具有占用权限,所述每个线程对所述n个条目的占用上限为n,在第三资源分配模式中,所述每个线程对所述n个条目具有占用权限,所述每个线程对所述n个条目的占用上限为y,其中,y为小于n的正整数,所述改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用上限,包括:将所述每个线程的线程计数器的上限值设置为y,以将所述第二资源分配模式转换至所述第三资源分配模式。

14、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述多个线程包括第一线程和与所述第一线程不同的至少一个第二线程,在将所述第二资源分配模式转换至所述第三资源分配模式的过程中,所述资源分配模式转换方法还包括:响应于所述第一线程的线程计数器的值大于或等于y,停止为所述第一线程分配新的条目;响应于所述第一线程的线程计数器的值小于y,允许为所述第一线程分配新的条目。

15、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述多个条目的数量为n,其中,n为正整数,

16、在第二资源分配模式中,所述每个线程对所述n个条目具有占用权限,所述每个线程对所述n个条目的占用上限为n,在第三资源分配模式中,所述每个线程对所述n个条目具有占用权限,所述每个线程对所述n个条目的占用上限为y,其中,y为小于n的正整数,所述改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用上限,包括:将所述每个线程的线程计数器的上限值设置为n,以将所述第三资源分配模式转换至所述第二资源分配模式。

17、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述每个线程包括第二位向量,所述第二位向量中的多个第二位与所述多个条目一一对应,所述第二位为有效表示对应的线程正在占用所述多个条目中与所述有效的第二位对应的条目。

18、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述多个线程包括第一线程和与所述第一线程不同的至少一个第二线程,所述资源分配模式转换方法还包括:从所述多个条目中选取待分配给所述第一线程的第二条目;响应于所述第二条目没有被所述第二线程占用,将所述第一线程的第二位向量中对应于所述第二条目的第二位写为有效,以使所述第一线程占用所述第二条目。

19、例如,在本公开至少一实施例提供的资源分配模式转换方法中,所述多个线程包括第一线程和与所述第一线程不同的至少一个第二线程,所述资源分配模式转换方法还包括:从所述多个条目中选取待被所述第一线程读取的第三条目;响应于所述第一线程的第二位向量中对应于所述第三条目的第二位为有效,读取所述第三条目;响应于所述第三条目需要被所述第一线程释放,将所述第一线程的第二位向量中对应于所述第三条目的第二位写为无效。

20、本公开至少一实施例还提供一种用于多个线程的资源分配模式转换装置,其中,所述资源包括多个条目,所述资源分配模式转换装置包括:转换模块,配置为响应于资源分配模式转换命令,改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用权限,和/或,改变所述多个线程中的每个线程对所述多个条目中至少一个条目的占用上限。

21、例如,在本公开至少一实施例提供的资源分配模式转换装置中,所述每个线程包括第一位向量,所述第一位向量中的多个第一位与多个条目一一对应,当所述第一位为有效时,对应的线程对所述多个条目中与所述有效的第一位对应的条目具有占用权限,所述转换模块还配置为,改变所述每个线程的第一位向量中有效的第一位的数量。

22、例如,在本公开至少一实施例提供的资源分配模式转换装置中,所述每个线程包括线程计数器,所述线程计数器的值用于表示所述多个条目中被对应线程占用的条目的数量,所述线程计数器的上限值被设置为对应线程对所述多个条目中条目数量的占用上限,所述转换模块还配置为,改变所述每个线程的所述线程计数器的上限值。

23、例如,在本公开至少一实施例提供的资源分配模式转换装置中,所述每个线程包括第二位向量,所述第二位向量中的多个第二位与所述多个条目一一对应,所述第二位为有效表示对应的线程正在占用所述多个条目中与所述有效的第二位对应的条目。

24、本公开至少一实施例还提供一种电子设备。该电子设备包括:处理器;存储器,包括一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块用于实现本公开任一实施例提供的用于多个线程的资源分配模式转换方法。

25、本公开至少一实施例还提供一种存储介质,存储有非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时实现本公开任一实施例提供的用于多个线程的资源分配模式转换方法。

当前第1页1 2 
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1