CN118113449A - 一种资源管理方法、装置和系统 - Google Patents
一种资源管理方法、装置和系统 Download PDFInfo
- Publication number
- CN118113449A CN118113449A CN202211515337.7A CN202211515337A CN118113449A CN 118113449 A CN118113449 A CN 118113449A CN 202211515337 A CN202211515337 A CN 202211515337A CN 118113449 A CN118113449 A CN 118113449A
- Authority
- CN
- China
- Prior art keywords
- resource
- task descriptor
- resource adjustment
- adjustment stage
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 107
- 238000000034 method Methods 0.000 claims description 92
- 238000012544 monitoring process Methods 0.000 claims description 43
- 238000013468 resource allocation Methods 0.000 claims description 40
- 230000010354 integration Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 20
- 230000003068 static effect Effects 0.000 description 18
- 230000015654 memory Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种资源管理方法、装置和系统,能够提高共享资源的利用率。该资源管理方法可以包括:获取至少一个任务描述符中的每个任务描述符的资源需求信息,该资源需求信息用于指示该每个任务描述符在执行前申请的共享资源大小和/或类型;获取该每个任务描述符在第一资源调整阶段内的统计信息,该统计信息用于指示该每个任务描述符分配的共享资源在该每个任务描述符执行时的使用情况;基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例。
Description
技术领域
本申请涉及芯片技术领域,并且更具体地,涉及一种资源管理方法、装置和系统。
背景技术
随着大数据时代的到来,处理器需要处理的数据越来越多,这就要求处理器能够低成本、高效率的处理接收到的数据。在多核系统中往往采用资源共享机制,以提高资源的利用率。因此,如何提高多核系统的共享资源利用率成为当前本领域技术人员亟待解决的问题。
发明内容
本申请提供一种资源管理方法、装置和系统,能够提高共享资源的利用率。
第一方面,本申请实施例提供一种资源管理方法,该方法可以包括:获取至少一个任务描述符中的每个任务描述符的资源需求信息,该资源需求信息用于指示该每个任务描述符在执行前申请的共享资源大小和/或类型;获取该每个任务描述符在第一资源调整阶段内的统计信息,该统计信息用于指示该每个任务描述符分配的共享资源在该每个任务描述符执行时的使用情况,该每个任务描述符包括多个资源调整阶段,该多个资源调整阶段包括该第一资源调整阶段;基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,该多个资源调整阶段还包括该第二资源调整阶段,且该第二资源调整阶段为该第一资源调整阶段的下一个资源调整阶段。
采用本申请实施例提供的资源管理方法,调度模块基于每个任务描述符的资源需求信息(即静态信息)和该每个任务描述符在第一资源调整阶段内的统计信息(即动态信息),对该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例进行自适应快速调整,能够提高共享资源的利用率。
在一种可能的实现方式中,该基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,包括:基于该每个任务描述符的资源需求信息、该每个任务描述符在该第一资源调整阶段内的统计信息和该共享资源中的空闲资源,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
采用本申请实施例提供的资源管理方法,调度模块结合每个任务描述符的资源需求信息、该每个任务描述符在该第一资源调整阶段内的统计信息和该共享资源中的空闲资源,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例,能够将系统中的空闲资源和/或利用率较低的共享资源,交付给需求更高的任务描述符使用,从而提高共享资源的利用率。
在一种可能的实现方式中,在该基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,该方法还包括:获取资源分配策略;该基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,包括:基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,采用该资源分配策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
采用本申请实施例提供的资源管理方法,在不同的应用场景下可以采用不同的资源分配策略,调整每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,能够提高共享资源分配的灵活性。
在一种可能的实现方式中,在该获取该每个任务描述符在第一资源调整阶段内的统计信息之前,该方法还包括:对该至少一个任务描述符在该第一资源调整阶段内的统计信息进行整合,得到整合统计信息;该获取该每个任务描述符在第一资源调整阶段内的统计信息,包括:获取该整合统计信息;该基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,包括:基于该每个任务描述符的资源需求信息和该整合统计信息,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
可选地,本申请实施例对上述整合操作的具体内容不做限定。
示例的,整合操作可以仅对该至少一个任务描述符中的每个任务描述符在该第一资源调整阶段内的统计信息进行整理,或者,整合操作可以对该至少一个任务描述符中的每个任务描述符在该第一资源调整阶段内的统计信息进行综合计算,得到相应的计算结果。
采用本申请实施例提供的资源管理方法,调度模块结合每个任务描述符的资源需求信息、整合统计信息和共享资源中的空闲资源,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,由于整合统计信息是对所有任务描述符的统计信息进行了进一步整合,可以提取更多基于全局特征的动态信息,因此,基于这样的整合统计信息调整共享资源的分配,能够提高共享资源的利用率。
在一种可能的实现方式中,该获取该每个任务描述符在第一资源调整阶段内的统计信息,包括:监测该每个任务描述符在该第一资源调整阶段内的执行过程,得到该每个任务描述符在该第一资源调整阶段内的统计信息。
采用本申请实施例提供的资源管理方法,性能监测模块可以实时对每个任务描述符的执行过程进行监测,得到该每个任务描述符在该第一资源调整阶段内的统计信息,这样可以提高统计信息的实时性和精确性。
在一种可能的实现方式中,在该获取该每个任务描述符在第一资源调整阶段内的统计信息之前,该方法还包括:为该每个任务描述符分配该第一资源调整阶段内的共享资源。
在一种可能的实现方式中,在该基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,该方法还包括:获取该每个任务描述符的资源调整节点,该每个任务描述符的资源调整节点用于确定每个任务描述符的每个资源调整阶段;基于该每个任务描述符的资源调整节点,确定该每个任务描述符的每个资源调整阶段。
采用本申请实施例提供的资源管理方法,通过资源调整节点配置资源调整阶段,能够根据实际需求灵活配置资源调整阶段。
在一种可能的实现方式中,该每个任务描述符包括资源调整节点信息,该资源调整节点信息用于指示该每个任务描述符的资源调整节点。
在一种可能的实现方式中,该获取该每个任务描述符的资源调整节点,包括:为该每个任务描述符配置资源调整节点信息,该资源调整节点信息用于指示该每个任务描述符的资源调整节点。
采用本申请实施例提供的资源管理方法,可以通过固化的硬件或通过软件配置资源调整节点,能够提高配置资源调整节点的灵活性。
在一种可能的实现方式中,该资源调整节点包括以下各项中的任一项:该每个任务描述符执行的时长达到预设的时长阈值;或者,该每个任务描述符执行的指令数达到预设的指令数阈值;或者,该每个任务描述符执行到预设的目标指令处。
第二方面,本申请实施例提供一种资源管理系统,该系统可以包括:调度模块,该调度模块用于:获取至少一个任务描述符中的每个任务描述符的资源需求信息,该资源需求信息用于指示该每个任务描述符在执行前申请的共享资源大小和/或类型;获取该每个任务描述符在第一资源调整阶段内的统计信息,该统计信息用于指示该每个任务描述符分配的共享资源在该每个任务描述符执行时的使用情况,该每个任务描述符包括多个资源调整阶段,该多个资源调整阶段包括该第一资源调整阶段;基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,该多个资源调整阶段还包括该第二资源调整阶段,且该第二资源调整阶段为该第一资源调整阶段的下一个资源调整阶段。
在一种可能的实现方式中,该调度模块具体用于:基于该每个任务描述符的资源需求信息、该每个任务描述符在该第一资源调整阶段内的统计信息和该共享资源中的空闲资源,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
在一种可能的实现方式中,该调度模块还用于在基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,获取资源分配策略;该调度模块具体用于基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,采用该资源分配策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
在一种可能的实现方式中,该系统还包括:资源监测模块,该资源监测模块用于在该调度模块获取该每个任务描述符在第一资源调整阶段内的统计信息之前,对该至少一个任务描述符在该第一资源调整阶段内的统计信息进行整合,得到整合统计信息;该调度模块具体用于获取该整合统计信息;基于该每个任务描述符的资源需求信息和该整合统计信息,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
在一种可能的实现方式中,该系统还包括:性能监控单元,该性能监控单元用于监测该每个任务描述符在该第一资源调整阶段内的执行过程,得到该每个任务描述符在该第一资源调整阶段内的统计信息;该调度模块用于接收来自该性能监控单元的该每个任务描述符在该第一资源调整阶段内的统计信息。
在一种可能的实现方式中,该系统还包括:管理器,该管理器用于在该调度模块获取该每个任务描述符在第一资源调整阶段内的统计信息之前,为该每个任务描述符分配该第一资源调整阶段内的共享资源。
在一种可能的实现方式中,该调度模块还用于:在基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,获取该每个任务描述符的资源调整节点,该每个任务描述符的资源调整节点用于确定每个任务描述符的每个资源调整阶段;基于该每个任务描述符的资源调整节点,确定该每个任务描述符的每个资源调整阶段。
在一种可能的实现方式中,该每个任务描述符包括资源调整节点信息,该资源调整节点信息用于指示该每个任务描述符的资源调整节点。
在一种可能的实现方式中,该调度模块具体用于:为该每个任务描述符配置资源调整节点信息,该资源调整节点信息用于指示该每个任务描述符的资源调整节点。
在一种可能的实现方式中,该资源调整节点包括以下各项中的任一项:该每个任务描述符执行的时长达到预设的时长阈值;或者,该每个任务描述符执行的指令数达到预设的指令数阈值;或者,该每个任务描述符执行到预设的目标指令处。
第三方面,本申请实施例提供一种资源管理装置,该装置可以包括:处理器和通信接口,该处理器和该通信接口耦合,该处理器用于:通过该通信接口获取至少一个任务描述符中的每个任务描述符的资源需求信息,该资源需求信息用于指示该每个任务描述符在执行前申请的共享资源大小和/或类型;通过该通信接口获取该每个任务描述符在第一资源调整阶段内的统计信息,该统计信息用于指示该每个任务描述符分配的共享资源在该每个任务描述符执行时的使用情况,该每个任务描述符包括多个资源调整阶段,该多个资源调整阶段包括该第一资源调整阶段;基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,该多个资源调整阶段还包括该第二资源调整阶段,且该第二资源调整阶段为该第一资源调整阶段的下一个资源调整阶段。
在一种可能的实现方式中,该处理器具体用于基于该每个任务描述符的资源需求信息、该每个任务描述符在该第一资源调整阶段内的统计信息和该共享资源中的空闲资源,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
在一种可能的实现方式中,该处理器还用于在基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,获取资源分配策略;该处理器具体用于基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,采用该资源分配策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
在一种可能的实现方式中,该处理器还用于在获取该每个任务描述符在第一资源调整阶段内的统计信息之前,对该至少一个任务描述符在该第一资源调整阶段内的统计信息进行整合,得到整合统计信息;该处理器具体用于获取该整合统计信息;基于该每个任务描述符的资源需求信息和该整合统计信息,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
在一种可能的实现方式中,该处理器具体用于监测该每个任务描述符在该第一资源调整阶段内的执行过程,得到该每个任务描述符在该第一资源调整阶段内的统计信息。
在一种可能的实现方式中,该处理器还用于在获取该每个任务描述符在第一资源调整阶段内的统计信息之前,为该每个任务描述符分配该第一资源调整阶段内的共享资源。
在一种可能的实现方式中,该处理器还用于:在基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,通过该通信接口获取该每个任务描述符的资源调整节点,该每个任务描述符的资源调整节点用于确定每个任务描述符的每个资源调整阶段;该处理器具体用于基于该每个任务描述符的资源调整节点,确定该每个任务描述符的每个资源调整阶段。
在一种可能的实现方式中,该每个任务描述符包括资源调整节点信息,该资源调整节点信息用于指示该每个任务描述符的资源调整节点。
在一种可能的实现方式中,该处理器具体用于为该每个任务描述符配置资源调整节点信息,该资源调整节点信息用于指示该每个任务描述符的资源调整节点。
在一种可能的实现方式中,该资源调整节点包括以下各项中的任一项:该每个任务描述符执行的时长达到预设的时长阈值;或者,该每个任务描述符执行的指令数达到预设的指令数阈值;或者,该每个任务描述符执行到预设的目标指令处。
可选地,上述第三方面提供的资源管理装置可以为芯片装置。
第四方面,本申请实施例还提供一种资源管理装置,该资源管理装置用于实现上述第一方面或其任意可能的实现方式中所述的方法,该资源管理装置包括用于执行上述第一方面或其任一种可能的实现方式中所述的方法的单元。
第五方面,本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于实现上述第一方面或其任意可能的实现方式中所述的方法的指令。
第六方面,本申请实施例还提供一种计算机程序产品,该计算机程序产品中包含指令,当该指令在计算机或处理器上运行时,使得该计算机或该处理器实现上述第一方面或其任意可能的实现方式中所述的方法。
本申请实施例提供的资源管理装置、资源管理系统、计算机存储介质和计算机程序产品均用于执行上文所提供的资源管理方法,因此,其所能达到的有益效果可参考上文所提供的资源管理方法中的有益效果,此处不再赘述。
附图说明
图1是本申请实施例提供的支持QoS的多核资源共享的示意图;
图2示出了任务在程序生命周期的不同执行阶段的执行特征的示意图
图3是本申请实施例提供的资源管理系统100的示意性框图;
图4是本申请实施例提供的资源管理系统100的另一示意性框图;
图5是本申请实施例提供的资源管理方法200的示意性流程图;
图6是本申请实施例提供的资源管理方法300的示意性流程图;
图7是本申请实施例提供的资源管理方法400的示意性流程图;
图8是本申请实施例提供的资源管理方法的流程示意图;
图9是本申请实施例提供的资源管理装置500的示意性框图;
图10是本申请实施例提供的资源管理装置600的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
需要说明的是,在本申请中,“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
还需要说明的是,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a、b、c、“a和b”、“a和c”、“b和c”、或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
下面介绍一下本申请中涉及的部分专业术语。
1.请求者(Requestor,RQ)
请求者:用于发起任务,如中央处理器(central process unit,CPU)、中央处理器中的硬件线程(Hardware thread),ASIC等其他任何使用共享资源的硬件实体。本专利中指的任务
可选地,在本申请中,一个请求者可以发起一个任务或多个任务,不同任务可看做抢占共享资源的独立实体。
2.资源
资源:用于帮助请求者执行任务。需要说明的是,当多个任务在执行过程中共同分享同一资源时,这个被共同分享的资源称为共享资源。
可选地,本申请对资源(或共享资源)的种类和每种资源的数量均不做限定。
可选地,上述资源可以包括:加速器、物理寄存器、计算部件(Compute Units,CU)、带宽等中的一种或多种。
示例的,上述加速器可以包括专用领域加速器(domain specific accelerator,DSA)、图形处理器(graphics processing unit,GPU)、专用集成电路(applicationspecific integrated circuit,ASIC)等加速器中的一种或多种。
示例的,上述带宽可以包括读数据带宽(Load Bandwidth,LB)、写数据带宽(StoreBandwidth,SB)等带宽中的一种或多种。
3.支持服务质量(quality of service,QoS)的多核资源共享
示例的,以RQ1发起专用领域加速器任务(DSA Task,DT)1,RQ2发起DT2,DT1和DT2共享同一DSA资源为例,图1示出了本申请实施例提供的支持QoS的多核资源共享的示意图,各个RQ可以依据自身需求占用共享资源。如图1所示,RQ1占用50%的DSA资源,RQ2占用30%的DSA资源,剩余20%的DSA资源未被任何RQ占用,即剩余20%的DSA资源为空闲资源。
下面介绍一下现有技术中支持QoS的资源共享方法。
在一种现有技术中,在支持QoS的多核资源共享系统中,任务在执行前会向系统申请资源,系统基于程序的静态执行特征和片上资源总量决定为任务分配的资源大小,然而,由于任务在程序的不同执行阶段所表现出来的执行特征不同。
示例的,图2示出了任务在程序生命周期的不同执行阶段的执行特征的示意图。如图2所示,任务在程序生命周期的初期,执行特征表现为:读数据指令较多,QoS需求更多的读数据带宽资源;在程序生命周期的中期,执行特征表现为:计算指令增多,QoS需求更多的计算部件;在程序生命周期的末期,执行特征表现为:写数据指令增多,QoS需求更多的写数据带宽资源。
也就是说,同一个程序(或任务)在不同执行阶段,表现出来的资源需求不相同,但是程序在执行前基于静态的已知的执行特征申请的资源是固定的。
此外,在任务执行之前,无法动态感知程序在运行时的状态,系统也无法预测执行过程中与其他任务之间竞争共享资源的情况。这样,若该任务依据最大资源需求申请,则可以导致不同阶段的资源浪费(如初期浪费计算部件和写数据带宽资源);若不依据最大资源需求申请,则可能导致程序的性能瓶颈。因此,共享资源的利用率较低,从而程序性能较差。
在另一种现有技术中,在支持QoS的多核资源共享系统中,不同任务的共享资源由管理器(如进程管理器supervisor)管理,统一处理各任务之间的共享资源分配和竞争。
示例的,在每个任务执行前,管理器需要对程序在不同执行阶段的执行特征进行分析,以识别同一个程序在不同执行阶段的执行特征;依据程序在不同执行阶段的执行特征,将程序切分成若干子程序段,每一个子程序段前插入资源申请/更新代码;在程序运行时,当一个子程序段执行完毕后,下一个子程序段执行前,需要执行资源的重新申请/分配的流程,完成子程序段的资源更新,进而下一个子程序段的执行,可在新分配的资源上执行。此重新分配流程需要对程序进行重编译,且通讯时延开销交到,导致重分配过程中共享资源利用率较低,影响整体程序的执行性能。
由于在多核资源共享系统中,静态的执行特征分析无法感知共享资源上的动态运行时的信息,导致在多核竞争共享资源的情况下,无法达到最佳的资源分配比例,因此,共享资源的利用率较低,从而程序性能较差。此外,由于在程序在执行期间,每个子程序段在执行前都需要与管理器进行交互,以重新分配共享资源,通讯代价较高,也会导致程序性能较差。
基于上述现有技术中存在的问题,本申请实施例提供一种资源管理系统、方法和装置。可选地,该资源管理系统可以用于驾驶辅助、自动驾驶、终端、服务器端等涉及多核竞争共享资源的场景,本申请对此不做限定。
下面将进一步介绍本申请实施例提供的资源管理方法和装置所应用的资源管理系统,该资源管理系统支持QoS的多核资源共享。
图3示出了本申请实施例提供的资源管理系统100的示意性框图。如图3所示,该系统100可以包括:N个RQ(如图3中示出的RQ111、RQ112、……、RQ11N,N为大于0的整数)、资源管理装置120和至少一种共享资源(shared resource,SR)(如图3中示出的SR131、SR132、……、SR13M,M为大于0的整数)。该N个RQ可以发起K个任务,该K个任务共享每种SR,即该M个任务共享该SR131、SR132、……、SR13M,K为大于0的整数。
可选地,每种SR中还可以包括空闲资源,即空闲资源为每种SR中未被该K个任务占用的资源。
示例的,以该K个任务包括任务1和任务2,该任务1和任务2共享SR131为例,该任务1可以占用50%SR131,任务2可以占用50%SR131;或者,该任务1可以占用50%SR131,任务2可以占用30%SR131,SR131中除任务1和任务2占用的资源外剩余的资源为空闲资源,即该空闲资源可以占用20%SR131。
可选地,在本申请中一个RQ可以发起一个或多个任务,也即是,不同的任务可以是由同一个RQ发起的或是由不同的RQ发起的,本申请实施例对此不做限定。此外,只要这K个任务被发送至资源管理装置,就都被看做是独立的任务,在执行时都可以共享“共享资源”。
上述各RQ用于发起各自的任务,并将各自的任务对应的任务描述符(taskdescriptor TD)发送至该资源管理装置120。
需要说明的是,在本申请中“任务描述符”是“任务”的实体,也即是,“任务”也可被称为“任务描述符”。
上述资源管理装置120用于采用本申请实施例提供的资源管理方法(下文中详细介绍),基于各TD在当前资源调整阶段内(如图2中所示的在程序生命周期的初期、中期或末期)的执行特征,动态调整各TD在下一资源调整阶段内的共享资源的分配比例。
可选地,图4示出了本申请实施例提供的资源管理系统100的另一示意性框图。如图4所示,上述资源管理装置120可以包括任务池(Task Pool,TP)121、资源表(ResourceTable,RT)122、调度模块(Schedule Module,SM)123和资源监测模块(Resource MonitorModule,RMM)124。
上述TP121用于接收来自各RQ的TD、确保各TD的传输和存储的正确性,以及确保各TD没有丢失和被覆盖。
可选地,若当前共享资源中空闲资源的大小可以满足TD申请资源的大小,则该TP121将该TD发送至该RT122;反之,若当前共享资源中空闲资源的大小不能满足TD申请资源的大小,则该TD会继续缓存在该TP121中。
上述RT122用于记录正在执行的TD的静态信息和动态信息。
可选地,上述静态信息可以包括TD未执行之前就可以获知的信息。示例的,该静态信息可以包括申请资源的大小和/或类型、程序的代码块、执行边界条件、各个任务之间的依赖关系等信息中的一种或多种。
可选地,上述动态信息可以包括TD执行之后才可以获知的信息。示例的,该动态信息可以包括资源利用率、带宽利用率、关键事件发生的次数、资源平均占用率、缓存(cache)命中率、读写延迟(latency)等信息中的一种或多种。
上述SM123用于,基于该RT122中记录的当前资源调整阶段内每个正在执行的TD的静态信息和动态信息,调整每个TD下一个资源调整阶段内的共享资源分配比例。上述调度模块113还用于对各TD的每一个执行阶段打上标记。
需要说明的是,在本申请实施例中,相邻两个资源调整阶段之间通过资源调整节点分割,也就是说,任务描述符在执行过程中每满足一次资源调整节点,意味着该任务描述符即将进入下一个资源调整阶段,该SM123就需要动态地为该任务描述符重新分配共享资源占比。
可选地,该资源调整节点可以包括以下各项中的任一项:该每个任务描述符执行的时长达到预设的时长阈值;或者,该每个任务描述符执行的指令数达到预设的指令数阈值;或者,该每个任务描述符执行到预设的目标指令处。
可选地,该资源调整节点可以由软件(如编译器/程序员/操作系统)指定,将资源调整节点写入至任务描述符中;也可以由硬件(如SM123)指定,如RQ通过配置资源管理装置120,并由资源管理装置120中的SM123根据用户配置的信息,对每一个插入的TD中加入“资源调整节点”。上述软件或硬件均可识别资源调整节点,并触发该资源管理装置120对共享资源的分配比例进行调整。
上述RMM124用于监控各TD的资源的使用情况,并负责下发新的共享资源分配比例(即下一个资源调整阶段内每个正在执行的TD的共享资源分配比例)至各共享资源。
可选地,上述每种共享资源可以包括管理器(Manager)、资源(Resource)和性能监控单元(Performance Monitor Unit,PMU)。示例的,如图4所示,共享资源131可以包括管理器1311、资源1312和性能监控单元1313,共享资源132可以包括管理器1321、资源1322和性能监控单元1323,……,共享资源13N可以包括管理器13N1、资源13N2和性能监控单元13N3。
上述管理器用于管理共享资源中的资源分配,如该共享资源被哪个或哪些TD占用,占用的共享资源之间的路由关系等。
需要说明的是,在本申请中,每种共享资源中可以包括两类资源:一类称之为已申请资源,即TD发送至共享资源时,会标识执行该TD所需的共享资源大小(即该TD在执行前申请的共享资源大小),共享资源会为该TD预留所需的共享资源空间,随后该TD利用该预留的资源空间执行,这个预留的资源空间称为已申请资源;一类称之为未申请资源(或空闲资源),即共享资源中未被任何TD占用的资源空间。此外,PMU在TD的执行期间统计共享资源的使用情况,包括但不局限于TD已申请资源的资源利用率,共享资源中已申请/未申请的资源总量等。
上述PMU用于记录共享资源的使用情况,如关键事件计数器(counter)数,资源平均占用率等。上述性能监控单元还用于定期将共享资源的使用情况反馈至该RMM124。
需要说明的是,在本申请中,每种共享资源中可以包括两类资源:一类称之为已申请资源,即TD发送至共享资源时,会标识执行该TD所需的共享资源大小,共享资源会为该TD预留所需的共享资源空间,随后该TD利用该预留的资源空间执行,这个预留的资源空间称为已申请资源;一类称之为未申请资源(或空闲资源),即共享资源中未被任何TD占用的资源空间。此外,PMU在TD的执行期间统计共享资源的使用情况,包括但不局限于TD已申请资源的资源利用率,共享资源中已申请/未申请的资源总量等。
需要说明的是,在本申请中,“资源调整阶段”用于资源管理装置120调整任务描述符的共享资源的分配比例,该资源调整阶段可以由软件(如编译器/程序员/操作系统)指定,将用于指示资源调整阶段的“资源调整节点”写入至任务描述符中;也可以由硬件(如SM123)指定,如RQ通过配置资源管理装置120,并由资源管理装置120中的SM123根据用户配置的信息,对每一个插入的TD中加入“资源调整阶段节点”。上述软件或硬件均可识别资源调整节点,并触发该资源管理装置120调整任务描述符的共享资源的分配比例。
采用本申请实施例提供的资源管理方法,通过资源管理装置基于多个TD的静态信息和动态信息,动态调整各TD的共享资源的分配比例,将系统中的空闲资源和/或利用率较低的共享资源,交付给需求更高的TD使用,能够提高共享资源的利用率。
图5示出了本申请实施例提供的资源管理方法200的示意性流程图,如图5所示,该方法200可以应用于上述系统100。如图5所示,该方法200可以包括S201~S203,需要说明的是,以下所列步骤可以以各种顺序执行和/或同时发生,不限于图5所示的执行顺序。
S201.调度模块获取至少一个任务描述符中的每个任务描述符的资源需求信息,该资源需求信息用于指示该每个任务描述符在执行前申请的共享资源大小和/或类型。
需要说明的是,上文中所述的静态信息包括该资源需求信息。
S202.该调度模块获取该每个任务描述符在第一资源调整阶段内的统计信息,该统计信息用于指示该每个任务描述符分配的共享资源在该每个任务描述符执行时的使用情况,该每个任务描述符包括多个资源调整阶段,该多个资源调整阶段包括该第一资源调整阶段。
可选地,该统计信息可以包括该共享资源的利用率、关键事件发生的次数、缓存(cache)命中率、读写延迟(latency)等信息中的一项或多项,本申请实施例对此不做限定。
可选地,上述统计信息的种类可以为固化的硬件、或可以通过软件配置,本申请对此不做限定。
需要说明的是,上文中所述的动态信息包括该统计信息。该共享资源中的空闲资源包括该共享资源中未被任何任务描述符占用的资源。
S203.该调度模块基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,该多个资源调整阶段还包括该第二资源调整阶段,且该第二资源调整阶段为该第一资源调整阶段的下一个资源调整阶段。
可选地,该调度模块还可以结合其他静态信息和/或其他动态信息,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例,本申请实施例对此不做限定。
采用本申请实施例提供的资源管理方法,调度模块基于每个任务描述符的资源需求信息(即静态信息)和该每个任务描述符在第一资源调整阶段内的统计信息(即动态信息),对该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例进行自适应快速调整,能够提高共享资源的利用率。
可选地,S203可以包括:该调度模块基于该每个任务描述符的资源需求信息、该每个任务描述符在该第一资源调整阶段内的统计信息和该共享资源中的空闲资源,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
采用本申请实施例提供的资源管理方法,调度模块结合每个任务描述符的资源需求信息、该每个任务描述符在该第一资源调整阶段内的统计信息和该共享资源中的空闲资源,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例,能够将系统中的空闲资源和/或利用率较低的共享资源,交付给需求更高的任务描述符使用,从而提高共享资源的利用率。
可选地,在S203之前,该方法200还包括:该调度模块获取该每个任务描述符在该第一资源调整阶段内的统计信息。
在一种可能的实现方式中,性能监控单元可以监测该每个任务描述符在该第一资源调整阶段内的执行过程,得到该每个任务描述符在该第一资源调整阶段内的统计信息;向该调度模块发送该每个任务描述符在该第一资源调整阶段内的统计信息。也就是说,该调度模块可以从该性能监控单元处获取该每个任务描述符在该第一资源调整阶段内的统计信息。
可选地,该调度模块可以主动从该性能监控单元处读取该每个任务描述符在该第一资源调整阶段内的统计信息,或者,该调度模块可以被动接收该性能监控单元上报的该每个任务描述符在该第一资源调整阶段内的统计信息,本申请实施例对此不做限定。
可选地,在S203之前,该方法200还包括:性能监控单元监测该每个任务描述符在该第一资源调整阶段内的统计信息;向资源监测模块发送该每个任务描述符在该第一资源调整阶段内的统计信息。该资源监测模块对该至少一个任务描述符中的每个任务描述符在该第一资源调整阶段内的统计信息进行整合,得到整合统计信息;向该调度模块发送该整合统计信息。
相应地,S203可以包括:该调度模块基于该每个任务描述符的资源需求信息和该整合统计信息,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
可选地,该调度模块还可以基于该每个任务描述符的资源需求信息、该整合统计信息和该共享资源中的空闲资源,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
可选地,本申请实施例对上述整合操作的具体内容不做限定。
示例的,整合操作可以仅对该至少一个任务描述符中的每个任务描述符在该第一资源调整阶段内的统计信息进行整理,或者,整合操作可以对该至少一个任务描述符中的每个任务描述符在该第一资源调整阶段内的统计信息进行综合计算,得到相应的计算结果。
采用本申请实施例提供的资源管理方法,调度模块结合每个任务描述符的资源需求信息、整合统计信息和共享资源中的空闲资源,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,由于整合统计信息是对所有任务描述符的统计信息进行了进一步整合,可以提取更多基于全局特征的动态信息,因此,基于这样的整合统计信息调整共享资源的分配,能够提高共享资源的利用率。
可选地,S203可以包括:该调度模块基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息(以及该共享资源中的空闲资源),采用资源分配策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
可选地,该调度模块可以采用多种资源分配策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例,本申请实施例对此不做限定。
在一种可能的实现方式中,该调度模块可以采用阈值策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
示例的,当某个任务描述符的已申请的资源的利用率高于预设的利用率阈值(如80%)时,认为该任务描述符对应的任务处于繁忙(Busy)状态,则该调度模块需要为其分配更多的资源(如多分配25%的对应资源)。
在另一种可能的实现方式中,该调度模块可以采用优先级策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
示例的,各任务描述符配置有各自的优先级,该调度模块可以优先为优先级高的任务描述符对应的任务分配资源。
在又一种可能的实现方式中,该调度模块可以采用启发式策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
示例的,该调度模块可以基于动态信息和静态信息设置评价函数,并基于该评价函数调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
在又一种可能的实现方式中,该调度模块可以采用人工智能策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
示例的,该调度模块可以通过资源调整模型对各任务描述符的共享资源的分配比例进行调整,该资源调整模型是基于各任务描述符的动态信息和空闲资源中的至少一项、静态信息和神经网络训练得到的。
可选地,在该调度模块基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息(以及该共享资源中的空闲资源),采用资源分配策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例之前,该方法200还包括:该调度模块获取该资源分配策略。
可选地,该调度模块可以通过多种方式获取该资源分配策略,本申请实施例对此不做限定。
可选地,上述资源分配策略可以为固化的硬件、或可以通过软件配置,本申请实施例对此不做限定。
采用本申请实施例提供的资源管理方法,在不同的应用场景下可以采用不同的资源分配策略,调整每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,能够提高共享资源分配的灵活性。
可选地,在S202之前,该方法200还包括:该调度模块确定该每个任务描述符在第一资源调整阶段内的共享资源占比,通过资源监测模块向管理器发送资源分配信息,该资源分配信息用于指示该每个任务描述符在第一资源调整阶段内的共享资源占比;相应地,该管理器为该每个任务描述符基于该资源分配信息,为该每个任务描述符分配该第一资源调整阶段内的共享资源。
可选地,在S203之前,该方法200还包括:该调度模块获取该每个任务描述符的资源调整节点,该每个任务描述符的资源调整节点用于确定每个任务描述符的每个资源调整阶段;该调度模块基于该每个任务描述符的资源调整节点,确定该每个任务描述符的每个资源调整阶段。
采用本申请实施例提供的资源管理方法,可以通过资源调整节点配置资源调整阶段,能够根据实际需求灵活配置资源调整阶段。
可选地,该资源调整节点可以包括以下各项中的任一项:该每个任务描述符执行的时长达到预设的时长阈值;或者,该每个任务描述符执行的指令数达到预设的指令数阈值;或者,该每个任务描述符执行到预设的目标指令处。
也就是说,每当任务描述符满足上述资源调整节点,则触发任务描述符进入下一个资源调整阶段,调度模块需要为该任务描述符在下一个资源调整阶段重新分配的更新后的共享资源占比。
可选地,该资源调整节点可以为固化的硬件、或可以通过软件配置,本申请实施例对此不做限定。
示例的,该资源调整节点通过软件配置时,该每个任务描述符包括资源调整节点信息,该资源调整节点信息用于指示该每个任务描述符的资源调整节点。
示例的,该资源调整节点为固化的硬件时,该调度模块可以为该每个任务描述符配置资源调整节点信息,该资源调整节点信息用于指示该每个任务描述符的资源调整节点。
图6示出了本申请实施例提供的资源管理方法300的示意性流程图,如图6所示,该方法300可以应用于上述系统100。如图6所示,该方法300可以包括S301~S318,需要说明的是,以下所列步骤可以以各种顺序执行和/或同时发生,不限于图6所示的执行顺序。
需要说明的是,下面仅以一个请求者发起的一个任务描述符为例对该方法300进行介绍,但本申请实施例不限于此。
S301.请求者向资源管理装置中的任务池发送任务描述符,该任务描述符包括资源需求信息,该资源需求信息用于指示该任务描述符在执行前申请的共享资源大小和/或类型。
S302.该任务池向资源表发送该资源需求信息。相应地,该资源表接收来自该任务池的该资源需求信息。
S303.该资源表基于该资源需求信息,判断该共享资源中的空闲资源大小是否满足该任务描述符申请的资源大小。
S304.若该资源表确定该空闲资源大小满足该任务描述符申请的资源大小,该资源表向该任务池发送第一资源反馈信息,该第一资源反馈信息用于指示该空闲资源大小满足该任务描述符申请的资源大小。相应地,该任务池接收来自该资源表的该第一资源反馈信息。
可选地,若该资源表确定该空闲资源大小不满足该任务描述符申请的资源大小,该资源表向该任务池发送第二资源反馈信息,该第二资源反馈信息用于指示该空闲资源大小不满足该任务描述符申请的资源大小。相应地,该任务池接收来自该资源表的该第二资源反馈信息。并等待该任务池下一次发送资源需求信息。
S305.该任务池基于该第一资源反馈信息,通过该资源表向调度模块发送该任务描述符。相应地,该调度模块接收该任务池通过该资源表发送的该任务描述符。
S306.该调度模块确定该任务描述符的资源调整节点,该资源调整节点用于确定该任务描述符的多个资源调整阶段。
可选地,该调度模块可以通过多种方式确定该资源调整节点,本申请实施例对此不做限定。
在一种可能的实现方式中,该任务描述符可以包括该资源调整节点,该调度模块可以基于该任务描述符确定该资源调整节点。
在另一种可能的实现方式中,该调度模块可以为该任务描述符配置该资源调整节点。
S307.该调度模块基于该资源调整节点,确定当该任务描述符即将执行该多个资源调整阶段中的第一资源调整阶段。
S308.该调度模块基于该资源需求信息该共享资源中的空闲资源,确定该任务描述符在该第一资源调整阶段中的共享资源占比。
示例的,上述第一资源调整阶段可以为该任务描述符包括的多个资源调整阶段中的首个资源调整阶段。
S309.该调度模块通过资源监测模块向管理器发送第一资源分配信息,该第一资源分配信息用于指示该任务描述符在该第一资源调整阶段中的共享资源占比。相应地,该共享资源接收来自该调度模块的该第一资源分配信息。
S310.该管理器基于该第一资源分配信息,为该任务描述符分配该共享资源中的第一子资源。
相应地,该任务描述符基于该第一子资源进行执行。
S311.性能监控单元监测该第一任务描述符在该第一资源调整阶段内的统计信息。
S312.当该性能监控单元基于该资源调整节点,确定该第一资源调整阶段结束时,该性能监控单元向资源监测模块发送该任务描述符的统计信息。相应地,该资源监测模块接收来自该性能监控单元的该任务描述符的统计信息。
S313.该资源监测模块对该任务描述符的统计信息进行整合,得到整合统计信息。
S314.该资源监测模块向该资源表发送该整合统计信息。相应地,该资源表接收来自该资源监测模块的该整合统计信息。
S315.该资源表保存该整合统计信息。
S316.该资源表向该调度模块发送该整合统计信息。相应地,该调度模块接收来自该资源表的该整合统计信息。
S317.该调度模块确定当该任务描述符即将执行该多个资源调整阶段中的第二资源调整阶段,该第二资源调整阶段为该第一资源调整阶段的下一个资源调整阶段。
S318.该调度模块基于该资源需求信息、该整合统计信息和该共享资源中的空闲资源,调整该任务描述符在该第二资源调整阶段内的共享资源分配比例。
需要说明的是,上述方法300仅以调整一个任务描述符在多个资源调整阶段中的每个资源调整阶段的共享资源分配比例为例进行介绍,但本申请不限于此。该方法300同样适用于调整多个任务描述符在多个资源调整阶段中的每个资源调整阶段的共享资源分配比例。
还需要说明的是,上述方法300中未详细说明的内容可以参考上述系统100和上述方法200中相应部分的说明。
图7示出了本申请实施例提供的资源管理方法400的示意性流程图,如图7所示,该方法400可以应用于上述系统100。如图7所示,该方法400可以包括S401~S409,需要说明的是,以下所列步骤可以以各种顺序执行和/或同时发生,不限于图7所示的执行顺序。
S401.初始化资源管理装置,资源管理装置识别资源管理系统中的请求者数量和共享资源种类。
S402.等待触发该资源管理装置执行的周期性/事件条件。
需要说明的是,上述周期性条件指任务执行到资源调整节点处,触发该资源管理装置。上述事件条件是指有新的任务描述符插入到资源管理装置中,触发该资源管理装置。
S403.当周期性/事件触发该资源管理装置执行时,任务池判断是否存在未执行的任务对应的任务描述符。若不存在,则继续执行S404;若存在,则继续执行S408。
S404.调度模块判断是否需要对正在执行的任务描述符的共享资源进行重分配。若不需要,则继续执行S405;若需要,则继续执行S406。
S405.该调度模块确定下一个资源调整阶段中正在执行的任务描述符的资源分配比例与当前资源调整阶段中该任务描述符的资源分配比例相同。
S406.该调度模块基于资源表中存储的当前资源调整阶段中正在执行的任务描述符已申请资源的情况和该任务描述符已申请资源的使用情况,确定下一个资源调整阶段中该任务描述符的资源分配比例。
可选地,上述步骤S406可以包括以下步骤:S4061~S4066。
S4061.该资源表获取各共享资源中已被申请但未分配的资源大小R。
S4062.该资源表获取各共享资源中未被申请的资源大小F。
S4063.该资源表获取各共享资源的利用率U。
S4064.该调度模块基于上述R、F、U,确定下一个资源调整阶段中各任务描述符的共享资源的分配比例。
可选地,该调度模块可以基于各共享资源对应的任务描述符执行的动态信息(如资源利用率、未申请资源数等)和各任务描述符的静态信息(如优先级、默认申请的资源大小),采用分配策略,对共享资源进行重分配,也可以将共享资源中各任务描述符的统计信息进行整合后,上报至监控器/操作系统等。
S407.该调度模块通过资源监测模块向共享资源发送各任务描述符的资源配置信息,该任务描述符的资源配置信息用于指示下一个资源调整阶段各任务描述符的共享资源占比。
S408.任务池判断共享资源中是否存在足够大小的资源可供任务描述符执行。若不存在,则继续执行S402,即将该任务描述符挂起,等下一资源调整被周期性/事件触发;若存在,则继续执行S409。
S409.任务池将该任务描述符取出,将该任务描述符已申请资源的情况更新至资源表,并将该任务描述符发送至共享资源中执行。
下面将以TD1和TD2共享DSA,该DSA中可配置的资源为读数据带宽、计算部件和写数据带宽为例,对本申请实施例提供的资源管理方法进行介绍。
图8示出了本申请实施例提供的资源管理方法的流程示意图,如图8所示,该流程可以包括以下步骤。
需要说明的是,考虑到TD1和TD2共享DSA,本申请实施例中仅以TD1和TD2初始申请DSA中50%读数据带宽(LB)、50%计算部件(CU)和50%写数据带宽(SB)为例进行介绍,但本申请不限于此。此外,本申请实施例中仅以阈值策略为例调整TD1和TD2的资源分配比例,也即是当检测到TD1或TD2在执行时某种共享资源的利用率高于90%时,则会为其多分配25%的片上资源。
在第一阶段(如图8中的(1)所示):只有TD1占用DSA。该TD1执行到程序生命周期的初期,QoS需求更高的读数据带宽资源。当TD1的读数据带宽的利用率高于90%且当前DSA中有空闲的读数据带宽时,基于阈值策略,资源管理装置为TD1额外分配25%的读数据带宽。因此,共享资源中TD1占用75%读数据带宽、50%计算部件和50%写数据带宽,此外,共享资源中剩余的25%读数据带宽、50%计算部件和50%写数据带宽为空闲资源。
在第二阶段(如图8中的(2)所示),只有TD1占用DSA。该TD1执行到程序生命周期的中期,QoS需求更高的计算部件资源。资源管理装置将TD1在第一阶段中多分配的25%读数据带宽进行回收。当TD1的计算部件的利用率高于90%且当前DSA中有空闲的计算部件时,基于阈值策略,资源管理装置为TD1额外分配25%计算部件。因此,共享资源中TD1占用50%读数据带宽、75%计算部件和50%写数据带宽,此外,共享资源中剩余的50%读数据带宽、25%计算部件和50%写数据带宽为空闲资源。
在第三阶段(如图8中的(3)所示),TD1和TD2共享DSA。该TD1执行到程序生命周期的中期,QoS需求更高的计算部件资源;该TD2执行到程序生命周期的初期,QoS需求更高的读数据带宽资源。资源管理装置将TD1中已申请未分配的25%读数据带宽进行回收,并分配给TD2使用,将TD2中已申请未分配的25%计算部件进行回收,并分配给TD1使用。因此,共享资源中TD1占用25%读数据带宽、75%计算部件和50%写数据带宽,此外,TD2占用75%读数据带宽、25%计算部件和50%写数据带宽。
在第四阶段(如图8中的(4)所示),TD1和TD2共享DSA。该TD1执行到程序生命周期的末期,QoS需求更高的写数据带宽资源;该TD2执行到程序生命周期的初期,QoS需求更高的读数据带宽资源。资源管理装置将第三阶段中TD1额外分配的25%计算部件回收,并分配给TD2使用,将TD2中已申请未分配的25%写数据带宽回收,并分配给TD1使用。因此,共享资源中TD1占用25%读数据带宽、50%的计算部件和75%写数据带宽,此外,TD2占用75%读数据带宽、50%计算部件和25%写数据带宽。
在第五阶段(如图8中的(5)所示),只有TD2占用DSA。该TD2执行到程序生命周期的中期,QoS需求更高的计算部件资源。当TD2的计算部件的利用率高于90%且当前DSA中有空闲的计算部件时,基于阈值策略,该资源管理装置为TD2额外分配25%计算部件。因此,共享资源中TD2占用50%读数据带宽、75%计算部件和50%写数据带宽,此外,共享资源中50%读数据带宽、25%计算部件和50%写数据带宽为空闲资源。
在第六阶段(如图8中的(6)所示),只有TD2占用DSA。该TD2执行到程序生命周期的末期,QoS需求更高的写数据带宽资源。资源管理装置将TD2在第五阶段中多分配的25%计算部件进行回收。当TD2的写数据带宽的利用率高于90%且当前DSA中有空闲的写数据带宽时,基于阈值策略,该资源管理装置为TD2额外分配25%写数据带宽。因此,共享资源中TD2占用50%读数据带宽、50%计算部件和75%写数据带宽,此外,共享资源中剩余的50%读数据带宽、25%计算部件和50%写数据带宽为空闲资源。
采用本申请实施例提供的资源管理方法,通过资源管理装置基于多个TD的静态信息和动态信息,动态调整各TD的共享资源占比,将系统中的空闲资源和/或利用率较低的共享资源,交付给需求更高的TD使用,能够提高共享资源的利用率。
上面结合图5至图8介绍了本申请实施例提供的资源管理方法,下面将进一步介绍用于执行上述各方法实施例的资源管理装置。
图9示出了本申请实施例提供的资源管理装置500的示意性框图。如图9所示,该装置500可以包括处理单元501和通信单元502。
可选地,该装置500可以用于上述系统100,进一步地,该装置500可以为上述系统100中的资源管理装置120,如该装置500可以为由资源管理装置120上的处理器或控制器执行的软件形成的虚拟装置。
该通信单元502用于获取至少一个任务描述符中的每个任务描述符的资源需求信息,该资源需求信息用于指示该每个任务描述符在执行前申请的共享资源大小和/或类型;获取该每个任务描述符在第一资源调整阶段内的统计信息,该统计信息用于指示该每个任务描述符分配的共享资源在该每个任务描述符执行时的使用情况,该每个任务描述符包括多个资源调整阶段,该多个资源调整阶段包括该第一资源调整阶段。
该处理单元501用于基于该通信单元502获取的该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,该多个资源调整阶段还包括该第二资源调整阶段,且该第二资源调整阶段为该第一资源调整阶段的下一个资源调整阶段。
在一种可能的实现方式中,该处理单元501具体用于基于该每个任务描述符的资源需求信息、该每个任务描述符在该第一资源调整阶段内的统计信息和该共享资源中的空闲资源,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
在一种可能的实现方式中,该通信单元502还用于在该处理单元501基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,获取资源分配策略;该处理单元501具体用于基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,采用该资源分配策略,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
在一种可能的实现方式中,该处理单元501还用于在该通信单元502获取该每个任务描述符在第一资源调整阶段内的统计信息之前,对该至少一个任务描述符在该第一资源调整阶段内的统计信息进行整合,得到整合统计信息;该通信单元502具体用于获取该整合统计信息;该处理单元501具体用于基于该每个任务描述符的资源需求信息和该整合统计信息,调整该每个任务描述符在该第二资源调整阶段内执行时共享资源的分配比例。
在一种可能的实现方式中,该装置500还可以包括监测单元503,该监测单元503用于在该通信单元502获取该每个任务描述符在第一资源调整阶段内的统计信息之前,监测该每个任务描述符在该第一资源调整阶段内的执行过程,得到该每个任务描述符在该第一资源调整阶段内的统计信息;该通信单元502具体用于接收来自该监测单元503的该每个任务描述符在该第一资源调整阶段内的统计信息。
在一种可能的实现方式中,该装置500还可以包括管理单元504,该管理单元504用于在该通信单元502获取该每个任务描述符在第一资源调整阶段内的统计信息之前,为该每个任务描述符分配该第一资源调整阶段内的共享资源。
在一种可能的实现方式中,该通信单元502还用于在该处理单元501基于该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,获取该每个任务描述符的资源调整节点,该每个任务描述符的资源调整节点用于确定每个任务描述符的每个资源调整阶段;该处理单元501还用于基于该每个任务描述符的资源调整节点,确定该每个任务描述符的每个资源调整阶段。
在一种可能的实现方式中,该每个任务描述符包括资源调整节点信息,该资源调整节点信息用于指示该每个任务描述符的资源调整节点。
在一种可能的实现方式中,该处理单元501还用于为该每个任务描述符配置资源调整节点信息,该资源调整节点信息用于指示该每个任务描述符的资源调整节点。
在一种可能的实现方式中,该资源调整节点包括以下各项中的任一项:该每个任务描述符执行的时长达到预设的时长阈值;或者,该每个任务描述符执行的指令数达到预设的指令数阈值;或者,该每个任务描述符执行到预设的目标指令处。
需要说明的是,上述单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。在一个可选例子中,该装置500可以用于执行上述方法200或方法300或400实施例中与资源管理装置对应的各个流程和/或步骤,为避免重复,在此不再赘述。
图9所示实施例中的各个模块中的一个或多个可以通过软件、硬件、固件或其结合实现。该软件或固件包括但不限于计算机程序指令或代码,并可以被硬件处理器所执行。该硬件包括但不限于各类集成电路,如中央处理单元(CPU,Central Processing Unit)、数字信号处理器(DSP,Digital Signal Processor)、现场可编程门阵列(FPGA,FieldProgrammable Gate Array)或专用集成电路(ASIC,Application Specific IntegratedCircuit)。
请参见图10,图10示出了本申请实施例提供的资源管理装置600的示意性框图,该装置600可以包括处理器601和通信接口602,该处理器601和该通信接口602耦合。
在一个可选例子中,本领域技术人员可以理解,该装置600可以具体为上述方法实施例中或上述系统100中的资源管理装置,该装置600可以为该装置500的实体硬件结构。该装置600可以用于执行上述方法200或方法300或400实施例中与资源管理装置对应的各个流程和/或步骤,为避免重复,在此不再赘述。
该通信接口602用于向该处理器601输入数据(如每个任务描述符的资源需求信息以及每个任务描述符在第一资源调整阶段内的统计信息)和/或从该处理器601输出数据(如用于指示下一个资源调整阶段各任务描述符的共享资源占比的资源配置信息);该处理器601用于运行计算机程序或指令,以使该资源管理装置600实现上述方法200或方法300或400实施例所描述的方法。
本申请实施例中的处理器601包括但不限于中央处理单元(Central ProcessingUnit,CPU)、通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)、分立门或者晶体管逻辑器件或分立硬件组件等。通用处理器可以是微处理器、微控制器或者是任何常规的处理器等。
例如,该处理器601用于基于通过该通信接口602获取的该每个任务描述符的资源需求信息和该每个任务描述符在该第一资源调整阶段内的统计信息,调整该每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,该多个资源调整阶段还包括该第二资源调整阶段,且该第二资源调整阶段为该第一资源调整阶段的下一个资源调整阶段。
可选地,该资源管理装置600还可以包括存储器603。
该存储器603可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。
具体地,该存储器603用于存储该资源管理装置600的程序代码和指令。可选地,该存储器603还用于存储该处理器601执行上述方法200或方法300或方法400实施例过程中获得的数据,如每个任务描述符的资源需求信息以及每个任务描述符在第一资源调整阶段内的统计信息。
可选地,存储器603可以为单独的器件或集成在处理器601中。
需要说明的是,图10仅仅示出了资源管理装置600的简化设计。在实际应用中,该资源管理装置600还可以分别包含必要的其他元件,包含但不限于任意数量的通信接口、处理器、控制器、存储器等,而所有可以实现本申请的资源管理装置600都在本申请的保护范围之内。
在一种可能的设计中,该资源管理装置600可以为芯片装置。可选地,该芯片装置还可以包括一个或多个存储器,用于存储计算机执行指令,当该芯片装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片装置执行上述资源管理方法。
可选地,该芯片装置可以为实现相关功能的现场可编程门阵列,专用集成芯片,系统芯片,中央处理器,网络处理器,数字信号处理电路,微控制器,还可以采用可编程控制器或其他集成芯片。
在一种可能的设计中,本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于实现上述方法200或方法300或方法400中所述的资源管理方法的指令。
在一种可能的设计中,本申请实施例还提供一种计算机程序产品,该计算机程序产品中包含指令,当该指令在计算机或处理器上运行时,使得该计算机或该处理器实现上述方法200或方法300或方法400中所述的资源管理方法。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (22)
1.一种资源管理方法,其特征在于,包括:
获取至少一个任务描述符中的每个任务描述符的资源需求信息,所述资源需求信息用于指示所述每个任务描述符在执行前申请的共享资源大小和/或类型;
获取所述每个任务描述符在第一资源调整阶段内的统计信息,所述统计信息用于指示所述每个任务描述符分配的共享资源在所述每个任务描述符执行时的使用情况,所述每个任务描述符包括多个资源调整阶段,所述多个资源调整阶段包括所述第一资源调整阶段;
基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,调整所述每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,所述多个资源调整阶段还包括所述第二资源调整阶段,且所述第二资源调整阶段为所述第一资源调整阶段的下一个资源调整阶段。
2.根据权利要求1所述的方法,其特征在于,所述基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,调整所述每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,包括:
基于所述每个任务描述符的资源需求信息、所述每个任务描述符在所述第一资源调整阶段内的统计信息和所述共享资源中的空闲资源,调整所述每个任务描述符在所述第二资源调整阶段内执行时共享资源的分配比例。
3.根据权利要求1所述的方法,其特征在于,在所述基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,调整所述每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,所述方法还包括:
获取资源分配策略;
所述基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,调整所述每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,包括:
基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,采用所述资源分配策略,调整所述每个任务描述符在所述第二资源调整阶段内执行时共享资源的分配比例。
4.根据权利要求1-3中任一项所述的方法,其特征在于,在所述获取所述每个任务描述符在第一资源调整阶段内的统计信息之前,所述方法还包括:
对所述至少一个任务描述符在所述第一资源调整阶段内的统计信息进行整合,得到整合统计信息;
所述获取所述每个任务描述符在第一资源调整阶段内的统计信息,包括:
获取所述整合统计信息;
所述基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,调整所述每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,包括:
基于所述每个任务描述符的资源需求信息和所述整合统计信息,调整所述每个任务描述符在所述第二资源调整阶段内执行时共享资源的分配比例。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述获取所述每个任务描述符在第一资源调整阶段内的统计信息,包括:
监测所述每个任务描述符在所述第一资源调整阶段内的执行过程,得到所述每个任务描述符在所述第一资源调整阶段内的统计信息。
6.根据权利要求1-5中任一项所述的方法,其特征在于,在所述获取所述每个任务描述符在第一资源调整阶段内的统计信息之前,所述方法还包括:
为所述每个任务描述符分配所述第一资源调整阶段内的共享资源。
7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,调整所述每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,所述方法还包括:
获取所述每个任务描述符的资源调整节点,所述每个任务描述符的资源调整节点用于确定每个任务描述符的每个资源调整阶段;
基于所述每个任务描述符的资源调整节点,确定所述每个任务描述符的每个资源调整阶段。
8.根据权利要求7所述的方法,其特征在于,所述每个任务描述符包括资源调整节点信息,所述资源调整节点信息用于指示所述每个任务描述符的资源调整节点。
9.根据权利要求7所述的方法,其特征在于,所述获取所述每个任务描述符的资源调整节点,包括:
为所述每个任务描述符配置资源调整节点信息,所述资源调整节点信息用于指示所述每个任务描述符的资源调整节点。
10.根据权利要求7-9中任一项所述的方法,其特征在于,所述资源调整节点包括以下各项中的任一项:
所述每个任务描述符执行的时长达到预设的时长阈值;或者,
所述每个任务描述符执行的指令数达到预设的指令数阈值;或者,
所述每个任务描述符执行到预设的目标指令处。
11.一种资源管理系统,其特征在于,包括:调度模块,所述调度模块用于:
获取至少一个任务描述符中的每个任务描述符的资源需求信息,所述资源需求信息用于指示所述每个任务描述符在执行前申请的共享资源大小和/或类型;
获取所述每个任务描述符在第一资源调整阶段内的统计信息,所述统计信息用于指示所述每个任务描述符分配的共享资源在所述每个任务描述符执行时的使用情况,所述每个任务描述符包括多个资源调整阶段,所述多个资源调整阶段包括所述第一资源调整阶段;
基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,调整所述每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例,所述多个资源调整阶段还包括所述第二资源调整阶段,且所述第二资源调整阶段为所述第一资源调整阶段的下一个资源调整阶段。
12.根据权利要求11所述的系统,其特征在于,所述调度模块具体用于:
基于所述每个任务描述符的资源需求信息、所述每个任务描述符在所述第一资源调整阶段内的统计信息和所述共享资源中的空闲资源,调整所述每个任务描述符在所述第二资源调整阶段内执行时共享资源的分配比例。
13.根据权利要求11所述的系统,其特征在于,
所述调度模块还用于在基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,调整所述每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,获取资源分配策略;
所述调度模块具体用于基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,采用所述资源分配策略,调整所述每个任务描述符在所述第二资源调整阶段内执行时共享资源的分配比例。
14.根据权利要求11-13中任一项所述的系统,其特征在于,所述系统还包括:资源监测模块,
所述资源监测模块用于在所述调度模块获取所述每个任务描述符在第一资源调整阶段内的统计信息之前,对所述至少一个任务描述符在所述第一资源调整阶段内的统计信息进行整合,得到整合统计信息;
所述调度模块具体用于获取所述整合统计信息;基于所述每个任务描述符的资源需求信息和所述整合统计信息,调整所述每个任务描述符在所述第二资源调整阶段内执行时共享资源的分配比例。
15.根据权利要求11-14中任一项所述的系统,其特征在于,所述系统还包括:性能监控单元,
所述性能监控单元用于监测所述每个任务描述符在所述第一资源调整阶段内的执行过程,得到所述每个任务描述符在所述第一资源调整阶段内的统计信息;
所述调度模块用于接收来自所述性能监控单元的所述每个任务描述符在所述第一资源调整阶段内的统计信息。
16.根据权利要求11-15中任一项所述的系统,其特征在于,所述系统还包括:管理器,
所述管理器用于在所述调度模块获取所述每个任务描述符在第一资源调整阶段内的统计信息之前,为所述每个任务描述符分配所述第一资源调整阶段内的共享资源。
17.根据权利要求11-16中任一项所述的系统,其特征在于,所述调度模块还用于:
在基于所述每个任务描述符的资源需求信息和所述每个任务描述符在所述第一资源调整阶段内的统计信息,调整所述每个任务描述符在第二资源调整阶段内执行时共享资源的分配比例之前,获取所述每个任务描述符的资源调整节点,所述每个任务描述符的资源调整节点用于确定每个任务描述符的每个资源调整阶段;
基于所述每个任务描述符的资源调整节点,确定所述每个任务描述符的每个资源调整阶段。
18.根据权利要求17所述的系统,其特征在于,所述每个任务描述符包括资源调整节点信息,所述资源调整节点信息用于指示所述每个任务描述符的资源调整节点。
19.根据权利要求17所述的系统,其特征在于,所述调度模块具体用于:
为所述每个任务描述符配置资源调整节点信息,所述资源调整节点信息用于指示所述每个任务描述符的资源调整节点。
20.根据权利要求17-19中任一项所述的系统,其特征在于,所述资源调整节点包括以下各项中的任一项:
所述每个任务描述符执行的时长达到预设的时长阈值;或者,
所述每个任务描述符执行的指令数达到预设的指令数阈值;或者,
所述每个任务描述符执行到预设的目标指令处。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被至少一个处理器执行时用于实现如权利要求1-10中任一项所述的方法。
22.一种计算机程序产品,其特征在于,当所述计算机程序产品被至少一个处理器执行时用于实现如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211515337.7A CN118113449A (zh) | 2022-11-30 | 2022-11-30 | 一种资源管理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211515337.7A CN118113449A (zh) | 2022-11-30 | 2022-11-30 | 一种资源管理方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118113449A true CN118113449A (zh) | 2024-05-31 |
Family
ID=91217596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211515337.7A Pending CN118113449A (zh) | 2022-11-30 | 2022-11-30 | 一种资源管理方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118113449A (zh) |
-
2022
- 2022-11-30 CN CN202211515337.7A patent/CN118113449A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101553649B1 (ko) | 멀티 코어 장치 및 멀티 코어 장치의 작업 스케줄링 방법 | |
CN109936604B (zh) | 一种资源调度方法、装置和系统 | |
US10191771B2 (en) | System and method for resource management | |
EP2538340B1 (en) | Shared resource arbitration | |
US8190795B2 (en) | Memory buffer allocation device and computer readable medium having stored thereon memory buffer allocation program | |
CN107515786B (zh) | 资源分配方法、主装置、从装置和分布式计算系统 | |
CN107480078B (zh) | 一种总线带宽分配方法、装置及芯片 | |
Yoon et al. | Optimizing tunable WCET with shared resource allocation and arbitration in hard real-time multicore systems | |
CN109564528B (zh) | 分布式计算中计算资源分配的系统和方法 | |
DE102006019839A1 (de) | Zeitbewusste Systeme | |
CN111104208B (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
US9507633B2 (en) | Scheduling method and system | |
CN117170882B (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
US20220195434A1 (en) | Oversubscription scheduling | |
CN114327843A (zh) | 任务调度方法及装置 | |
CN110221775B (zh) | 存储系统中令牌的分配方法和装置 | |
KR102469927B1 (ko) | 분할 메모리 관리장치 및 방법 | |
US20140351550A1 (en) | Memory management apparatus and method for threads of data distribution service middleware | |
CN112925616A (zh) | 任务分配方法、装置、存储介质及电子设备 | |
KR102045125B1 (ko) | 분산환경에서의 cda 프로토콜을 활용한 자원할당방법 및 이를 적용한 기록매체 및 분산처리장치 | |
CN117369990A (zh) | 一种算力资源调度方法及装置、系统、设备、存储介质 | |
CN116382861A (zh) | Numa架构的服务器网络进程自适应调度方法、系统及介质 | |
CN118113449A (zh) | 一种资源管理方法、装置和系统 | |
Liu et al. | Mind the gap: Broken promises of CPU reservations in containerized multi-tenant clouds | |
CN114281516A (zh) | 一种基于numa属性的资源分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |