A resource allocation system, method, and non temporary computer readable media. The system of resource allocation includes multiple hardware resources; one or more processors are configured to perform one or more programs to perform one or more operations; and a resource dispenser is configured to implement a set of hardware threads. The resource allocation of multiple hardware resources is described. The resource allocation of the plurality of hardware resources is implemented by the following steps: building a link list including a plurality of nodes, in which each of the plurality of nodes includes information about at least one of the next node or the previous node respectively; in the first order, one of the free resources of the plurality of hardware resources is in the first order. Or multiple ranges are allocated to one or more nodes of the plurality of nodes; and the assigned nodes are released in a disorderly sequence in a second order different from the first order.
【技术实现步骤摘要】
资源分配的系统、方法及非暂时性计算机可读媒体
本申请大体来说涉及计算机系统,且更具体来说,涉及一种有序及乱序资源分配的系统及方法及非暂时性计算机可读媒体。
技术介绍
图形处理器(graphicsprocessingunit,GPU)在用于操纵计算机图形且甚至用于通用计算的计算机系统中得到广泛应用。这些计算机系统中的许多计算机系统必须管理会受到寄存器分配设计影响的高度受限的硬件资源。在这些系统中,有序分配器(例如,环形分配器)有时会由于其简单性而被用于资源分配。一些图形处理器针对图形及计算管线并行地运行多种着色器(shader)。另外,在任意时刻可有每一种类型的多个不同的着色器处于现用状态。对于这些条件,有序分配器可能不是用于分配资源的最高效的方式。
技术实现思路
本专利技术提供一种资源分配的系统。所述系统包括:多个硬件资源;一个或多个处理器,被配置成执行一个或多个程序以实行一个或多个操作;以及资源分配器,被配置成向一组硬件线程实施所述多个硬件资源的资源分配。所述多个硬件资源的资源分配是通过以下步骤来实行:构建包括多个节点的链接列表,其中所述多个节点中的每一者分别包括关于下一节点或前一节点中的至少一者的信息;以第一次序将所述多个硬件资源中的自由资源的一个或多个范围分配给所述多个节点中的一个或多个节点;以及以与所述第一次序不同的第二次序来乱序地释放所分配节点。本专利技术提供一种资源分配的方法。所述方法包括在包括多个硬件资源及一个或多个处理器的系统中构建包括多个节点的链接列表,所述一个或多个处理器被配置成执行一个或多个程序以实行一个或多个操作。所述多个节点中的每一者 ...
【技术保护点】
1.一种资源分配的系统,其特征在于,包括:多个硬件资源;一个或多个处理器,被配置成执行一个或多个程序以实行一个或多个操作;以及资源分配器,被配置成通过以下步骤来向一组硬件线程实施所述多个硬件资源的资源分配:构建包括多个节点的链接列表,其中所述多个节点中的每一者分别包括关于下一节点或前一节点中的至少一者的信息;以第一次序将所述多个硬件资源中的自由资源的一个或多个范围分配给所述多个节点中的一个或多个节点;以及以与所述第一次序不同的第二次序来乱序地释放所分配节点。
【技术特征摘要】
2017.01.31 US 15/421,2791.一种资源分配的系统,其特征在于,包括:多个硬件资源;一个或多个处理器,被配置成执行一个或多个程序以实行一个或多个操作;以及资源分配器,被配置成通过以下步骤来向一组硬件线程实施所述多个硬件资源的资源分配:构建包括多个节点的链接列表,其中所述多个节点中的每一者分别包括关于下一节点或前一节点中的至少一者的信息;以第一次序将所述多个硬件资源中的自由资源的一个或多个范围分配给所述多个节点中的一个或多个节点;以及以与所述第一次序不同的第二次序来乱序地释放所分配节点。2.根据权利要求1所述的资源分配的系统,其特征在于,所述资源分配器被配置成基于自由资源能够被分配到的节点的最大数目来选择分配头的数目,其中所述分配头分别对应于所述多个硬件资源中的自由资源的邻接范围。3.根据权利要求1所述的资源分配的系统,其特征在于,所述资源分配器被配置成基于对于资源的请求,从所述自由资源的所述一个或多个邻接范围中选择第一范围来分配给所述一个或多个节点中的第一节点。4.根据权利要求3所述的资源分配的系统,其特征在于,所述选择是基于所述请求的元数据。5.根据权利要求3所述的资源分配的系统,其特征在于,所述资源分配器通过选择与所请求资源的量最接近的自由资源量的范围来选择所述第一范围。6.根据权利要求3所述的资源分配的系统,其特征在于,所述资源分配器通过选择处于所请求资源的量的预定义裕量以内的自由资源量来选择所述第一范围。7.根据权利要求1所述的资源分配的系统,其特征在于,所述资源分配器被配置成从所述自由资源的所述一个或多个邻接范围中选择第一范围来分配给所述一个或多个节点中的第一节点,其中所述资源分配器通过选择具有最大的自由资源量的范围来选择所述第一范围。8.根据权利要求1所述的资源分配的系统,其特征在于,所述资源分配器被配置成通过将所述多个硬件资源重新映射到以下中的一者来乱序地释放节点:前一所分配节点;下一所分配节点;或者具有较少资源的分配头。9.根据权利要求1所述的资源分配的系统,其特征在于,所述资源分配器通过将所释放分配的资源与自由资源的范围进行合并来释放所述所分配节点。10.根据权利要求1所述的资源分配的系统,其特征在于以下中的至少一者:以所述第一次序进行分配包括以所述第一次序将所述多个硬件资源中的自由资源的一个或多个邻接范围分配给所述多个节点中的一个或多个节点;或者以所述第一次序进行分配包括:将所述自由资源的所述一个或多个范围分配给一组或多组线程是由所述一个或多个处理器来执行。11.一种资源分配的方法,其特征在于,包括:在包括多个硬件资源及一个或多个处理器的系统中构建包括多个节点的链接列表,所述一个或多个处理器被配置成执行一个或多个程序以实行一个或多个操作,其中所述多个节点中的每一者分别包括关于至少一个节点或前一节点的信息;以第一次序将所述多个硬件资源中的自由资源的一个或多个范围分配给所述多个节点中的一个或多个节点;以及以与所述第一次序不同的第二次序来乱序地释放所分配节点。12.根据权利要求11所述的资源分配的方法,其特征在于,进一步包括基于自由资源能够被分配到的节点的...
【专利技术属性】
技术研发人员:阿布希那夫·格拉斯,
申请(专利权)人:三星电子株式会社,
类型:发明
国别省市:韩国,KR
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。