CN115878309A - 资源分配方法、装置、处理核、设备和计算机可读介质 - Google Patents
资源分配方法、装置、处理核、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN115878309A CN115878309A CN202111153693.4A CN202111153693A CN115878309A CN 115878309 A CN115878309 A CN 115878309A CN 202111153693 A CN202111153693 A CN 202111153693A CN 115878309 A CN115878309 A CN 115878309A
- Authority
- CN
- China
- Prior art keywords
- task
- resource allocation
- user
- priority
- tasks
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种资源分配方法,应用于众核芯片,该方法包括:获取众核芯片中需要处理的任务的优先级;其中,在任务具有不同归属用户信息的情况下,任务的优先级不同,归属用户信息用于标识任务所属用户;按照优先级和预设的资源分配策略,对不同用户的任务进行与优先级相匹配的资源分配。本公开还提供了一种资源分配装置、处理核、设备和计算机可读介质。根据本公开的方案可以得到与不同用户的任务优先级相匹配的资源分配结果,资源分配方式更加合理,并提升高优先级的任务的资源利用率。
Description
技术领域
本公开涉及处理器技术领域,特别涉及一种资源分配方法、装置、处理核、设备和计算机可读介质。
背景技术
众核芯片(例如人工智能芯片)可以具有多个计算单元,众核芯片中可独立调度并拥有完整计算能力的最小计算单元称为处理核。多个处理核可以联合工作,共同完成任务。
在对多个处理核的任务处理分配芯片资源时,通常是对所处理的任务无差别的进行资源分配,容易造成资源分配不合理。
发明内容
本公开提供一种资源分配方法、装置、处理核、设备和计算机可读介质。
第一方面,本公开提供了一种资源分配方法,该资源分配方法应用于众核芯片,该资源分配方法包括:获取众核芯片中需要处理的任务的优先级;其中,在任务具有不同归属用户信息的情况下,任务的优先级不同,归属用户信息用于标识任务所属用户;按照优先级和预设的资源分配策略,对不同用户的任务进行与优先级相匹配的资源分配。
第二方面,本公开提供了一种资源分配装置,该资源分配装置应用于众核芯片,该资源分配装置包括:获取模块,用于获取众核芯片中需要处理的任务的优先级;其中,在任务具有不同归属用户信息的情况下,任务的优先级不同,归属用户信息用于标识任务所属用户;分配模块,用于按照优先级和预设的资源分配策略,对不同用户的任务进行与优先级相匹配的资源分配。
第三方面,本公开提供了一种处理核,该处理核包括本公开上述的资源分配装置。
第四方面,本公开提供了一种电子设备,该电子设备包括:多个处理核;以及,片上网络,被配置为交互多个处理核间的数据和外部数据;其中,一个或多个处理核中存储有一个或多个指令,一个或多个指令被一个或多个处理核执行,以使一个或多个处理核能够执行上述的资源分配方法。
第五方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,计算机程序在被处理核执行时实现上述的资源分配方法。
本公开所提供的资源分配方法、装置、处理核、设备和计算机可读介质,可以获取芯片中的多个处理核需要处理的任务的优先级,并按照优先级和资源分配策略,为不同用户的任务分配与任务的优先级相匹配的资源;在本公开实施例的资源分配方法中,可以通过任务的归属用户信息来标识任务所属用户,不同用户的任务具有不同优先级,从而可以将众核芯片的资源按照不同用户的任务所具有的不同优先级进行分配,得到与不同用户的任务优先级相匹配的资源分配结果,资源分配方式更加合理,并可以提高具有高优先级任务的资源利用率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的架构示意图;
图2为本公开实施例提供的资源分配方法的流程图;
图3为本公开实施例提供的针对路由分配策略的资源分配的流程图;
图4为本公开实施例提供的针对内存带宽分配策略的资源分配的流程图;
图5为本公开实施例提供的针对核内作业任务策略的资源分配的流程图;
图6为本公开实施例提供的针对冗余资源策略的资源分配的流程图;
图7为本公开实施例提供的针对资源抢占策略的资源分配的流程图;
图8为本公开实施例提供的设置第五预定任务的处理过程允许使用第六预定任务的至少部分资源的流程图;
图9为本公开实施例提供的一种资源分配装置的组成框图;
图10为本公开实施例提供的一种电子设备的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
图1为本公开实施例提供的一种架构示意图。
如图1所示,该架构可以包括计算机设备10、众核芯片20、虚拟化环境1、虚拟化环境2、……、虚拟化环境n,其中,n为大于1的整数。
其中,虚拟化环境可以理解为是:利用虚拟化技术在计算机设备10上创建的用于运行虚拟机客户端的环境。每个虚拟机客户端上可以各自独立的运行操作系统,操作系统中可以安装有各种应用(App),且操作系统运行过程中可以产生对应用户的需要处理的任务。
在本公开实施例中,每个虚拟化环境可以对应一个用户。因此,通过上述实施例的描述可知,每个虚拟化环境的运行会产生对应用户的需要进行处理的任务。
示例性地,在图1中,虚拟化环境1与用户1相对应,虚拟化环境1的运行可以产生用户1的需要进行处理的任务,例如任务11、任务12、……任务1k,k为大于或等于1的整数;
虚拟化环境2与用户2相对应,虚拟化环境2的运行可以产生用户2的需要进行处理的任务,例如:任务21、任务22、……任务2m,m为大于或等于1的整数;……;
虚拟化环境n与用户n相对应,虚拟化环境n的运行可以产生用户n的需要进行处理的任务,例如:任务n1、任务n2、……任务nt,t为大于或等于1的整数。
在图1中,不同虚拟化环境中各自独立运行的操作系统可以相同也可以不同,本公开实施例中不做具体限定。
在本公开实施例中,通过芯片虚拟化技术,计算机设备10可以将各虚拟化环境对应的用户的任务,映射或分配到众核芯片20所包含的多个处理核中,多个处理核可以联合工作,共同完成任务;计算机设备10可以为多个处理核分配任务处理所需的资源。
本公开实施例的众核芯片20中包括多个处理核201。众核可以是由大量以及多种类的处理核,以预设方式连接在一起,具备高性能并行处理能力的处理核集合。
应理解,本公开实施例中的计算机设备可以包括但不限于:个人电脑、智能手机、平板电脑、个人数字助理、服务器等;示例性地,计算机设备可以是由一台服务设备构成,也可以是多台服务设备构成的服务器集群。
图2为本公开实施例提供的资源分配方法的流程图。
参照图2,本公开实施例提供一种资源分配方法,该资源分配方法应用于众核芯片;如图2所示,资源分配方法可以包括如下步骤。
S210,获取众核芯片中需要处理的任务的优先级;其中,在任务具有不同归属用户信息的情况下,任务的优先级不同,归属用户信息用于标识任务所属用户。
S220,按照优先级和预设的资源分配策略,对不同用户的任务进行与优先级相匹配的资源分配。
根据本公开实施例的资源分配方法,可以获取众核芯片中的多个处理核需要处理的任务的优先级,并按照优先级和资源分配策略,为不同用户的任务分配与任务的优先级相匹配的资源;在该方法中,任务的归属用户信息可以用于标识任务所属用户,不同用户的任务具有不同优先级,从而可以将多个处理核的资源,按照不同用户的任务所具有的不同优先级进行资源分配,得到与该优先级相匹配的资源分配结果,该资源分配方式更加合理,并可以提高具有高优先级的任务的资源利用率。
在一些实施例中,可以通过众核芯片中的每个核对自身所处理的任务进行资源分配;或者,众核芯片的多个核中可以包含一个控制核,控制核可以用于对每个进行任务处理的核所处理的任务进行资源分配。
在一些实施例中,在步骤S210,众核芯片中需要处理的任务,是由一个或多个虚拟化环境的运行产生的任务,每个虚拟化环境对应一个用户,不同的虚拟化环境共享多个处理核的资源。
在使用芯片虚拟化技术之后,可以让运行在计算机设备上的各虚拟环境中的虚拟化客户端共享使用同一块众核芯片的资源或多块众核芯片的资源进行任务处理,任务处理过程安全高效。
在本公开实施例中,多个处理核需要处理的任务的优先级可以预先设置,为后续进行的资源分配预先提供可用的任务优先级数据。
在一些实施例中,在步骤S210之前,该方法还可以包括:S11,根据获取的众核芯片中所需处理任务的归属用户信息,确定所需处理任务的任务所属用户;S12,基于任务所属用户的用户级别,或者基于任务所属用户的用户级别和所需处理任务的属性信息,设置具有不同归属用户信息的任务的优先级。其中,具有较高级别用户的归属用户信息的任务的优先级,高于具有较低级别用户的归属信息的任务的优先级,较高级别用户的用户级别高于较低级别用户的用户级别。
示例性地,任务的属性信息例如可以包括如下信息项的至少一项:任务的复杂程度、任务执行时间和任务的接收顺序等。示例性地,为了避免执行时间较长的任务影响其它执行时间较短任务的执行,可以设置执行时间较短的任务的优先级,高于执行时间较长的任务的优先级。
应理解,在实际应用中可以基于任务所属用户的用户级别和任务的属性信息进行相应任务的优先级设置时,可以根据实际需要采用上述任务的属性信息所包含信息项的一项或者多项的组合,例如,对任务的复杂程度、任务执行时间和任务的接收顺序进行加权平均,来设置具有相同归属用户信息的任务的优先级。
在本公开实施例中,可以基于任务所属用户的用户级别来设置相应任务优先级;也可以基于任务所属用户的用户级别和任务的属性信息,设置相应任务优先级。其中,任务所属用户的用户级别越高,相应任务的优先级越高,且具有相同归属用户信息的任务可以具有不同优先级;在实际应用场景中,可以根据实际需要进行预先设置,本公开实施例不做具体限定。
在对具有不同用户归属信息的任务的进行优先级之后,后续可以根据该优先级和预设的资源分配策略,实现对不同用户的任务进行与该优先级相匹配的资源分配,有利于更加合理的进行众核资源分配,并提高具有高优先级的任务的资源利用率。
在一些实施例中,在步骤S210,资源分配策略可以包括如下策略项中的至少一项:路由分配策略、内存带宽分配策略、核内作业任务策略、冗余资源策略和资源抢占策略。
其中,路由分配策略包括如下策略中的至少一者:时间分配策略、空间分配策略和路由节点缓冲策略。
在本公开实施例中,可分配的资源包括路由资源、内存资源和核内计算资源等。在一些实施例中,在路由资源中,路由节点可以用于发送和接收数据,以进行每个处理核内或不同处理核之间的数据通信;路由路径可以用于不同路由节点之间的数据连接和通信;路由节点缓冲区,可以用于缓存接收到的上一个路由节点的数据,并按照排序规则(例如先进先出规则)将缓存的数据发送至下一个路由节点;在内存资源中,内存接口是每个处理核在任务处理过程中存取内存数据的必由通路;在一些应用场景中,若单个处理核需要处理具有不同用户归属信息的任务,则需要按照处理核内(简称核内)所处理任务的优先级,对归属不同用户的任务进行核内计算资源的分配。
在本公开实施例中,通过预先设置的资源分配策略,并结合获取的具有不同用户归属信息的任务的优先级,可以实现资源分配按照不同用户各自的任务优先级进行分配,得到与不同用户的任务优先级相匹配的资源分配结果,资源分配方式更加合理,符合不同用户对任务处理效率的差异要求。
为了更好的理解本公开,下面针对不同的资源分配策略详细描述对应的资源分配方法。应理解,在本公开实施例预先设置的多个资源分配策略中,根据实际应用场景的需要,可以启用预先设置的全部资源分配策略,或者,也可以只启用全部资源分配策略中的一部分资源分配策略,本公开实施例不做具体限定。
下面首先描述本公开实施例的路由分配策略。图3示出本公开实施例中针对路由分配策略的资源分配的流程图。
在本公开实施例中,路由分配策略可以包括:时间分配策略、空间分配策略和路由节点缓冲策略中的一种或多种。
在图3中,针对路由分配策略的资源分配可以包括步骤S31-S33。其中,步骤S31涉及时间分配策略,步骤S32涉及空间分配策略,步骤S33涉及路由节点缓冲策略;但本公开并不局限于以上描述的,以及在图3中示出的特定的步骤。在一些实施例中,资源分配策略可以只包括其中部分策略,并对应于其中部分步骤。也就是说,可以根据实际应用场景对资源分配策略进行灵活设置,下面结合具体的实施例进行说明。
在一些实施例中,资源分配策略包括时间分配策略;上述步骤S220可以包括:S31,在众核芯片中进行任务处理所涉及的全部路由路径中,将至少部分路由路径的预定使用时间段分配给第一预定任务,以在预定使用时间段内,使用至少部分路由路径进行第一预定任务的数据传送。
其中,第一预定任务为众核芯片中需要处理的如下任务中的一种:优先级大于或等于第一优先级阈值的任务,以及,优先级大于或等于第一优先级阈值且具有预定归属用户信息的任务。
在该实施例中,按照时间分配策略,可以将指定时间段内的部分路由路径或全部路由路径留给优先级大于或等于第一优先级阈值的一个或多个任务;或者,可以将指定时间段内的部分路由路径或全部路由路径,预留给某个用户的优先级大于或等于第一优先级阈值的任务,从而针对路由资源,在路由路径的时间维度上,实现与不同用户的任务优先级相匹配的资源分配。
在一些实施例中,资源分配策略包括空间分配策略;上述步骤S220可以包括:S32,在众核芯片中进行任务处理的每次核间通信所涉及的至少两条等效路由路径中,将部分等效路由路径分配给第二预定任务,以使用部分等效路由路径进行第二预定任务的数据传送。
其中,第二预定任务为众核芯片中需要处理的如下任务中的一种:优先级大于或等于第二优先级阈值的任务,以及,优先级大于或等于第二优先级阈值且具有预定归属用户信息的任务。
在该实施例中,按照空间分配策略,可以将多个处理核所涉及的全部路由路径中的指定路由路径,通过资源预留方式分配给优先级大于或等于第二优先级阈值的任务,从而针对路由资源,在路由路径的空间维度上,实现与不同用户的任务优先级相匹配的资源分配。
在一些实施例中,资源分配策略包括路由节点缓冲策略;上述步骤S220可以包括:S33,对于在众核芯片的路由节点缓冲区中进行缓存的任务,优先对第三预定任务进行数据传送;其中,第三预定任务为众核芯片中需要处理的如下任务中的一种:优先级大于或等于第三优先级阈值的任务,以及,优先级大于或等于第三优先级阈值的任务且具有预定归属用户信息的任务。
示例性地,对于优先级小于第三优先级阈值的任务,则可以按照原有的排序规则依次进行处理,原有的排序规则例如可以包括先进先出原则,后进先出原则,或预先设置的其他指定任务排序等,本公开实施例中不做具体限定。
在该实施例中,按照路由节点缓冲策略,可以优先将当前路由节点所缓存的指定优先级的任务发送至下一路由节点进行后续处理,从而针对路由资源,在路由节点的缓冲区实现与不同用户的任务优先级相匹配的资源分配。
下面描述本公开实施例的内存带宽分配策略。图4示出本公开实施例中针对内存带宽分配策略的资源分配的流程图。
在一些实施例中,资源分配策略包括内存带宽分配策略。
如图4所示,上述步骤S220可以包括:S41,针对众核芯片所访问的内存,获取预先对内存的接口访问时间进行划分得到的时间分片;S42,将划分得到的部分时间分片分配给第四预定任务,以使用分配的部分时间分片进行第四预定任务的数据传送。
其中,第四预定任务为众核芯片中需要处理的如下任务中的一种:优先级大于或等于第四优先级阈值的任务,以及,优先级大于或等于第四优先级阈值的任务且具有预定归属用户信息的任务。
在该实施例中,根据内存带宽分配策略,可以将内存接口的访问时间划分为M个时间片,M为大于1的整数;通过本公开实施例的资源分配方法,优先级大于或等于第四优先级阈值的任务可以预先占用p个时间片,P大于或等于1且小于M。从而针对内存资源,在内存接口的访问时间维度,实现与不同用户的任务优先级相匹配的资源分配。
应理解,上述实施例中涉及的第一优先级阈值、第二优先级阈值、第三优先级阈值和第四优先级阈值的取值可以相同或不同。在实际应用中,可以根据应用场景中的实际需要进行用户自定义设置,本公开实施例中不进行具体限定。
下面描述本公开实施例的核内作业任务策略。图5示出本公开实施例中针对核内作业任务策略的资源分配的流程图。
在一些实施例中,在众核芯片中需要处理的任务数量大于1的情况下,资源分配策略包括核内作业任务策略。
如图5所示,上述步骤S220可以包括:S51,获取需要处理的每个任务的归属用户信息,以确定每个任务的任务所属用户;S52,按照每个任务的任务所属用户的用户级别,确定每个任务的与用户级别相匹配的优先级;S53,为具有不同归属用户信息的任务,分配与用户级别相匹配的计算资源,以按照与用户级别相匹配的优先级进行任务处理。
在该实施例中,针对核内作业任务策略,如果单个处理核也被分配了具有不同用户归属信息的任务,也可以为不同用户的任务设置优先级,从而针对核内作业任务,实现与不同用户的任务优先级相匹配的资源分配。
下面描述本公开实施例的冗余资源策略。图6示出本公开实施例中针对冗余资源策略的资源分配的流程图。
如图6所示,在一些实施例中,上述步骤S220具体可以包括:S61,根据获取的众核芯片中所需处理任务的归属用户信息,确定所需处理任务的任务所属用户;S62,基于任务所属用户的用户级别,为所需处理任务预留冗余资源。
其中,冗余资源是与所需处理任务最大负荷运转所需资源成正比例关系的额外资源,并且,为具有较高级别用户的归属用户信息的任务预留的冗余资源与该任务(即具有较高级别用户的归属用户信息的任务)最大负荷运转所需资源的比例,大于为具有较低级别用户的归属信息的任务预留的冗余资源与该任务(即具有较低级别用户的归属信息的任务)最大负荷运转所需资源的比例;并且,较高级别用户的用户级别高于较低级别用户的用户级别。
在一些可选的实施例中,可以分别确定用于运行每个任务的非冗余资源以及冗余资源。例如,可以将任务最大负荷运转所需资源确定为非冗余资源。可以根据任务最大负荷运转所需资源确定冗余资源。例如,可以确定每个任务对应的目标比例,将任务最大负荷运转所需资源与目标比例的乘积确定为该任务的冗余资源。
其中,不同优先级任务的目标比例不同,具有较高优先级的任务的目标比例大于具有较低优先级的任务的目标比例。
在一些可选的实施例中,分配给较高优先级任务的资源可以小于分配给较高优先级任务的资源。
示例性地,任务A具有较高优先级,其最大负荷运转所需资源为a,任务B具有较低优先级,其最大负荷运转所需资源为b,其中,a的资源总量远小于b的资源总量,即a与b之间资源总量的差值绝对值大于或等于预定差值阈值,该预定差值阈值可以根据实际需要进行自定义设置。
在对任务A以及任务B进行资源分配时,可以分别确定任务A与任务B所对应的目标比例,例如,任务A对应的目标比例为100%,任务B对应的目标比例为10%,则分配给任务A的资源为2a,分配给任务B的资源为1.1b。应理解,在一些实施例中,资源2a的资源总量小于资源1.1b的资源总量。
在该实施例中,考虑到一些任务具有优先级但是处理的数据量较小,此时若分配太多资源则会造成资源浪费。因此,可以为较高级别用户预留更多的冗余资源,从而达到资源的优化分配,在提高资源利用率的同时,还能有效保证高优先级任务的待处理数据增多时的处理效率。
下面描述本公开实施例的资源抢占策略。图7示出本公开实施例中针对资源抢占策略的资源分配的流程图。
如图7所示,在一些实施例中,上述步骤S220具体可以包括:S71,在获取的众核芯片需要处理的任务中,设置第五预定任务的处理过程允许使用第六预定任务的至少部分资源;S72,设置暂缓执行第六预定任务;其中,第五预定任务的任务归属用户的用户级别,高于第六预定任务的任务归属用户的用户级别。
在该实施例中,较高级别用户可使用其他较低级别用户的至少部分资源,此时低优先级用户暂停或放缓执行当前作业,从而有效保证较高级别用户任务的优先执行。
图8示出图7中设置第五预定任务的处理过程允许使用第六预定任务的至少部分资源的流程图。
如图8所示,在一些实施例中,上述步骤S71中,设置第五预定任务的处理过程允许使用第六预定任务的至少部分资源的步骤,具体可以包括:S81,对预先分配给第六预定任务的资源中的至少部分资源进行释放;S82,将释放的至少部分资源分配至第五预定任务。
在该实施例中,对于低级别用户的任务,可以通过释放一些资源来让高优先级使用这部分资源。例如,以内存资源为例,可以将低级别用户的任务在内存中存储的部分内容,转储到外部双倍速率同步动态随机存储器(Double Data Rage Random AccessMemory,DDR)或硬盘,以对低级别用户的任务所使用的内存的部分资源进行释放。
根据本公开实施例的资源分配方法,可以通过任务的归属用户信息来标识任务所属用户,由于不同用户的任务具有不同优先级,从而可以将多个处理核的资源,按照不同用户的任务所具有的不同优先级进行资源分配,实现资源分配按照不同用户各自的任务优先级进行分配,得到与不同用户的任务优先级相匹配的资源分配结果,资源分配方式更加合理,并可以提高具有高优先级任务的资源利用率。
图9为本公开实施例提供的资源分配装置的组成框图。
参照图9,本公开实施例提供了一种资源分配装置900,该资源分配装置900包括:获取模块910和分配模块920。
其中,获取模块910,用于获取众核芯片中需要处理的任务的优先级;其中,在任务具有不同归属用户信息的情况下,任务的优先级不同,归属用户信息用于标识任务所属用户。
分配模块920,用于按照优先级和预设的资源分配策略,对不同用户的任务进行与优先级相匹配的资源分配。
在一些实施例中,多个处理核需要处理的任务,是由一个或多个虚拟化环境的运行产生的任务,每个虚拟化环境对应一个用户,不同的虚拟化环境共享多个处理核的资源。
在一些实施例中,该资源分配装置900还包括:用户信息确定模块,用于在获取众核芯片中需要处理的任务的优先级之前,根据获取的需要处理的任务的归属用户信息,确定任务的任务所属用户;优先级设置模块,用于基于任务所属用户的用户级别,或者基于任务所属用户的用户级别和任务的属性信息,设置具有不同归属用户信息的任务的优先级;其中,具有较高级别用户的归属用户信息的任务的优先级,高于具有较低级别用户的归属信息的任务的优先级,较高级别用户的用户级别高于较低级别用户的用户级别。
在一些实施例中,资源分配策略包括如下项中的至少一项:路由分配策略、内存带宽分配策略和核内作业任务策略;其中,路由分配策略包括如下策略中的至少一者:时间分配策略、空间分配策略和路由节点缓冲策略。
在一些实施例中,资源分配策略包括时间分配策略;分配模块920具体用于:在众核芯片中进行任务处理所涉及的全部路由路径中,将至少部分路由路径的预定使用时间段分配给第一预定任务,以在预定使用时间段内,使用至少部分路由路径进行第一预定任务的数据传送;其中,第一预定任务为众核芯片中需要处理的如下任务中的一种:优先级大于或等于第一优先级阈值的任务,以及,优先级大于或等于第一优先级阈值且具有预定归属用户信息的任务。
在一些实施例中,资源分配策略包括空间分配策略;分配模块920具体用于:在众核芯片中进行任务处理的每次核间通信所涉及的至少两条等效路由路径中,将部分等效路由路径预留给第二预定任务,以使用部分等效路由路径进行第二预定任务的数据传送;其中,第二预定任务为众核芯片中需要处理的如下任务中的一种:优先级大于或等于第二优先级阈值的任务,以及,优先级大于或等于第二优先级阈值且具有预定归属用户信息的任务。
在一些实施例中,资源分配策略包括路由节点缓冲策略;分配模块920具体用于:对于在众核芯片的路由节点缓冲区中进行缓存的任务,优先对第三预定任务进行数据传送;其中,第三预定任务为众核芯片中需要处理的如下任务中的一种:优先级大于或等于第三优先级阈值的任务,以及,优先级大于或等于第三优先级阈值的任务且具有预定归属用户信息的任务。
在一些实施例中,资源分配策略包括内存带宽分配策略;资源分配装置还可以包括:时间分配模块,用于针对众核芯片所访问的内存,获取预先对内存的接口访问时间进行划分得到的时间分片;将划分得到的部分时间分片分配给第四预定任务,以使用分配的部分时间分片进行第四预定任务的数据传送;其中,第四预定任务为众核芯片中需要处理的如下任务中的一种:优先级大于或等于第四优先级阈值的任务,以及,优先级大于或等于第四优先级阈值的任务且具有预定归属用户信息的任务。
在一些实施例中,在众核芯片中需要处理的任务数量大于1的情况下,资源分配策略包括核内作业任务策略;资源分配装置还可以包括:用户确定模块,用于获取需要处理的每个任务的归属用户信息,以确定每个任务的任务所属用户;优先级确定模块,按照每个任务的任务所属用户的用户级别,确定每个任务的与用户级别相匹配的优先级;分配模块920具体用于:为具有不同归属用户信息的任务,分配与用户级别相匹配的计算资源,以按照与用户级别相匹配的优先级进行任务处理。
在一些实施例中,资源分配策略包括冗余资源策略;资源分配装置还可以包括:用户信息确定模块,用于根据众核芯片中所需处理任务的归属用户信息,确定所需处理任务的任务所属用户;冗余资源预留模块,用于基于任务所属用户的用户级别,为所需处理任务预留冗余资源;其中,冗余资源是与所需处理任务最大负荷运转所需资源成正比例关系的额外资源,并且,为具有较高级别用户的归属用户信息的任务预留的冗余资源与该任务最大负荷运转所需资源的比例,大于为具有较低级别用户的归属信息的任务预留的冗余资源与该任务最大负荷运转所需资源的比例;其中,较高级别用户的用户级别高于较低级别用户的用户级别。
在一些实施例中,资源分配策略包括资源抢占策略;资源分配装置还可以包括:抢占设置模块,用于在获取的需要处理的任务中,设置第五预定任务的处理过程允许使用第六预定任务的至少部分资源;暂缓设置模块,用于设置暂缓执行第六预定任务;其中,第五预定任务的任务归属用户的用户级别,高于第六预定任务的任务归属用户的用户级别。
在一些实施例中,抢占设置模块包括:资源释放单元,用于对预先分配给第六预定任务的资源中的至少部分资源进行释放;资源分配装置还用于将释放的至少部分资源分配至第五预定任务。
根据本公开实施例的资源分配装置,可以通过任务的归属用户信息来标识任务所属用户,由于不同用户的任务具有不同优先级,从而可以将多个处理核的资源,按照不同用户的任务所具有的不同优先级进行资源分配,实现资源分配按照不同用户各自的任务优先级进行分配,得到与不同用户的任务优先级相匹配的资源分配结果,资源分配方式更加合理,并可以提高具有高优先级任务的资源利用率。
图10为本公开实施例提供的一种电子设备的组成框图。
参照图10,本公开实施例提供了一种电子设备,该电子设备包括多个处理核1001以及片上网络1002,其中,多个处理核1001均与片上网络1002连接,片上网络1002用于交互多个处理核间的数据和外部数据。
其中,一个或多个处理核1001中存储有一个或多个指令,一个或多个指令被一个或多个处理核1001执行,以使一个或多个处理核1001能够执行上述的资源分配方法。
图10中的处理核1001与上述结合图1-图9描述的实施例中的处理核具有相同的结构和工作原理。为了描述的方便和简洁,该处理核的资源配置方法的具体工作过程,可以参考前述方法实施例中的资源分分配方法对应过程,在此不再赘述。
在本公开实施例中,还提供了一种处理核,包括上述实施例中的资源分配装置。
此外,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,计算机程序在被处理核执行时实现上述的资源分配方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (16)
1.一种资源分配方法,所述方法应用于众核芯片,所述方法包括:
获取众核芯片中需要处理的任务的优先级;其中,在所述任务具有不同归属用户信息的情况下,所述任务的优先级不同,所述归属用户信息用于标识任务所属用户;
按照所述优先级和预设的资源分配策略,对不同用户的任务进行与所述优先级相匹配的资源分配。
2.根据权利要求1所述的资源分配方法,其中,所述需要处理的任务是由一个或多个虚拟化环境的运行产生的任务,每个所述虚拟化环境对应一个用户,不同的所述虚拟化环境共享所述众核芯片的资源。
3.根据权利要求1所述的资源分配方法,其中,在所述获取众核芯片中需要处理的任务的优先级之前,所述方法还包括:
根据获取的众核芯片中所需处理任务的归属用户信息,确定所述所需处理任务的任务所属用户;
基于所述任务所属用户的用户级别,或者基于所述任务所属用户的用户级别和所述所需处理任务的属性信息,设置具有不同归属用户信息的任务的优先级;
其中,具有较高级别用户的归属用户信息的任务的优先级,高于具有较低级别用户的归属信息的任务的优先级,较高级别用户的用户级别高于较低级别用户的用户级别。
4.根据权利要求1-3中任一项所述的资源分配方法,其中,所述资源分配策略包括如下项中的至少一项:
路由分配策略、内存带宽分配策略、核内作业任务策略、冗余资源策略和资源抢占策略;其中,
所述路由分配策略包括如下策略中的至少一者:时间分配策略、空间分配策略和路由节点缓冲策略。
5.根据权利要求1-3中任一项所述的资源分配方法,其中,所述资源分配策略包括时间分配策略,所述按照所述优先级和预设的资源分配策略,对不同用户的任务进行与所述优先级相匹配的资源分配,包括:
在所述众核芯片中进行任务处理所涉及的全部路由路径中,将至少部分路由路径的预定使用时间段分配给第一预定任务,以在所述预定使用时间段内,使用所述至少部分路由路径进行所述第一预定任务的数据传送;其中,
所述第一预定任务为所述众核芯片中需要处理的如下任务中的一种:优先级大于或等于第一优先级阈值的任务,以及,优先级大于或等于所述第一优先级阈值且具有预定归属用户信息的任务。
6.根据权利要求1-3中任一项所述的资源分配方法,其中,所述资源分配策略包括空间分配策略,所述按照所述优先级和预设的资源分配策略,对不同用户的任务进行与所述优先级相匹配的资源分配,包括:
在所述众核芯片中进行任务处理的每次核间通信所涉及的至少两条等效路由路径中,将部分等效路由路径分配给第二预定任务,以使用所述部分等效路由路径进行所述第二预定任务的数据传送;
其中,所述第二预定任务为所述众核芯片中需要处理的如下任务中的一种:优先级大于或等于第二优先级阈值的任务,以及,优先级大于或等于所述第二优先级阈值且具有预定归属用户信息的任务。
7.根据权利要求1-3中任一项所述的资源分配方法,其中,所述资源分配策略包括路由节点缓冲策略;所述按照所述优先级和预设的资源分配策略,对不同用户的任务进行与所述优先级相匹配的资源分配,包括:
对于在所述众核芯片的路由节点缓冲区中进行缓存的任务,优先对第三预定任务进行数据传送;
其中,所述第三预定任务为所述众核芯片中需要处理的如下任务中的一种:优先级大于或等于第三优先级阈值的任务,以及,优先级大于或等于第三优先级阈值的任务且具有预定归属用户信息的任务。
8.根据权利要求1-3中任一项所述的资源分配方法,其中,所述资源分配策略包括内存带宽分配策略,所述按照所述优先级和预设的资源分配策略,对不同用户的任务进行与所述优先级相匹配的资源分配,包括:
针对所述众核芯片所访问的内存,获取预先对所述内存的接口访问时间进行划分得到的时间分片;
将划分得到的部分时间分片分配给第四预定任务,以使用分配的所述部分时间分片进行所述第四预定任务的数据传送;
其中,所述第四预定任务为所述众核芯片中需要处理的如下任务中的一种:优先级大于或等于第四优先级阈值的任务,以及,优先级大于或等于第四优先级阈值的任务且具有预定归属用户信息的任务。
9.根据权利要求1-3中任一项所述的资源分配方法,其中,在所述需要处理的任务数量大于1的情况下,所述资源分配策略包括核内作业任务策略;所述按照所述优先级和预设的资源分配策略,对不同用户的任务进行与所述优先级相匹配的资源分配,包括:
获取需要处理的每个任务的归属用户信息,以确定所述每个任务的任务所属用户;
按照所述每个任务的任务所属用户的用户级别,确定所述每个任务的与所述用户级别相匹配的优先级;
为所述具有不同归属用户信息的任务,分配与所述用户级别相匹配的计算资源,以按照与所述用户级别相匹配的优先级进行任务处理。
10.根据权利要求1-3中任一项所述的资源分配方法,其中,所述资源分配策略包括冗余资源策略;所述按照所述优先级和预设的资源分配策略,对不同用户的任务进行与所述优先级相匹配的资源分配,包括:
根据所述众核芯片中所需处理任务的归属用户信息,确定所述所需处理任务的任务所属用户;
基于所述任务所属用户的用户级别,为所述所需处理任务预留冗余资源;
其中,所述冗余资源是与所述所需处理任务最大负荷运转所需资源成正比例关系的额外资源,并且,为具有较高级别用户的归属用户信息的任务预留的冗余资源与该任务最大负荷运转所需资源的比例,大于为具有较低级别用户的归属信息的任务预留的冗余资源与该任务最大负荷运转所需资源的比例;较高级别用户的用户级别高于较低级别用户的用户级别。
11.根据权利要求1-3中任一项所述的资源分配方法,其中,所述资源分配策略包括资源抢占策略;所述按照所述优先级和预设的资源分配策略,对不同用户的任务进行与所述优先级相匹配的资源分配,包括:
在获取的所述需要处理的任务中,设置第五预定任务的处理过程允许使用第六预定任务的至少部分资源;
并设置暂缓执行所述第六预定任务;
其中,所述第五预定任务的任务归属用户的用户级别,高于所述第六预定任务的任务归属用户的用户级别。
12.根据权利要求11所述的资源分配方法,其中,所述设置第五预定任务的处理过程允许使用第六预定任务的至少部分资源,包括:
对预先分配给所述第六预定任务的资源中的至少部分资源进行释放;
将释放的所述至少部分资源分配至所述第五预定任务。
13.一种资源分配装置,所述装置应用于众核芯片,包括:
获取模块,用于获取众核芯片中需要处理的任务的优先级;其中,在所述任务具有不同归属用户信息的情况下,所述任务的优先级不同,所述归属用户信息用于标识任务所属用户;
分配模块,用于按照所述优先级和预设的资源分配策略,对不同用户的任务进行与所述优先级相匹配的资源分配。
14.一种处理核,包括权利要求13所述的资源分配装置。
15.一种电子设备,包括:
多个处理核;以及
片上网络,被配置为交互多个所述处理核间的数据和外部数据;
一个或多个所述处理核中存储有一个或多个指令,一个或多个所述指令被一个或多个所述处理核执行,以使一个或多个所述处理核能够执行权利要求1-12中任一项所述的资源分配方法。
16.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现如权利要求1-12中任一项所述的资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111153693.4A CN115878309A (zh) | 2021-09-29 | 2021-09-29 | 资源分配方法、装置、处理核、设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111153693.4A CN115878309A (zh) | 2021-09-29 | 2021-09-29 | 资源分配方法、装置、处理核、设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878309A true CN115878309A (zh) | 2023-03-31 |
Family
ID=85756343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111153693.4A Pending CN115878309A (zh) | 2021-09-29 | 2021-09-29 | 资源分配方法、装置、处理核、设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878309A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483013A (zh) * | 2023-06-19 | 2023-07-25 | 成都实时技术股份有限公司 | 一种基于多通道采集器的高速信号采集系统及方法 |
-
2021
- 2021-09-29 CN CN202111153693.4A patent/CN115878309A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483013A (zh) * | 2023-06-19 | 2023-07-25 | 成都实时技术股份有限公司 | 一种基于多通道采集器的高速信号采集系统及方法 |
CN116483013B (zh) * | 2023-06-19 | 2023-09-05 | 成都实时技术股份有限公司 | 一种基于多通道采集器的高速信号采集系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10572290B2 (en) | Method and apparatus for allocating a physical resource to a virtual machine | |
US11546644B2 (en) | Bandwidth control method and apparatus, and device | |
EP3281359B1 (en) | Application driven and adaptive unified resource management for data centers with multi-resource schedulable unit (mrsu) | |
CN113448743B (zh) | 用于任务处理的方法、电子设备以及计算机程序产品 | |
CN112905342B (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
EP3293969A1 (en) | Method of terminal-based conference load-balancing, and device and system utilizing same | |
CN115408100A (zh) | 容器集群调度的方法、装置、设备及存储介质 | |
CN110244901B (zh) | 任务分配方法及装置、分布式存储系统 | |
CN112269661B (zh) | 基于Kafka集群的分区迁移方法和装置 | |
EP3993346A1 (en) | Method and device for distributed data storage | |
US8458702B1 (en) | Method for implementing user space up-calls on java virtual machine before/after garbage collection | |
CN111459641A (zh) | 一种跨机房的任务调度和任务处理的方法及装置 | |
CN111338779A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN114168302A (zh) | 任务调度方法、装置、设备及存储介质 | |
WO2022111456A1 (zh) | 基于众核系统的核共享方法及装置、电子设备、介质 | |
CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
US20170344266A1 (en) | Methods for dynamic resource reservation based on classified i/o requests and devices thereof | |
US20170193006A1 (en) | Distributed file system and method of creating files effectively | |
EP3672203A1 (en) | Distribution method for distributed data computing, device, server and storage medium | |
CN112260962B (zh) | 一种带宽控制方法及装置 | |
CN113760549A (zh) | 一种pod部署方法及装置 | |
CN113347238A (zh) | 基于区块链的消息分区方法及系统、设备、存储介质 | |
CN115794396A (zh) | 资源分配的方法、系统和电子设备 | |
US8918555B1 (en) | Adaptive and prioritized replication scheduling in storage clusters | |
CN111245794B (zh) | 数据传输方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |