CN110532099B - 资源隔离方法和装置以及电子设备和介质 - Google Patents
资源隔离方法和装置以及电子设备和介质 Download PDFInfo
- Publication number
- CN110532099B CN110532099B CN201910821044.3A CN201910821044A CN110532099B CN 110532099 B CN110532099 B CN 110532099B CN 201910821044 A CN201910821044 A CN 201910821044A CN 110532099 B CN110532099 B CN 110532099B
- Authority
- CN
- China
- Prior art keywords
- user
- resource
- execution unit
- task
- exclusive
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/485—Resource constraint
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/504—Resource capping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本公开提供了一种资源隔离方法,包括:获取第一用户提交的第一任务,第一任务中携带有资源需求信息;根据资源需求信息,确定第一用户的资源使用类型,以及确定能够执行第一任务的执行单元;以及如果资源使用类型表征第一用户是资源独占用户,则以第一方式关联第一用户与执行单元,从而将执行单元从其他执行单元中隔离出来以供第一用户独享。本公开还提供了一种资源隔离装置、一种电子设备以及一种计算机可读存储介质。
Description
技术领域
本公开涉及一种资源隔离方法和装置以及电子设备和介质。
背景技术
多租户隔离一直是大数据平台的一个热门话题。以Spark为例,一个计算集群往往会服务于不同的业务以及不同资源需求的用户。比如有的用户需要更好的计算性能来进行即席分析,有的用户则仅仅用来做批处理计算等,导致一个计算集群内用户对Spark的资源需求差异巨大。Spark默认通过资源队列(p001)的方式来区分不同的用户。但这种方式一方面需要预先规划好用户类别,如果用户类别发生变化,则必须重新配置并启动Spark,无法动态适应类别变化需求;另一方面无法区分一个队列内的用户的资源需求,导致隔离粒度过粗,无法满足用户资源的精细化管理。
发明内容
本公开的一个方面提供了一种资源隔离方法,包括:获取第一用户提交的第一任务,所述第一任务中携带有资源需求信息;根据所述资源需求信息,确定所述第一用户的资源使用类型,以及确定能够执行所述第一任务的执行单元;以及如果所述资源使用类型表征所述第一用户是资源独占用户,则以第一方式关联所述第一用户与所述执行单元,从而将所述执行单元从其他执行单元中隔离出来以供所述第一用户独享。
可选地,所述方法还包括:如果所述资源使用类型表征所述第一用户是非资源独占用户,则确定所述第一任务是否需要缓存数据;以及如果确定所述第一任务需要缓存数据,则以第二方式关联所述第一用户与所述执行单元,从而在所述第一用户再次提交任务时能够继续使用所述执行单元。
可选地,所述方法还包括:获取至少一个第二用户提交的至少一个第二任务;确定所述至少一个第二用户的资源使用类型;如果所述资源使用类型表征所述至少一个第二用户是非资源独占用户,确定所述执行单元是否能够执行所述至少一个第二任务;以及如果确定所述执行单元能够执行所述至少一个第二任务,则针对所述至少一个第二任务和所述第一任务,按照公平调度模式或者资源竞争模式调度所述执行单元。
可选地,在根据所述资源需求信息,确定能够执行所述第一任务的执行单元之前,所述方法还包括:确定是否已存在与所述第一用户关联的其他执行单元;以及如果确定已存在与所述第一用户关联的所述其他执行单元,则调度所述其他执行单元来执行所述第一任务。
可选地,所述调度所述其他执行单元来执行所述第一任务,包括:确定所述其他执行单元能够提供的资源量是否满足所述资源需求信息所描述的资源量;以及如果确定所述其他执行单元能够提供的资源量不满足所述资源需求信息所描述的资源量,则先扩展所述其他执行单元的资源量,再调度资源量扩展后的所述其他执行单元来执行所述第一任务。
可选地,所述方法还包括:确定所述第一用户与所述其他执行单元是否是以所述第一方式关联的;以及如果所述资源使用类型表征所述第一用户是所述资源独占用户,但所述第一用户与所述其他执行单元不是以所述第一方式关联的,则将所述第一用户与所述其他执行单元的关联方式修改为所述第一方式。
可选地,所述资源需求信息包括以下信息中的至少之一:用户属性信息、对执行单元中CPU的需求数量、是否需要缓存数据、是否需要使用硬盘。
本公开的另一个方面提供了一种资源隔离装置,包括:获取模块,用于获取第一用户提交的第一任务,所述第一任务中携带有资源需求信息;第一确定模块,用于根据所述资源需求信息,确定所述第一用户的资源使用类型;第二确定模块,用于根据所述资源需求信息,确定能够执行所述第一任务的执行单元;以及关联模块,用于在所述资源使用类型表征所述第一用户是资源独占用户的情况下,以第一方式关联所述第一用户与所述执行单元,从而将所述执行单元从其他执行单元中隔离出来以供所述第一用户独享。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本公开实施例的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现本公开实施例的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现本公开实施例的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的资源隔离方法和装置的应用场景;
图2示意性示出了根据本公开实施例的资源隔离方法的流程图;
图3A示意性示出了根据本公开实施例的非资源独占用户租用资源的示意图;
图3B示意性示出了根据本公开实施例的多个非资源独占用户共享资源的示意图;
图3C示意性示出了根据本公开实施例的资源独占用户租用资源的示意图;
图3D示意性示出了根据本公开另一实施例的资源独占用户租用资源的示意图;
图3E示意性示出了根据本公开实施例的修改用户与资源的关联方式的示意图;
图3F示意性示出了根据本公开实施例的资源需求信息的示意图;
图4示意性示出了根据本公开实施例的资源隔离装置的框图;以及
图5示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种资源隔离方法以及能够应用该方法的资源隔离装置。该方法包括获取第一用户提交的第一任务,该第一任务中携带有资源需求信息,接下来根据该资源需求信息,确定该第一用户的资源使用类型,以及确定能够执行该第一任务的执行单元,以及然后如果该资源使用类型表征该第一用户是资源独占用户,则以第一方式关联该第一用户与该执行单元,从而将该执行单元从其他执行单元中隔离出来以供该第一用户独享。
图1示意性示出了根据本公开实施例的资源隔离方法和装置的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,一个计算集群中例如可以包括多个执行单元,多用户可以独占或者共享其中的执行单元。为了满足用户的资源需求差异和类型变化需求等,本公开实施例通过对计算集群中的执行单元按资源使用方式进行标识,使得每个执行单元都能按照用户的资源需求动态执行用户提交的计算任务,实现精细化的多租户隔离需求。
以下将参考附图并结合具体实施例详细阐述本公开。
图2示意性示出了根据本公开实施例的资源隔离方法的流程图。
如图2所示,该方法例如可以包括操作S210~S230。
在操作S210,获取第一用户提交的第一任务,该第一任务中携带有资源需求信息。
具体地,对于操作S210,例如可以接收来自客户端的任务处理请求报文,从报文中提取用户提交的任务。在本公开实施例中,任务中携带的资源需求信息例如可以包括但不限于以下信息中的一种或几种:用户属性信息、对执行单元中CPU的需求数量、是否需要缓存数据、是否需要使用硬盘等。
接下来,在操作S220,根据该资源需求信息,确定该第一用户的资源使用类型,以及确定能够执行该第一任务的执行单元。
具体地,对于操作S220,例如可以根据资源需求信息中包含的用户属性信息确定用户的资源使用类型。其中,需要说明的是,在本公开实施例中,资源使用类型例如可以资源独占使用和资源非独占使用(即资源共享使用)等类型。
此外,对于操作S220,例如可以根据资源需求信息中包含的对执行单元中CPU的需求数量、是否需要缓存数据、是否需要使用硬盘等信息确定能够执行当前用户所提交的任务的执行单元。例如,如果用户在提交的任务中指定使用CPU为4核的且带缓存的执行单元,则需要根据这些资源需求信息从计算集群中筛选出CPU为4核的且带缓存的执行单元,以供该用户使用。
然后,在操作S230,如果该资源使用类型表征该第一用户是资源独占用户,则以第一方式关联该第一用户与该执行单元,从而将该执行单元从其他执行单元中隔离出来以供该第一用户独享。
具体地,在执行完操作S220后,如果确定用户对资源是独占使用的,则在执行操作S230时将该用户与所确定的执行单元以第一方式关联。具体地可以将该执行单元配置给该用户并标注独占标识以示该执行单元专供该用户使用,确保用户每次提交任务都分配到相同的执行单元。
此外,在本公开实施例中,已经分配给资源独占用户的执行单元不再分配给其他用户,即其他用户不能使用该执行单元。
通过本公开实施例,可以根据用户的类型以及对资源的需求情况,将相应的执行单元与集群中的其他执行单元隔离,实现资源独占用户独享集群中某个或者某几个执行单元的目的。
下面参考图3A~图3F,结合具体实施例对图2所示的方法做进一步说明。
作为一种可选的实施例,该方法例如还可以包括如下操作。
如果该资源使用类型表征该第一用户是非资源独占用户,则确定该第一任务是否需要缓存数据。
如果确定该第一任务需要缓存数据,则以第二方式关联该第一用户与该执行单元,从而在该第一用户再次提交任务时能够继续使用该执行单元。
在本公开实施例中,对于需要缓存数据的任务,为了保证数据的连续性和任务的连续性,例如如图3A所示,可以将非资源独占的用户与带有缓存的执行单元以不同于第一方式的第二方式关联,从而使得该用户再次提交任务时,还能够使用该执行单元处理任务。
需要说明的是,在本公开实施例中,一个执行单元以第二方式与一个非资源独占的用户关联之后,还可以与其他非资源独占的用户以第二方式关联。即一个执行单元可以同时以第二方式与一个或者多个非资源独占的用户关联,使得这一个或者多个非资源独占的用户中的每个用户每次提交任务时都能够使用同一个执行单元处理任务。
此外,在本公开实施例中,已以第二方式与一个或者多个非资源独占的用户关联的执行单元还可以供其他不使用缓存的非资源独占用户共享。
此外,在本公开实施例中,可以使用资源标识对集群中的每个执行单元进行标记。其中资源标识例如可以包括:是否可独占、是否可缓存数据到内存、是否可使用SSD等硬盘。基于此,在本公开实施例中,可以通过资源标记确定一个执行单元是否带有缓存。同理,在分配执行单元时,例如还可以根据是否可独占以及是否可使用SSD等硬盘来分配,此时也可以通过资源标记确定一个执行单元是否可独占、是否可使用SSD等硬盘。
进一步,作为一种可选的实施例,该方法例如还可以包括如下操作。
获取至少一个第二用户提交的至少一个第二任务。
确定该至少一个第二用户的资源使用类型。
如果该资源使用类型表征该至少一个第二用户是非资源独占用户,确定该执行单元是否能够执行该至少一个第二任务。
如果确定该执行单元能够执行该至少一个第二任务,则针对该至少一个第二任务和该第一任务,按照公平调度模式或者资源竞争模式调度该执行单元。
在本公开实施例中,对于已经与一个或者多个非资源独占的用户以第二方式关联的执行单元,为了实现资源共享,保证提高该执行单元的利用率,例如如图3B所示,在其他非资源独占的用户提交任务时,且在该执行单元能够满足该其他非资源独占的用户提交的任务的对资源的需求的情况下,还可以将该执行单元分配给该其他非资源独占的用户共享使用。即,在本公开实施例中,已分配给资源共享用户(即非资源独占用户)的执行单元还可以同时分配给其他资源共享用户,使得该执行单元可以同时执行多个资源共享用户的计算任务。
需要说明的是,在本公开实施例中,一个执行单元被多个非资源独占用户共享时,这些非资源独占用户例如可以通过公平调度模式或者资源竞争模式调度该执行单元。
应该理解,在本公开实施例中,公平调度模式是指用户按照先来先得的方式调度执行单元。资源竞争模式是指用户按照所在队列的优先级调度执行单元。
作为一种可选的实施例,在根据该资源需求信息,确定能够执行该第一任务的执行单元之前,该方法例如还可以包括如下操作。
确定是否已存在与该第一用户关联的其他执行单元。
如果确定已存在与该第一用户关联的该其他执行单元,则调度该其他执行单元来执行该第一任务。
在本公开实施例中,对于一个资源独占用户,在接收到该用户提交的任务时,可以先不执行操作S220中确定能够执行该任务的执行单元的相关步骤,而是先查找集群中是否已经存在与该用户关联的其他执行单元了。如图3C所示,如果经查找确认集群中已经存在与该用户关联的其他执行单元即执行单元N了,则为了保证数据的一致性和任务的连续性可以使该用户与该执行单元N保持关联,并继续使用该执行单元N来处理该用户本次提交的任务。
进一步,作为一种可选的实施例,调度该其他执行单元来执行该第一任务例如可以包括如下操作。
确定该其他执行单元能够提供的资源量是否满足该资源需求信息所描述的资源量。
如果确定该其他执行单元能够提供的资源量不满足该资源需求信息所描述的资源量,则先扩展该其他执行单元的资源量,再调度资源量扩展后的该其他执行单元来执行该第一任务。
在本公开实施例中,对于一个资源独占用户,如果经查找确认集群中已经存在与该用户关联的其他执行单元了,则还可以进一步确认该其他执行单元的资源量(如CPU数量、是否可缓存、缓存的大小、是否可使用SSD等硬盘、可使用的硬盘的大小等)是否满足本次提交的任务对资源的需求。其中如果满足,则不作任何处理,直接调度该其他执行单元来处理本次提交的相关任务机即可。如果不满足,则可以先扩展该其他执行单元,使之至少满足本次所提交的任务对资源的需求,再调度扩展后的执行单元来处理相关任务。例如如图3D所示,如果用户本次提交的任务指定使用CPU为4核的执行单元,但是之前已与该用户关联的执行单元N的CPU是双核,显然原执行单元N已不满足用户当前对资源的需求,此时可以先将原执行单元N的CPU由双核扩展成4核,再调度CPU扩展后的执行单元N来处理本次提交的任务。
通过本公开实施例,对于资源独占用户既可以实现数据的一致性和任务的连续性,又可以满足当前任务对资源的实际需求。
此外,作为一种可选的实施例,该方法例如还可以包括如下操作。
确定该第一用户与该其他执行单元是否是以该第一方式关联的。
如果该资源使用类型表征该第一用户是该资源独占用户,但该第一用户与该其他执行单元不是以该第一方式关联的,则将该第一用户与该其他执行单元的关联方式修改为该第一方式。
在本公开实施例中,由于用户的类型可能发生变化,比如一个用户由原来的非资源独占用户变为资源独占用户,在这种情况下该用户与相关执行单元的关联方式也需要随之发生变化,以动态地适应该用户的类型。
在本公开实施例中,例如如图3E所示,如果用户1之前与集群中的执行单元N是以第一方式关联的,这种情况表征用户1之前是非资源独占用户,因此彼时用户1与其他非资源独占用户如用户2可以同时以第一方式与该执行单元N关联,从而达到共享执行单元N的目的。但是,在提交本次任务时发现用户1已经变为资源独占用户,这种情况下如果继续调度执行单元N处理用户1的任务,则可以变更用户1与执行单元N之间的关联方式,如由第二方式变更为第一方式。同时由于用户1已变为资源独占用户,因此还可以注销该执行单元N与其他用户如用户2之间的关联方式。
通过本公开实施例,可以随着用户类型的改变而动态改变用户与相关执行单元之间的关联方式,以增强自适应能力。
作为一种可选的实施例,如图3F所示,该资源需求信息例如可以包括以下信息中的至少之一:用户属性信息、对执行单元中CPU的需求数量、是否需要缓存数据、是否需要使用硬盘。
图4示意性示出了根据本公开实施例的资源隔离装置的框图。
如图4所示,资源隔离装置400包括获取模块401、第一确定模块402、第二确定模块403和关联模块404。该资源隔离装置400可以执行上面参考图2、图3A~图3F描述的方法,以实现资源隔离。
具体地,获取模块401用于获取第一用户提交的第一任务,该第一任务中携带有资源需求信息。
第一确定模块402用于根据该资源需求信息,确定该第一用户的资源使用类型。
第二确定模块403用于根据该资源需求信息,确定能够执行该第一任务的执行单元。
关联模块404用于在该资源使用类型表征该第一用户是资源独占用户的情况下,以第一方式关联该第一用户与该执行单元,从而将该执行单元从其他执行单元中隔离出来以供该第一用户独享。
通过本公开实施例,可以根据用户的类型以及对资源的需求情况,将相应的执行单元与集群中的其他执行单元隔离,实现资源独占用户独享集群中某个或者某几个执行单元的目的。
应该理解,在本公开实施例中,装置部分的实施例与方法部分的实施例在所解决的技术问题、所使用的技术手段以及所达到的技术效果等方面对应相同或类似,在此不再赘述。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块401、第一确定模块402、第二确定模块403和关联模块404中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块401、第一确定模块402、第二确定模块403和关联模块404中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块401、第一确定模块402、第二确定模块403和关联模块404中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开实施例的电子设备的框图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500包括处理器510、计算机可读存储介质520。该电子设备500可以执行根据本公开实施例的方法。
具体地,处理器510例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器510还可以包括用于缓存用途的板载存储器。处理器510可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质520,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质520可以包括计算机程序521,该计算机程序521可以包括代码/计算机可执行指令,其在由处理器510执行时使得处理器510执行根据本公开实施例的方法或其任何变形。
计算机程序521可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序521中的代码可以包括一个或多个程序模块,例如包括521A、模块521B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器510执行时,使得处理器510可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,获取模块401、第一确定模块402、第二确定模块403和关联模块404中的至少一个可以实现为参考图5描述的计算机程序模块,其在被处理器510执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机防问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (9)
1.一种资源隔离方法,包括:
获取第一用户提交的第一任务,所述第一任务中携带有资源需求信息;
根据所述资源需求信息,确定所述第一用户的资源使用类型,以及确定能够执行所述第一任务的执行单元;以及
如果所述资源使用类型表征所述第一用户是资源独占用户,则以第一方式关联所述第一用户与所述执行单元,从而将所述执行单元从其他执行单元中隔离出来以供所述第一用户独享;
如果所述资源使用类型表征所述第一用户是非资源独占用户,则确定所述第一任务是否需要缓存数据;如果确定所述第一任务需要缓存数据,则以第二方式关联所述第一用户与所述执行单元,从而在所述第一用户再次提交任务时能够继续使用所述执行单元。
2.根据权利要求1所述的方法,其中,所述方法还包括:
获取至少一个第二用户提交的至少一个第二任务;
确定所述至少一个第二用户的资源使用类型;
如果所述资源使用类型表征所述至少一个第二用户也是非资源独占用户,确定所述执行单元是否能够执行所述至少一个第二任务;以及
如果确定所述执行单元也能够执行所述至少一个第二任务,则针对所述至少一个第二任务和所述第一任务,按照公平调度模式或者资源竞争模式调度所述执行单元。
3.根据权利要求1所述的方法,其中,在根据所述资源需求信息,确定能够执行所述第一任务的执行单元之前,所述方法还包括:
确定是否已存在与所述第一用户关联的其他执行单元;以及
如果确定已存在与所述第一用户关联的所述其他执行单元,则调度所述其他执行单元来执行所述第一任务。
4.根据权利要求3所述的方法,其中,所述调度所述其他执行单元来执行所述第一任务,包括:
确定所述其他执行单元能够提供的资源量是否满足所述资源需求信息所描述的资源量;以及
如果确定所述其他执行单元能够提供的资源量不满足所述资源需求信息所描述的资源量,则先扩展所述其他执行单元的资源量,再调度资源量扩展后的所述其他执行单元来执行所述第一任务。
5.根据权利要求3所述的方法,其中,所述方法还包括:
确定所述第一用户与所述其他执行单元是否是以所述第一方式关联的;以及
如果所述资源使用类型表征所述第一用户是所述资源独占用户,但所述第一用户与所述其他执行单元不是以所述第一方式关联的,则将所述第一用户与所述其他执行单元的关联方式修改为所述第一方式。
6.根据权利要求1所述的方法,其中,所述资源需求信息包括以下信息中的至少之一:用户属性信息、对执行单元中CPU的需求数量、是否需要缓存数据、是否需要使用硬盘。
7.一种资源隔离装置,包括:
获取模块,用于获取第一用户提交的第一任务,所述第一任务中携带有资源需求信息;
第一确定模块,用于根据所述资源需求信息,确定所述第一用户的资源使用类型;
第二确定模块,用于根据所述资源需求信息,确定能够执行所述第一任务的执行单元;以及
关联模块,用于在所述资源使用类型表征所述第一用户是资源独占用户的情况下,以第一方式关联所述第一用户与所述执行单元,从而将所述执行单元从其他执行单元中隔离出来以供所述第一用户独享;还用于如果所述资源使用类型表征所述第一用户是非资源独占用户,则确定所述第一任务是否需要缓存数据;如果确定所述第一任务需要缓存数据,则以第二方式关联所述第一用户与所述执行单元,从而在所述第一用户再次提交任务时能够继续使用所述执行单元。
8.一种电子设备,包括:
一个或多个处理器;以及
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910821044.3A CN110532099B (zh) | 2019-08-30 | 2019-08-30 | 资源隔离方法和装置以及电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910821044.3A CN110532099B (zh) | 2019-08-30 | 2019-08-30 | 资源隔离方法和装置以及电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532099A CN110532099A (zh) | 2019-12-03 |
CN110532099B true CN110532099B (zh) | 2022-05-31 |
Family
ID=68665944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910821044.3A Active CN110532099B (zh) | 2019-08-30 | 2019-08-30 | 资源隔离方法和装置以及电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532099B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722054B (zh) * | 2020-05-25 | 2024-04-09 | 中移(苏州)软件技术有限公司 | 一种资源管理方法、装置以及计算机存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2107488A1 (en) * | 2008-03-31 | 2009-10-07 | British Telecommunications Public Limited Company | Improvements in policy driven computer systems |
CN103593242A (zh) * | 2013-10-15 | 2014-02-19 | 北京航空航天大学 | 基于Yarn框架的资源共享控制系统 |
CN108885565A (zh) * | 2016-03-15 | 2018-11-23 | 微软技术许可有限责任公司 | 对游戏模式的操作系统支持 |
CN109542580A (zh) * | 2017-09-22 | 2019-03-29 | 中兴通讯股份有限公司 | 一种资源管理方法、装置、设备及计算机可读存储介质 |
CN109614241A (zh) * | 2018-12-17 | 2019-04-12 | 杭州玳数科技有限公司 | 基于Yarn队列实现多集群多租户资源隔离的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5088754B2 (ja) * | 2009-12-18 | 2012-12-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | システム、方法、プログラムおよびコード生成装置 |
US20120246738A1 (en) * | 2011-03-21 | 2012-09-27 | Microsoft Corporation | Resource Sharing and Isolation in Role Based Access |
US10068041B2 (en) * | 2016-02-01 | 2018-09-04 | King Fahd University Of Petroleum And Minerals | Multi-core compact executable trace processor |
CN107133086B (zh) * | 2016-02-29 | 2020-09-04 | 阿里巴巴集团控股有限公司 | 基于分布式系统的任务处理方法、装置和系统 |
-
2019
- 2019-08-30 CN CN201910821044.3A patent/CN110532099B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2107488A1 (en) * | 2008-03-31 | 2009-10-07 | British Telecommunications Public Limited Company | Improvements in policy driven computer systems |
CN103593242A (zh) * | 2013-10-15 | 2014-02-19 | 北京航空航天大学 | 基于Yarn框架的资源共享控制系统 |
CN108885565A (zh) * | 2016-03-15 | 2018-11-23 | 微软技术许可有限责任公司 | 对游戏模式的操作系统支持 |
CN109542580A (zh) * | 2017-09-22 | 2019-03-29 | 中兴通讯股份有限公司 | 一种资源管理方法、装置、设备及计算机可读存储介质 |
CN109614241A (zh) * | 2018-12-17 | 2019-04-12 | 杭州玳数科技有限公司 | 基于Yarn队列实现多集群多租户资源隔离的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110532099A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106371894B (zh) | 一种配置方法、装置和数据处理服务器 | |
US10003500B2 (en) | Systems and methods for resource sharing between two resource allocation systems | |
CN109684065B (zh) | 一种资源调度方法、装置及系统 | |
CN107515786B (zh) | 资源分配方法、主装置、从装置和分布式计算系统 | |
WO2019179453A1 (zh) | 虚拟机创建方法及装置 | |
CN109144710B (zh) | 资源调度方法、装置及计算机可读存储介质 | |
US10455003B2 (en) | Method, server, and system for sharing resource data | |
WO2017016421A1 (zh) | 一种集群中的任务执行方法及装置 | |
US20130139172A1 (en) | Controlling the use of computing resources in a database as a service | |
WO2018157836A1 (zh) | 一种可编程硬件的资源管理方法、可编程硬件设备及存储介质 | |
WO2016197716A1 (zh) | 一种作业调度方法和装置 | |
US10275280B2 (en) | Reserving a core of a processor complex for a critical task | |
US8832695B2 (en) | Method of scheduling jobs and information processing apparatus implementing same | |
US20150199214A1 (en) | System for distributed processing of stream data and method thereof | |
US20160202909A1 (en) | I/o scheduling method using read prioritization to reduce application delay | |
US10270841B1 (en) | Systems and methods of real-time container deployment | |
CN106991071B (zh) | 内核调度方法及系统 | |
US10671438B2 (en) | Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex | |
US20140237474A1 (en) | Systems and methods for organizing dependent and sequential software threads | |
CN114168271B (zh) | 一种任务调度方法、电子设备及存储介质 | |
US10235202B2 (en) | Thread interrupt offload re-prioritization | |
CN111679900A (zh) | 任务处理方法和装置 | |
CN110532099B (zh) | 资源隔离方法和装置以及电子设备和介质 | |
CN106708865B (zh) | 流处理系统中访问窗口数据的方法和装置 | |
US9575795B2 (en) | Reverting a virtual resource to its base configuration using the snapshot image based on frequency the virtual resource is requested |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |