CN109428912B - 一种分布式系统资源分配方法、装置及系统 - Google Patents

一种分布式系统资源分配方法、装置及系统 Download PDF

Info

Publication number
CN109428912B
CN109428912B CN201710737516.8A CN201710737516A CN109428912B CN 109428912 B CN109428912 B CN 109428912B CN 201710737516 A CN201710737516 A CN 201710737516A CN 109428912 B CN109428912 B CN 109428912B
Authority
CN
China
Prior art keywords
resource
job
management server
job management
returning
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
Application number
CN201710737516.8A
Other languages
English (en)
Other versions
CN109428912A (zh
Inventor
张杨
冯亦挥
欧阳晋
韩巧焕
汪方
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710737516.8A priority Critical patent/CN109428912B/zh
Priority to EP18848279.8A priority patent/EP3675434B1/en
Priority to PCT/CN2018/100579 priority patent/WO2019037626A1/zh
Priority to JP2020508488A priority patent/JP2020531967A/ja
Publication of CN109428912A publication Critical patent/CN109428912A/zh
Priority to US16/799,616 priority patent/US11372678B2/en
Application granted granted Critical
Publication of CN109428912B publication Critical patent/CN109428912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5022Ensuring fulfilment of SLA by giving priorities, e.g. assigning classes of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/827Aggregation of resource allocation or reservation requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Abstract

本申请实施例提供一种分布式系统资源分配方法和设备,所述方法包括:接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息;根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间;根据确定的所述需要归还的资源、资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。本申请实施例提供的方法可以有效提高系统资源利用率,减少资源浪费。

Description

一种分布式系统资源分配方法、装置及系统
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种分布式系统资源分配方法、装置及系统。
背景技术
在分布式系统中,当作业节点需要申请资源时,作业管理服务器会向资源调度服务器发送资源申请请求,用于申请一定数量的机器资源供所述作业节点使用。资源调度服务器在收到所述资源申请请求后,会根据分布式系统中剩余的可用资源计算出可以分配给作业管理服务器的可用资源,生成可用资源列表,并将所述可用资源列表发送给所述作业管理服务器。作业管理服务器在收到可用资源列表后,会将作业节点分配到相应的机器节点执行作业程序。
在分布式系统中经常会出现集群整体资源耗尽,导致资源申请排队的情况。一般地,可以将资源申请请求按照优先级进行排队,周期性地从等待队列中取出资源请求重新提交以请求分配资源。在所述等待队列中,高优先级的资源请求会排在前面,低优先级的资源请求会排在后面。当资源调度服务器接收到一个优先级高且需要立即分配资源的资源申请请求时,为了确保优先级高的资源申请能够快速获得资源,资源调度服务器会暴力回收低优先级的作业资源,让高优先级的资源申请抢占低优先级的作业资源。
申请人经过研究发现,当发生高优先级的资源申请抢占低优先级的作业的资源的情形时,资源调度服务器会立即回收低优先级作业的资源,这时低优先级作业正在执行的程序会被立即强行终止。若低优先级的作业已执行了大部分,立即终止作业的方式使得低优先级的作业再次获得资源后需要从头开始执行,降低了整个系统的资源利用效率。
发明内容
本申请实施例提供了一种分布式系统资源分配方法、装置及系统,可以根据抢占资源的作业管理服务器的作业执行信息以及归还资源的作业管理服务器的当前作业执行进度确定归还资源的时机,有效提高了系统资源利用率,减少资源浪费。
为此,本申请实施例提供如下技术方案:
第一方面,本申请实施例提供了一种分布式资源分配系统,所述分布式资源分配系统包括资源调度服务器、第一作业管理服务器和第二作业管理服务器,其中:所述第一作业管理服务器用于向所述资源调度服务器发送资源申请请求,所述资源申请请求至少包括第一作业管理服务器的作业执行信息;所述资源调度服务器用于判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器;向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息;以及,接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器;所述第二作业管理服务器用于接收资源调度服务器发送的资源抢占请求,根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间;根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
第二方面,本申请实施例提供了一种分布式系统资源分配方法,应用于第二作业管理服务器,包括:接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息;根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间;根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
第三方面,本申请实施例提供了一种分布式系统资源分配方法,应用于资源调度服务器,包括:若判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器;向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息;接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器。
第四方面,本申请实施例提供了一种分布式系统资源分配方法应用于第一作业管理服务器,包括:向资源调度服务器发送资源申请请求,所述资源申请请求至少包括作业的产出截至时间或者所述作业的资源得到截至时间;接收资源调度服务器发送的资源分配请求,获取所述资源分配请求对应的资源。
第五方面,本申请实施例提供了一种第二作业管理服务器,包括:接收单元,用于接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息;确定单元,用于根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间;资源归还单元,用于根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
第六方面,本申请实施例提供了一种资源调度服务器,包括:确定单元,用于若判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器;发送单元,用于向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息;分配单元,用于接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器。
第七方面,本申请实施例提供了一种第一作业管理服务器,包括:发送单元,用于向资源调度服务器发送资源申请请求,所述资源申请请求至少包括作业的产出截至时间或者所述作业的资源得到截至时间;接收单元,用于接收资源调度服务器发送的资源分配请求,获取所述资源分配请求对应的资源。
第八方面,本申请实施例提供了一种用于资源分配的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包括用于进行以下操作的指令:接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息;根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间;根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
第九方面,本申请实施例提供了一种用于资源分配的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包括用于进行以下操作的指令:若判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器;向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息;接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器。
第十方面,本申请实施例提供了一种用于资源分配的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包括用于进行以下操作的指令:向资源调度服务器发送资源申请请求,所述资源申请请求至少包括作业的产出截至时间或者所述作业的资源得到截至时间;接收资源调度服务器发送的资源分配请求,获取所述资源分配请求对应的资源。
本申请实施例提供的分布式系统资源分配方法、装置及系统,在确定满足资源抢占条件时,资源调度服务器可以向归还资源的第二作业管理服务器发送资源抢占请求,由第二作业管理服务器根据所述资源抢占请求包括的第一作业管理服务器的作业执行信息确定资源归还截至时间,根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。由于本申请实施例提供的方法,在确定满足资源抢占条件时,并不立即回收第二作业管理服务器已分配的资源,而是由第二作业管理服务器根据第一作业管理服务器的作业执行信息以及第二作业管理服务器当前作业执行进度确定何时归还资源,使得第二作业管理服务器能够有效利用资源,同时能够有效提高系统整体资源利用效率,减少资源浪费。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的分布式资源分配系统示意图;
图2为本申请一实施例提供的分布式系统资源分配方法流程图;
图3为本申请另一实施例提供的分布式系统资源分配方法流程图;
图4为本申请实施例提供的资源分配队列示意图;
图5为本申请再一实施例提供的分布式系统资源分配方法流程图;
图6为本申请又一实施例提供的分布式系统资源分配方法流程图;
图7为本申请一实施例提供的第一作业管理服务器示意图;
图8为本申请一实施例提供的资源调度服务器示意图;
图9为本申请一实施例提供的第二作业管理服务器示意图;
图10是根据一示例性实施例示出的一种用于资源分配的装置的框图;
图11是根据一示例性实施例示出的一种用于资源分配的装置的框图;
图12是根据一示例性实施例示出的一种用于资源分配的装置的框图。
具体实施方式
本申请实施例提供了一种分布式系统资源分配方法、装置及系统,可以根据抢占资源的作业管理服务器的作业执行信息以及归还资源的作业管理服务器的当前作业执行进度确定归还资源的时机,有效提高了系统资源利用率,减少资源浪费。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
其中,技术术语“资源调度服务器”(英文全称为Resource Manager)一般是指分布式系统中协调、分配系统可用资源的服务器。
其中,技术术语“作业管理服务器”(英文全称为Job Master)一般是指分布式系统中控制本作业所有作业节点(Job Worker)的角色,负责代表所有作业节点向资源调度服务器申请作业资源,以及,向机器节点发送作业程序。一般地,分布式系统可以包括多个作业管理服务器。
其中,技术术语“机器节点”(英文全称为Machine Node)一般是指分布式系统中代表机器负责监管用户作业程序执行的角色。
其中,技术术语“作业节点”(英文全称为Job Worker)一般是指分布式系统中执行具体作业程序的角色,一般只与作业管理服务器通信。
其中,技术术语“作业申请资源”(英文全称为Request)一般是指作业管理服务器在分布式系统中申请的资源,与资源申请请求相对应。
其中,技术术语“作业得到资源”(英文全称为Resource)一般是指作业管理服务器在分布式系统中得到的资源,也就是资源调度器分配给作业管理服务器的资源。
其中,技术术语“机器得到资源”(英文全称为Resource)一般是指机器从资源调度器得到的某作业节点的资源。一般地,机器从资源调度器得到的某作业节点的资源后才允许作业节点执行程序。当某作业节点的资源被资源调度器回收后,机器将强制停止作业节点的执行。
其中,技术术语“资源申请请求的优先级”(Priority)用于描述资源申请请求的优先顺序,优先级越高,表明这个资源请求越重要,越应该优先被满足。
其中,技术术语“生产作业”一般是指每天在固定时间点执行的作业。
其中,技术术语“开发作业”一般是指由开发人员为了调试程序而提交的实验性质的作业,每天的执行时间不固定,优先级一般较低。
其中,技术术语“作业产出截至时间”一般是指用户作业最晚执行完的时间。
其中,技术术语“资源得到截至时间”一般是指作业管理服务器最晚得到资源的时间。
其中,技术术语“资源归还截至时间”一般是指作业管理服务器最晚归还资源的时间。
其中,技术术语“作业执行时间”一般是指作业执行完毕需要花费的时间。
参见图1,为本申请实施例提供的分布式资源分配系统。所述分布式资源分配系统包括资源调度服务器800、第一作业管理服务器700以及第二作业管理服务器900。所述分布式资源分配系统可以包括多个作业管理服务器。
需要说明的是,在现有技术中,当发生高优先级的资源申请抢占低优先级的作业的资源的情形时,资源调度服务器会立即回收低优先级作业的资源,这时低优先级作业正在执行的程序会被立即强行终止。
申请人经过研究发现,这种实现方式至少会存在以下缺陷:(1)假设第优先级的作业执行时间为1小时,当前已执行了55分钟,预计只需要再执行5分钟即可归还资源。若此时发生了资源抢占事件,资源调度服务器强制回收了低优先级作业的资源,从整个系统的资源利用率角度来看,这55分钟的资源也被浪费了。(2)若低优先级作业在执行过程只能怪需要将资源让给高优先级的作业,暴力回收的做法,导致第优先级作业已执行的部分完全丢失,没有机会进行备份。当低优先级作业再次获得资源时,只能从头开始执行,降低了执行效率。(3)假设高优先级作业的执行时间为1小时,其提交资源申请请求的时间与作业产出截至时间相隔2小时,若高优先级作业第一时间抢占低优先级作业的资源,而低优先级作业只要5分钟就执行完,这时的暴力抢占则是没有必要的。
申请人通过上述分析发现,若不考虑高优先级作业的执行时间、产出截至时间以及低优先级作业的执行进度,就直接暴力回收低优先级作业的资源并分配给高优先级的作业,会发生不必要的抢占事件,从而降低系统的资源利用率。
基于此,本申请提供了一种资源分配方法、装置和系统,取代直接暴力回收低优先级作业已分配资源的方式,在资源抢占事件发生时,资源调度服务器器和低优先级作业的作业管理服务器能够先进行一轮交互式协商,根据高优先级作业的执行时间、产出截至时间、低优先级作业的执行进度等信息综合判断何时回收低优先级作业的资源,从而既能保证高优先级作业能够拿到资源,同时最大化系统有效资源利用率。
如图1所示,所述分布式资源分配系统包括资源调度服务器800、第一作业管理服务器700和第二作业管理服务器900,其中:
所述第一作业管理服务器700用于向所述资源调度服务器发送资源申请请求,所述资源申请请求至少包括第一作业管理服务器700的作业执行信息。
所述资源调度服务器800用于判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器700以及归还资源的第二作业管理服务器900;向所述归还资源的第二作业管理服务器900发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器700对应的作业执行信息;以及,接收所述归还资源的第二作业管理服务器900发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器700。
所述第二作业管理服务器900用于接收资源调度服务器800发送的资源抢占请求,根据所述资源抢占请求包括的第一作业管理服务器700对应的作业执行信息确定所述第二作业管理服务器900的资源归还截至时间;根据确定的所述资源归还截至时间以及所述第二作业管理服务器900的当前作业执行进度,向所述资源调度服务器700归还需要归还的资源。
以上对本申请实施例提供的资源分配系统进行了简单介绍,下面分别从第一作业管理器、资源调度服务器、第二作业管理服务器侧介绍本申请实施例提供的资源分配方法。
下面将结合附图2至附图5对本申请示例性实施例示出的资源分配方法进行介绍。
参见图2,为本申请一实施例提供的分布式系统资源分配方法流程图。如图2所示,所示方法应用于第一作业管理服务器,可以包括:
S201,第一作业管理服务器向资源调度服务器发送资源申请请求,所述资源申请请求至少包括作业的产出截至时间或者所述作业的资源得到截至时间。
具体实现时,需要得到资源的第一作业管理服务器可以向资源调度服务器发送资源申请请求。在一种可能的实现方式中,所述资源申请请求包括作业的产出截至时间,也就是作业的最晚产出时间。在这种实现方式中,资源申请请求仅包括作业的产出截至时间,由资源调度服务器计算作业的执行时间。例如,由资源调度服务器获取所述作业的历史数据,根据所述作业的历史数据计算得到所述作业的执行时间。举例说明,作业的执行时间一般是有规律的,可以由作业管理服务器或者资源调度服务器根据历史数据例如过去7天作业的平均执行时间来确定所述作业的执行时间。
在另一种可能的实现方式中,所述资源申请请求可以包括作业产出截至时间以及作业执行时间。需要说明的是,所述作业执行时间一般是指作业执行完毕需要花费的时间,例如可以是作业从得到资源开始执行到执行完毕归还资源的时间。一般地,可以通过以下方式确定作业执行时间:(1)用户可以指定作业执行时间。例如,用户作业在正式提交到分布式系统中执行时,一定会进行线下调试,可以通过线下调试估计出用户作业的执行时间,并在提交资源申请请求时由用户指定或者设置作业执行时间。(2)获取所述作业的历史数据,根据所述作业的历史数据计算得到所述作业的执行时间。
在另外一种可能的实现方式中,所述资源申请请求包括所述作业的资源得到截至时间。具体实现时,第一作业管理服务器可以确定作业的执行时间以及产出截至时间,根据所述作业的产出截至时间与所述作业的执行时间的差值得到所述作业的资源得到截至时间。举例说明,资源得到截至时间TA_Recieve=产出截至时间-执行时间。例如,某一作业的产出截至时间为22点,作业执行时间为2小时,则资源得到截至时间为20点。
当然,在其他实现方式中,所述资源申请请求也可以包括作业执行时间、作业产出截至时间、资源得到截至时间,在此不进行限定。
S202,第一作业管理服务器接收资源调度服务器发送的资源分配请求,获取所述资源分配请求对应的资源。
需要说明的是,不同于现有技术资源申请请求仅包括请求提交时间的方式,本申请中,资源申请请求还包括了作业的执行信息,由此来确定作业的资源得到截至时间和/或资源归还截至时间,更为灵活地确定资源分配、归还的时间,能够有效提高资源利用效率。
参见图3,为本申请一实施例提供的分布式系统资源分配方法流程图。如图3所示,所示方法应用于资源调度服务器,可以包括:
S301,若判断满足资源抢占条件时,资源调度服务器确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器。
具体实现时,所述判断满足资源抢占条件包括:当确定接收到的资源申请请求的优先级为高优先级且所述系统剩余可用资源数量小于所述资源申请请求的申请数量时,判断满足资源抢占条件。举例说明,第一作业管理服务器向资源调度服务器发送资源申请请求C,假设其需要申请的资源为CPU:70、MEM:60,资源申请请求的优先级为4。这时系统剩余可用资源为CPU:0、MEM:0,这时系统剩余可用资源不能够满足或者完全满足高优先级作业的请求,这时会触发资源抢占。资源调度服务器会遍历资源分配队列,以确定需要归还资源的作业管理服务器。具体地,在资源调度服务器中存在一个资源分配队列,纪录了资源调度服务器对资源申请的资源分配情况,这个队列按照资源申请的优先级进行排列。当有一个高优先级的资源申请交到资源调度服务器器且系统剩余资源不足以满足这个资源申请时,资源调度服务器会按照低优先级到高优先级的顺序去遍历资源分配队列,对于每一个比所述高优先级资源申请的优先级低的资源申请,先假设它的所有已分配资源都被回收,然后与集群的剩余资源累加。判断累加后得到的新剩余资源是否能够满足高优先级的资源申请,如果满足,则停止遍历;如果不满足,则继续遍历下一个低优先级的资源申请,直到能够满足高优先级的资源申请。所有低优先级的作业的已用资源都可以被高优先级的作业抢占。如图4所示,为本申请实施例提供的资源分配队列示意图。举例说明,假设按照优先级低到高的顺序遍历资源分配队列,对于资源申请B,假设它的已分配资源都被抢占,那么新的剩余资源就是CPU:30、MEM:20。这时还不足以满足高优先级资源申请,继续遍历到资源请求B,假设它的已分配资源都被抢占,那么新的剩余资源就是CPU:70、MEM:60。此时剩余资源能够满足高优先级资源申请,于是确定归还资源的第二作业管理服务器为资源申请B以及资源申请A对应的作业管理服务器。
S302,资源调度服务器向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息。
不同于现有技术直接暴力回收归还资源的第二作业管理服务器的已分配资源的方式,本申请实施例中,资源调度服务器向归还资源的第二作业管理服务器发送资源抢占请求,通知其需要归还资源给高优先级的作业。
在一种可能的实现方式中,第一作业管理器向资源调度服务器发送的资源申请请求仅包括作业产出截至时间,所述资源抢占请求包括的第一作业管理服务器的作业执行信息可以包括所述作业的产出截至时间和所述作业的执行时间。其中,所述作业执行时间通过以下方式确定:资源调度服务器获取所述作业的历史数据,根据所述作业的历史数据计算得到所述作业的执行时间。
在又一种可能的实现方式中,第一作业管理器向资源调度服务器发送的资源申请请求包括作业产出截至时间和作业执行时间,所述资源抢占请求包括的第一作业管理服务器的作业执行信息可以包括所述作业的产出截至时间和所述作业的执行时间。或者,所述资源抢占请求包括的第一作业管理服务器的作业执行信息可以包括所述作业的资源得到截至时间。其中,所述作业的资源得到截至时间通过以下方式确定:
在另一种可能的实现方式中,所述第一作业管理器向资源调度服务器发送的资源申请请求包括作业资源得到截至时间,所述资源抢占请求包括的第一作业管理服务器的作业执行信息可以包括所述作业的资源得到截至时间。
当资源调度服务器确定归还资源的第二作业管理服务器包括多个作业管理服务器时,资源调度服务器分别向所述多个作业管理服务器发送资源抢占请求。
S303,资源调度服务器接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器。
需要说明的是,资源调度服务器在确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器时,可以记录第一作业管理服务器和第二作业管理服务器的对应关系。在第二作业管理服务器发送资源归还请求时,即可以将归还的资源分配给对应的第一作业管理服务器,而不会分别给其他等待的作业管理服务器,从而保证了高优先级的作业能够快速拿到资源。
参见图5,为本申请一实施例提供的分布式系统资源分配方法流程图。如图5所示,所示方法应用于第二作业管理服务器,可以包括:
S501,第二作业管理服务器接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息。
其中,所述第一作业管理服务器对应的作业执行信息可以包括所述作业的产出截至时间和所述作业的执行时间,或者,所述作业执行信息包括所述作业的资源得到截至时间。
需要说明的是,所述资源抢占请求还可以包括归还资源的数量,第二作业管理服务器可以根据归还资源数量确定归还已分配的部分或者全部资源。
S502,第二作业管理服务器根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间。
在一些实施方式中,所述第一作业管理服务器对应的作业执行信息包括所述作业的产出截至时间和所述作业的执行时间,所述根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间包括:根据所述作业的产出截至时间与所述作业的执行时间的差值得到所述作业的资源得到截至时间,将所述作业的资源得到截至时间作为所述第二作业管理服务器的资源归还截至时间。
在另一些实施方式中,所述第一作业管理服务器对应的作业执行信息包括所述作业的资源得到截至时间,可以将所述资源得到截至时间作为资源归还截至时间。
S503,第二作业管理服务器根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
在一些实施方式中,所述根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源包括:根据所述第二作业管理服务器的当前作业执行进度计算得到当前作业的剩余完成时间;若判断当前时间与当前作业的剩余完成时间的和值不大于所述资源归还截至时间,则所述第二作业管理服务器在当前作业执行完毕后向所述资源调度服务器归还需要归还的资源。
在一些实施方式中,所述根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源包括:根据所述第二作业管理服务器的当前作业执行进度计算得到当前作业的剩余完成时间;若判断当前时间与当前作业的剩余完成时间的和值大于所述资源归还截至时间,则所述第二作业管理服务器对当前作业进行备份,记录备份位置,备份完成后向所述资源调度服务器归还需要归还的资源。进一步地,所述方法还包括:接收所述资源调度服务器再次分配的资源,获取当前作业的备份,从备份位置继续执行当前作业。
举例说明,第二作业管理服务器在收到资源调度服务器发送的资源抢占请后,可以确定最终资源归还时间TA_Return,以及,根据当前作业已经执行的时间TA_run和预估的作业执行时间TA_all来得出作业的剩余完成时间:TA_left=TA_all–TA_run。如果当前时间+TA_left<=TA_Return,则等待作业A执行完成后自然归还资源。如果当前时间+TA_left>TA_Return,则在作业A执行接近TA_Return时间点的时候,作业A开始记录备份,以备再次拿到资源的时候能够从备份位置继续执行,而不是从头执行。记录完备份后,第二作业管理服务器将资源主动归还给资源调度服务器,同时等待资源调度服务器再次分配资源。
为了便于本领域技术人员更清楚地理解本申请的实施方式,下面以一个具体示例对本申请实施方式进行介绍。需要说明的是,该具体示例仅为使得本领域技术人员更清楚地了解本申请,但本申请的实施方式不限于该具体示例。
参见图6,为本申请一实施例提供的分布式系统资源分配方法流程图。如图6所示,可以包括:
S601,第一作业管理服务器向资源调度服务器发送资源申请请求。
所述资源申请请求包括作业产出截至时间和作业执行时间。
S602,资源调度服务器接收资源申请请求,判断是否满足资源抢占条件。
S603,资源调度服务器确定满足资源抢占条件,遍历资源分配队列,确定归还资源的第二作业管理服务器,记录第一作业管理服务器与第二作业管理服务器的对应关系。
其中,可以确定多个第二作业管理服务器作为归还资源的作业管理服务器。
S604,资源调度服务器向第二作业管理服务器发送资源抢占请求。
所述资源抢占请求包括第一作业管理服务器的作业产出截至时间和作业执行时间。
S605,第二作业管理服务器确定资源归还截至时间。
第二作业管理服务器根据所述作业的产出截至时间与所述作业的执行时间的差值得到所述作业的资源得到截至时间,将所述作业的资源得到截至时间作为所述第二作业管理服务器的资源归还截至时间。
S606,第二作业管理服务器根据资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,确定归还资源的时机。
其中,第二作业管理服务器根据所述第二作业管理服务器的当前作业执行进度计算得到当前作业的剩余完成时间。若判断当前时间与当前作业的剩余完成时间的和值不大于所述资源归还截至时间,则所述第二作业管理服务器在当前作业执行完毕后向所述资源调度服务器归还需要归还的资源。若判断当前时间与当前作业的剩余完成时间的和值大于所述资源归还截至时间,则所述第二作业管理服务器对当前作业进行备份,记录备份位置,备份完成后向所述资源调度服务器归还需要归还的资源。
S607,第二作业管理服务器发送资源归还请求。
S608,资源调度服务器为第一作业管理服务器分配资源。
本申请实施例提供的资源分配方法,可以在保证高优先级作业快速得到资源的同时,最大程度提高系统的资源利用效率。
下面对本申请实施例提供的方法对应的设备进行介绍。
参见图7,为本申请一实施例提供的第一作业管理服务器示意图。
一种第一作业管理服务器装置700,包括:
发送单元701,用于向资源调度服务器发送资源申请请求,所述资源申请请求至少包括作业的产出截至时间或者所述作业的资源得到截至时间。其中,所述发送单元701的具体实现可以参照图2所示实施例的S201而实现。
接收单元702,用于接收资源调度服务器发送的资源分配请求,获取所述资源分配请求对应的资源。其中,所述发送单元702的具体实现可以参照图2所示实施例的S202而实现。
参见图8,为本申请一实施例提供的资源调度服务器示意图。
一种资源调度服务器800,包括:
确定单元801,用于若判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器。其中,所述发送单元801的具体实现可以参照图3所示实施例的S301而实现。
发送单元802,用于向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息。其中,所述发送单元802的具体实现可以参照图3所示实施例的S302而实现。
分配单元803,用于接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器。其中,所述分配单元803的具体实现可以参照图3所示实施例的S303而实现。
在一些实施方式中,所述资源调度服务器还包括:
判断单元,用于当确定接收到的资源申请请求的优先级为高优先级且所述系统剩余可用资源数量小于所述资源申请请求的申请数量时,判断满足资源抢占条件。
在一些实施方式中,所述发送单元发送的第一作业管理服务器对应的作业执行信息包括所述作业的产出截至时间和所述作业的执行时间,或者,所述作业执行信息包括所述作业的资源得到截至时间。
在一些实施方式中,所述接收单元接收的第一作业管理服务器的资源申请请求包括所述作业的产出截至时间,所述发送单元发送的作业的执行时间通过以下方式确定:获取所述作业的历史数据,根据所述作业的历史数据计算得到所述作业的执行时间;以及,所述发送单元发送的作业的资源得到截至时间通过以下方式确定:根据所述作业的产出截至时间与所述作业的执行时间的差值得到所述作业的资源得到截至时间。
参见图9,为本申请一实施例提供的第二作业管理服务器示意图。
一种第二作业管理服务器900,包括:
接收单元901,用于接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息。其中,所述接收单元901的具体实现可以参照图5所示实施例的S501而实现。
确定单元902,用于根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间。其中,所述确定单元902的具体实现可以参照图5所示实施例的S502而实现。
资源归还单元903,用于根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。其中,所述资源归还单元903的具体实现可以参照图5所示实施例的S503而实现。
在一些实施方式中,所述接收单元接收的第一作业管理服务器对应的作业执行信息包括所述作业的产出截至时间和所述作业的执行时间,所述确定单元用于根据所述作业的产出截至时间与所述作业的执行时间的差值得到所述作业的资源得到截至时间,将所述作业的资源得到截至时间作为所述第二作业管理服务器的资源归还截至时间。
在一些实施方式中,所述资源归还单元具体用于:根据所述第二作业管理服务器的当前作业执行进度计算得到当前作业的剩余完成时间;若判断当前时间与当前作业的剩余完成时间的和值不大于所述资源归还截至时间,则所述第二作业管理服务器在当前作业执行完毕后向所述资源调度服务器归还需要归还的资源。
在一些实施方式中,所述资源归还单元具体用于:根据所述第二作业管理服务器的当前作业执行进度计算得到当前作业的剩余完成时间;若判断当前时间与当前作业的剩余完成时间的和值大于所述资源归还截至时间,则所述第二作业管理服务器对当前作业进行备份,记录备份位置,备份完成后向所述资源调度服务器归还需要归还的资源。
在一些实施方式中,所述第二作业管理服务器还包括:
获取单元,用于接收所述资源调度服务器再次分配的资源,获取当前作业的备份,从备份位置继续执行当前作业。
参见图10,是本申请另一实施例提供的资源分配的装置的框图。包括:至少一个处理器1001(例如CPU),存储器1002和至少一个通信总线1003,用于实现这些装置之间的连接通信。处理器1001用于执行存储器1002中存储的可执行模块,例如计算机程序。存储器1002可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器1001执行所述一个或者一个以上程序包括用于进行以下操作的指令:接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息;根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间;根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
在一些实施方式中,处理器1001具体用于执行所述一个或者一个以上程序包括用于进行以下操作的指令:当所述第一作业管理服务器对应的作业执行信息包括所述作业的产出截至时间和所述作业的执行时间时,根据所述作业的产出截至时间与所述作业的执行时间的差值得到所述作业的资源得到截至时间,将所述作业的资源得到截至时间作为所述第二作业管理服务器的资源归还截至时间。
在一些实施方式中,处理器1001具体用于执行所述一个或者一个以上程序包括用于进行以下操作的指令:根据所述第二作业管理服务器的当前作业执行进度计算得到当前作业的剩余完成时间;若判断当前时间与当前作业的剩余完成时间的和值不大于所述资源归还截至时间,则所述第二作业管理服务器在当前作业执行完毕后向所述资源调度服务器归还需要归还的资源。
在一些实施方式中,处理器1001具体用于执行所述一个或者一个以上程序包括用于进行以下操作的指令:根据所述第二作业管理服务器的当前作业执行进度计算得到当前作业的剩余完成时间;若判断当前时间与当前作业的剩余完成时间的和值大于所述资源归还截至时间,则所述第二作业管理服务器对当前作业进行备份,记录备份位置,备份完成后向所述资源调度服务器归还需要归还的资源。
在一些实施方式中,处理器1001具体用于执行所述一个或者一个以上程序包括用于进行以下操作的指令:接收所述资源调度服务器再次分配的资源,获取当前作业的备份,从备份位置继续执行当前作业。
参见图11,是本申请另一实施例提供的资源分配的装置的框图。包括:至少一个处理器1101(例如CPU),存储器1102和至少一个通信总线1103,用于实现这些装置之间的连接通信。处理器1101用于执行存储器1102中存储的可执行模块,例如计算机程序。存储器1102可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器1101执行所述一个或者一个以上程序包括用于进行以下操作的指令:若判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器;向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息;接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器。
在一些实施方式中,处理器1101具体用于执行所述一个或者一个以上程序包括用于进行以下操作的指令:当确定接收到的资源申请请求的优先级为高优先级且所述系统剩余可用资源数量小于所述资源申请请求的申请数量时,判断满足资源抢占条件。
在一些实施方式中,处理器1101具体用于执行所述一个或者一个以上程序包括用于进行以下操作的指令:获取所述作业的历史数据,根据所述作业的历史数据计算得到所述作业的执行时间;根据所述作业的产出截至时间与所述作业的执行时间的差值得到所述作业的资源得到截至时间。
参见图12,是本申请另一实施例提供的资源分配的装置的框图。包括:至少一个处理器1201(例如CPU),存储器1202和至少一个通信总线1203,用于实现这些装置之间的连接通信。处理器1201用于执行存储器1202中存储的可执行模块,例如计算机程序。存储器1202可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器1201执行所述一个或者一个以上程序包括用于进行以下操作的指令:向资源调度服务器发送资源申请请求,所述资源申请请求至少包括作业的产出截至时间或者所述作业的资源得到截至时间;接收资源调度服务器发送的资源分配请求,获取所述资源分配请求对应的资源。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器304,上述指令可由装置300的处理器320执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种机器可读介质,例如该机器可读介质可以为非临时性计算机可读存储介质,当所述介质中的指令由装置(终端或者服务器)的处理器执行时,使得装置能够执行如图1所示的深孔测量方法,所述方法包括:接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息;根据所述第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间;根据确定的所述需要归还的资源、资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
其中,本申请装置各单元或模块的设置可以参照图2至图6所示的方法而实现,在此不赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (18)

1.一种分布式资源分配系统,其特征在于,所述分布式资源分配系统包括资源调度服务器、第一作业管理服务器和第二作业管理服务器,其中:
所述第一作业管理服务器用于向所述资源调度服务器发送资源申请请求,所述资源申请请求至少包括第一作业管理服务器的作业执行信息;
所述资源调度服务器用于判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器;向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息;以及,接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器;
所述第二作业管理服务器用于接收资源调度服务器发送的资源抢占请求,根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间;根据确定的所述需要归还的资源、资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
2.一种分布式系统资源分配方法,其特征在于,应用于第二作业管理服务器,包括:
接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息;
根据所述第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间;
根据确定的所述需要归还的资源、资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
3.根据权利要求2所述的方法,其特征在于,所述第一作业管理服务器对应的作业执行信息包括所述作业的产出截至时间和所述作业的执行时间,所述根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间包括:
根据所述作业的产出截至时间与所述作业的执行时间的差值得到所述作业的资源得到截至时间,将所述作业的资源得到截至时间作为所述第二作业管理服务器的资源归还截至时间。
4.根据权利要求2所述的方法,其特征在于,所述根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源包括:
根据所述第二作业管理服务器的当前作业执行进度计算得到当前作业的剩余完成时间;
若判断当前时间与当前作业的剩余完成时间的和值不大于所述资源归还截至时间,则所述第二作业管理服务器在当前作业执行完毕后向所述资源调度服务器归还需要归还的资源。
5.根据权利要求2所述的方法,其特征在于,所述根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源包括:
根据所述第二作业管理服务器的当前作业执行进度计算得到当前作业的剩余完成时间;
若判断当前时间与当前作业的剩余完成时间的和值大于所述资源归还截至时间,则所述第二作业管理服务器对当前作业进行备份,记录备份位置,备份完成后向所述资源调度服务器归还需要归还的资源。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述资源调度服务器再次分配的资源,获取当前作业的备份,从备份位置继续执行当前作业。
7.一种分布式系统资源分配方法,其特征在于,应用于资源调度服务器,包括:
若判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器;
向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息;
接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器。
8.根据权利要求7所述的方法,其特征在于,所述判断满足资源抢占条件包括:
当确定接收到的资源申请请求的优先级为高优先级且所述系统剩余可用资源数量小于所述资源申请请求的申请数量时,判断满足资源抢占条件。
9.根据权利要求7或8所述的方法,其特征在于,所述第一作业管理服务器对应的作业执行信息包括所述作业的产出截至时间和所述作业的执行时间,或者,所述作业执行信息包括所述作业的资源得到截至时间。
10.根据权利要求9所述的方法,其特征在于,所述第一作业管理服务器的资源申请请求包括所述作业的产出截至时间,所述作业的执行时间通过以下方式确定:
获取所述作业的历史数据,根据所述作业的历史数据计算得到所述作业的执行时间;
所述作业的资源得到截至时间通过以下方式确定:
根据所述作业的产出截至时间与所述作业的执行时间的差值得到所述作业的资源得到截至时间。
11.一种分布式系统资源分配方法,其特征在于,应用于第一作业管理服务器,包括:
向资源调度服务器发送资源申请请求,所述资源申请请求至少包括作业的产出截至时间或者所述作业的资源得到截至时间;
接收资源调度服务器发送的资源分配请求,获取所述资源分配请求对应的资源。
12.一种第二作业管理服务器,其特征在于,包括:
接收单元,用于接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息;
确定单元,用于根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定所述第二作业管理服务器需要归还的资源以及资源归还截至时间;
资源归还单元,用于根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
13.一种资源调度服务器,其特征在于,包括:
确定单元,用于若判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器;
发送单元,用于向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息;
分配单元,用于接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器。
14.一种第一作业管理服务器,其特征在于,包括:
发送单元,用于向资源调度服务器发送资源申请请求,所述资源申请请求至少包括作业的产出截至时间或者所述作业的资源得到截至时间;
接收单元,用于接收资源调度服务器发送的资源分配请求,获取所述资源分配请求对应的资源。
15.一种用于资源分配的装置,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包括用于进行以下操作的指令:
接收资源调度服务器发送的资源抢占请求,所述资源抢占请求包括第一作业管理服务器对应的作业执行信息;
根据所述资源抢占请求包括的第一作业管理服务器对应的作业执行信息确定第二作业管理服务器需要归还的资源以及资源归还截至时间;
根据确定的所述资源归还截至时间以及所述第二作业管理服务器的当前作业执行进度,在所述资源归还截至时间到达前向所述资源调度服务器归还需要归还的资源。
16.一种用于资源分配的装置,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包括用于进行以下操作的指令:
若判断满足资源抢占条件时,确定抢占资源的第一作业管理服务器以及归还资源的第二作业管理服务器;
向所述归还资源的第二作业管理服务器发送资源抢占请求,所述资源抢占请求至少包括所述抢占资源的第一作业管理服务器对应的作业执行信息;
接收所述归还资源的第二作业管理服务器发送的资源归还请求,将所述资源归还请求对应的资源分配给所述抢占资源的第一作业管理服务器。
17.一种用于资源分配的装置,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包括用于进行以下操作的指令:
向资源调度服务器发送资源申请请求,所述资源申请请求至少包括作业的产出截至时间或者所述作业的资源得到截至时间;
接收资源调度服务器发送的资源分配请求,获取所述资源分配请求对应的资源。
18.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如权利要求2至6中一个或多个所述的资源分配方法。
CN201710737516.8A 2017-08-24 2017-08-24 一种分布式系统资源分配方法、装置及系统 Active CN109428912B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201710737516.8A CN109428912B (zh) 2017-08-24 2017-08-24 一种分布式系统资源分配方法、装置及系统
EP18848279.8A EP3675434B1 (en) 2017-08-24 2018-08-15 Distributed system resource allocation method, device and system
PCT/CN2018/100579 WO2019037626A1 (zh) 2017-08-24 2018-08-15 一种分布式系统资源分配方法、装置及系统
JP2020508488A JP2020531967A (ja) 2017-08-24 2018-08-15 分散システム資源配分の方法、装置、及びシステム
US16/799,616 US11372678B2 (en) 2017-08-24 2020-02-24 Distributed system resource allocation method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710737516.8A CN109428912B (zh) 2017-08-24 2017-08-24 一种分布式系统资源分配方法、装置及系统

Publications (2)

Publication Number Publication Date
CN109428912A CN109428912A (zh) 2019-03-05
CN109428912B true CN109428912B (zh) 2020-07-10

Family

ID=65438390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710737516.8A Active CN109428912B (zh) 2017-08-24 2017-08-24 一种分布式系统资源分配方法、装置及系统

Country Status (5)

Country Link
US (1) US11372678B2 (zh)
EP (1) EP3675434B1 (zh)
JP (1) JP2020531967A (zh)
CN (1) CN109428912B (zh)
WO (1) WO2019037626A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109428912B (zh) 2017-08-24 2020-07-10 阿里巴巴集团控股有限公司 一种分布式系统资源分配方法、装置及系统
CN110096357A (zh) * 2019-03-29 2019-08-06 北京奇安信科技有限公司 一种分布式系统的内存资源清理方法及装置
CN110134521B (zh) * 2019-05-28 2021-06-11 北京达佳互联信息技术有限公司 资源分配的方法、装置、资源管理器及存储介质
CN110362407A (zh) * 2019-07-19 2019-10-22 中国工商银行股份有限公司 计算资源调度方法及装置
FR3103596B1 (fr) * 2019-11-26 2021-11-19 Thales Sa Procede d'affectation de ressources en reponse a des requetes en fonction de leur priorite, programme d'ordinateur, bloc de controle d'affectation et systeme informatique associes
CN111459656B (zh) * 2020-03-06 2023-11-03 北京百度网讯科技有限公司 服务器管理方法、装置、电子设备和存储介质
CN112416450B (zh) * 2020-06-05 2023-02-17 上海哔哩哔哩科技有限公司 资源加密及展示方法及系统
CN115311123B (zh) * 2022-08-11 2023-04-28 浙江中测新图地理信息技术有限公司 一种像素流gpu资源调度方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011050633A1 (zh) * 2009-10-27 2011-05-05 中兴通讯股份有限公司 业务接纳处理方法及装置
CN102761469A (zh) * 2011-04-27 2012-10-31 阿里巴巴集团控股有限公司 一种资源池的分配方法和装置
CN103294533A (zh) * 2012-10-30 2013-09-11 北京安天电子设备有限公司 任务流控制方法及系统
CN104079503A (zh) * 2013-03-27 2014-10-01 华为技术有限公司 一种资源分配方法及装置
WO2017092525A1 (zh) * 2015-11-30 2017-06-08 中兴通讯股份有限公司 资源分配方法及装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2189861C (en) * 1995-03-31 2000-01-25 Louis H. Linneweh, Jr. Method and apparatus for allocating communication resources to support priority communications in a communication system
US6081513A (en) * 1997-02-10 2000-06-27 At&T Corp. Providing multimedia conferencing services over a wide area network interconnecting nonguaranteed quality of services LANs
CA2297994A1 (en) * 2000-02-04 2001-08-04 Ibm Canada Limited-Ibm Canada Limitee Automated testing computer system components
US20030022395A1 (en) * 2001-07-17 2003-01-30 Thoughtbeam, Inc. Structure and method for fabricating an integrated phased array circuit
US7139846B1 (en) * 2003-09-30 2006-11-21 Veritas Operating Corporation Computer system and method for performing low impact backup operations
US7234075B2 (en) * 2003-12-30 2007-06-19 Dell Products L.P. Distributed failover aware storage area network backup of application data in an active-N high availability cluster
US7380711B2 (en) * 2004-07-23 2008-06-03 Checkpoint Systems, Inc. Self-check system and method for protecting digital media
US20080065663A1 (en) * 2005-04-14 2008-03-13 Emc Corporation Reestablishing process context
JP4688617B2 (ja) * 2005-09-16 2011-05-25 株式会社日立製作所 記憶制御システム及び方法
US7844445B2 (en) * 2005-10-12 2010-11-30 Storage Appliance Corporation Automatic connection to an online service provider from a backup system
JP4778916B2 (ja) * 2007-02-05 2011-09-21 富士通株式会社 QoS要求受付プログラム、QoS要求受付装置およびQoS要求受付方法
JP4935595B2 (ja) * 2007-09-21 2012-05-23 富士通株式会社 ジョブ管理方法、ジョブ管理装置およびジョブ管理プログラム
US20090133029A1 (en) * 2007-11-12 2009-05-21 Srinidhi Varadarajan Methods and systems for transparent stateful preemption of software system
US20100131959A1 (en) * 2008-11-26 2010-05-27 Spiers Adam Z Proactive application workload management
US20100191881A1 (en) * 2009-01-23 2010-07-29 Computer Associates Think, Inc. System and Method for Reserving and Provisioning IT Resources
US8627322B2 (en) * 2010-10-29 2014-01-07 Google Inc. System and method of active risk management to reduce job de-scheduling probability in computer clusters
US8612597B2 (en) * 2010-12-07 2013-12-17 Microsoft Corporation Computing scheduling using resource lend and borrow
WO2013158000A1 (en) * 2012-04-16 2013-10-24 Telefonaktiebolaget L M Ericsson (Publ) Method and radio network node for managing radio resources
WO2014005288A1 (zh) * 2012-07-03 2014-01-09 厦门简帛信息科技有限公司 一种基于数字资源的网络系统及其使用方法
US8896867B2 (en) * 2012-09-11 2014-11-25 Xerox Corporation Methods and systems for assigning jobs to production devices
US20150154714A1 (en) * 2013-05-08 2015-06-04 Panasonic Intellectual Property Corporation Of America Service provision method
US9448842B1 (en) * 2016-01-29 2016-09-20 International Business Machines Corporation Selecting and resizing currently executing job to accommodate execution of another job
US10169082B2 (en) * 2016-04-27 2019-01-01 International Business Machines Corporation Accessing data in accordance with an execution deadline
US10089144B1 (en) * 2016-06-17 2018-10-02 Nutanix, Inc. Scheduling computing jobs over forecasted demands for computing resources
US20180060133A1 (en) * 2016-09-01 2018-03-01 Amazon Technologies, Inc. Event-driven resource pool management
US10545796B2 (en) * 2017-05-04 2020-01-28 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a scheduler with preemptive termination of existing workloads to free resources for high priority items
CN109428912B (zh) 2017-08-24 2020-07-10 阿里巴巴集团控股有限公司 一种分布式系统资源分配方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011050633A1 (zh) * 2009-10-27 2011-05-05 中兴通讯股份有限公司 业务接纳处理方法及装置
CN102761469A (zh) * 2011-04-27 2012-10-31 阿里巴巴集团控股有限公司 一种资源池的分配方法和装置
CN103294533A (zh) * 2012-10-30 2013-09-11 北京安天电子设备有限公司 任务流控制方法及系统
CN104079503A (zh) * 2013-03-27 2014-10-01 华为技术有限公司 一种资源分配方法及装置
WO2017092525A1 (zh) * 2015-11-30 2017-06-08 中兴通讯股份有限公司 资源分配方法及装置

Also Published As

Publication number Publication date
CN109428912A (zh) 2019-03-05
WO2019037626A1 (zh) 2019-02-28
US11372678B2 (en) 2022-06-28
EP3675434A1 (en) 2020-07-01
EP3675434B1 (en) 2023-10-04
US20200192711A1 (en) 2020-06-18
EP3675434A4 (en) 2020-09-02
JP2020531967A (ja) 2020-11-05

Similar Documents

Publication Publication Date Title
CN109428912B (zh) 一种分布式系统资源分配方法、装置及系统
CN107025205B (zh) 一种分布式系统中的训练模型的方法及设备
US10649806B2 (en) Elastic management of machine learning computing
US10554577B2 (en) Adaptive resource scheduling for data stream processing
US11582166B2 (en) Systems and methods for provision of a guaranteed batch
US8458712B2 (en) System and method for multi-level preemption scheduling in high performance processing
CN106250218B (zh) 用于使用滑动时间窗口调度任务的系统和方法
CN113037538B (zh) 分布式资源管理中低时延节点本地调度的系统和方法
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
US9507633B2 (en) Scheduling method and system
CN107430526B (zh) 用于调度数据处理的方法和节点
CN107168777B (zh) 分布式系统中资源的调度方法以及装置
CN115617497A (zh) 线程处理方法、调度组件、监测组件、服务器和存储介质
CN114371926A (zh) 一种精细化资源分配方法、装置、电子设备及介质
EP2840513B1 (en) Dynamic task prioritization for in-memory databases
CN110175078B (zh) 业务处理方法及装置
US8788601B2 (en) Rapid notification system
CN109964206B (zh) 用于处理任务的设备和方法
US9710311B2 (en) Information processing system, method of controlling information processing system, and recording medium
Chen et al. Speculative slot reservation: Enforcing service isolation for dependent data-parallel computations
CN113254177B (zh) 基于集群的任务提交方法、计算机程序产品及电子设备
Hung et al. An Optimal Recovery Time Method in Cloud Computing
CN116991618A (zh) 信息处理方法及装置
CN115934322A (zh) 用于在计算系统中执行任务的方法、装置、设备和介质
CN115202560A (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
GR01 Patent grant
GR01 Patent grant