(12)发明专利申请
(10)申请公布号 CN 109417561 A(43)申请公布日 2019.03.01
(21)申请号 201780022956.3(22)申请日 2017.04.07(30)优先权数据
15/095,822 2016.04.11 US(85)PCT国际申请进入国家阶段日
2018.10.11(86)PCT国际申请的申请数据
PCT/CN2017/079760 2017.04.07(87)PCT国际申请的公布数据
WO2017/177865 EN 2017.10.19
(71)申请人 华为技术有限公司
地址 518129 广东省深圳市龙岗区坂田华
为总部办公楼(72)发明人 陈瑾 郭蕾 陈冲
权利要求书2页 说明书6页 附图5页
(51)Int.Cl.
H04L 29/08(2006.01)G06F 13/10(2006.01)
(54)发明名称
分布式资源管理方法和系统(57)摘要
本公开涉及用于分布式系统中资源执行的方法和系统。所述系统中的至少一个第一主机拥有执行代理,用于在所述第一主机运行需要访问分布式资源的任务时触发主执行控制器。所述主执行控制器获取有关所述分布式资源的识别信息,并且将执行命令传输给所述分布式系统中参与提供所述分布式资源的其它主机。所述执行命令由每个所述涉及主机上的执行代理接收,并触发每个所述涉及主机上的从执行控制器。所述从执行控制器在本地执行所述分布式资源的资源配额。
CN 109417561 ACN 109417561 A
权 利 要 求 书
1/2页
1.一种用于分布式系统中资源执行的方法,所述分布式系统拥有多个主机,其特征在于,所述方法包括:
在所述多个主机中的第一主机访问所述分布式系统的分布式资源时,触发所述第一主机上的主执行控制器;
所述主执行控制器获取有关所述分布式资源的识别信息;以及
从所述主执行控制器将包含所述识别信息的执行命令传输给所述多个主机中的至少一个第二主机,所述至少一个第二主机与所述分布式资源相关联,所述执行命令用于触发所述至少一个第二主机上的从执行控制器,以在本地执行资源配额。
2.根据权利要求1所述的方法,其特征在于,获取识别信息包括确定所述分布式资源的访问机制。
3.根据权利要求2所述的方法,其特征在于,获取识别信息包括通过确定所述多个主机中的哪些主机参与提供所述分布式资源来识别所述至少一个第二主机。
4.根据权利要求1至3中任一项所述的方法,其特征在于,传输所述执行命令包括传输给所述多个主机中的两个或两个以上的主机。
5.根据权利要求4所述的方法,其特征在于,所述执行命令还包括所述两个或两个以上主机中每个主机的所述资源配额。
6.根据权利要求5所述的方法,还包括根据所述第一主机对所述分布式资源的访问来动态地调整所述资源配额。
7.根据权利要求6所述的方法,其特征在于,动态地调整所述资源配额包括为所述两个或两个以上主机中的每个主机设定不同的资源配额。
8.根据权利要求1至7中任一项所述的方法,还包括:
从所述分布式系统的所述多个主机中的另一主机接收所述执行命令;以及触发所述第一主机上的从执行控制器。9.根据权利要求8所述的方法,其特征在于,所述执行命令包括调整后的资源配额。10.一种拥有多个主机的分布式系统中的主机,所述主机包括:处理单元;以及非瞬时性存储器,通信地耦合到所述处理单元并且包括可由所述处理单元执行的计算机可读程序指令,用于:
在所述主机访问所述分布式系统的分布式资源时触发所述主机上的主执行控制器;所述主执行控制器获取有关所述分布式资源的识别信息;以及
将包含所述识别信息的执行命令传输给所述多个主机中的至少一个其它主机,所述至少一个其它主机与所述分布式资源相关联,所述执行命令用于触发所述至少一个其它主机上的从执行控制器,以在本地执行资源配额。
11.根据权利要求10所述的主机,其特征在于,获取识别信息包括确定所述分布式资源的访问机制。
12.根据权利要求11所述的主机,其特征在于,获取识别信息包括通过确定所述多个主机中的哪些主机参与提供所述分布式资源来识别所述至少一个其它主机。
13.根据权利要求10至12中任一项所述的主机,其特征在于,传输所述执行命令包括传输给所述多个主机中的两个或两个以上主机。
2
CN 109417561 A
权 利 要 求 书
2/2页
14.根据权利要求13所述的主机,其特征在于,所述执行命令还包括所述两个或两个以上主机中每个主机的所述资源配额。
15.根据权利要求14所述的主机,其特征在于,所述处理单元还可根据所述主机对所述分布式资源的访问来动态地调整所述资源配额。
16.根据权利要求15所述的主机,其特征在于,动态地调整所述资源配额包括为所述两个或两个以上主机中的每个主机设定不同的资源配额。
17.根据权利要求10至16中任一项所述的主机,其特征在于,所述处理单元还可执行用于:从所述分布式系统的所述多个主机中的其它主机接收所述执行命令,以及触发所述主机上的所述从执行控制器。
18.根据权利要求17所述的主机,其特征在于,所述执行命令包括调整后的资源配额。19.一种包括多个主机的分布式资源管理系统,其特征在于,所述多个主机中的至少一个主机包括执行代理,所述执行代理用于在对应主机访问分布式资源时在本地触发主执行控制器,所述主执行控制器用于获取有关所述分布式资源的识别信息,并且将包含所述识别信息的执行命令传输给与所述分布式资源相关联的至少一个其它主机,其中,所述执行代理还用于在从所述多个主机中的另一主机接收所述执行命令时在本地触发从执行控制器,所述从执行控制器用于在本地执行资源配额。
20.根据权利要求19所述的分布式资源管理系统,其特征在于,所述多个主机中的每个主机包括所述执行代理,用于在本地触发所述主执行控制器和所述从执行控制器。
3
CN 109417561 A
说 明 书
分布式资源管理方法和系统
1/6页
交叉申请
[0002]本发明要求2016年4月11日递交的发明名称为“分布式资源管理方法和系统(Distributed Resource Management Method and System)”的第15/095,822号美国专利申请案的在先申请优先权,该在先申请的内容以全文引入的方式并入本文本中。技术领域
[0003]本说明书涉及一种用于管理分布式系统中的资源的框架和架构。
背景技术
[0004]计算系统中的资源分配是针对各种用途将可用资源进行分配。资源管理则是在考虑资源可用性和时间的同时对活动以及这些活动所需的资源进行调度。资源管理包括资源分配和资源执行,确保资源分配得到遵守。
[0005]分布式资源系统中的资源管理具有挑战性,因此需要进行改进。发明内容
[0006]本公开涉及用于分布式系统中资源执行的方法和系统。所述系统中的至少一个第一主机拥有执行代理,用于在所述第一主机运行需要访问分布式资源的任务时触发主执行控制器。所述主执行控制器获取有关所述分布式资源的识别信息,并且将执行命令传输给所述分布式系统中参与提供所述分布式资源的其它主机。所述执行命令由每个所述涉及主机上的执行代理接收,并触发每个所述涉及主机上的从执行控制器。所述从执行控制器在本地执行所述分布式资源的资源配额。[0007]根据一个主要方面,提供了一种用于分布式系统中资源执行的方法,所述分布式系统拥有多个主机。当所述多个主机中的第一主机访问所述分布式系统的分布式资源时,触发所述第一主机上的主执行控制器。所述主执行控制器获取有关所述分布式资源的识别信息。所述主执行控制器将包含所述识别信息的执行命令传输给所述多个主机中的至少一个第二主机,所述至少一个第二主机与所述分布式资源相关联,所述执行命令用于触发所述至少一个第二主机上的从执行控制器,以在本地执行资源配额。[0008]在任意前述实施例中,获取识别信息包括确定所述分布式资源的访问机制。在一些实施例中,获取识别信息包括通过确定所述多个主机中的哪些主机参与提供所述分布式资源来识别所述至少一个第二主机。[0009]在任意前述实施例中,传输所述执行命令包括传输给所述多个主机中的两个或两个以上主机。
[0010]在任意前述实施例中,所述执行命令还包括所述两个或两个以上主机中每个主机的所述资源配额。
[0011]在任意前述实施例中,所述方法还包括根据所述第一主机对所述分布式资源的访问来动态地调整所述资源配额。在一些实施例中,动态地调整所述资源配额包括为所述两
4
[0001]
CN 109417561 A
说 明 书
2/6页
个或两个以上主机中的每个主机设定不同的资源配额。[0012]在任意前述实施例中,所述方法还包括从所述分布式系统的所述多个主机中的另一主机接收所述执行命令,以及触发所述第一主机上的所述从执行控制器。[0013]在任意前述实施例中,所述执行命令包括调整后的资源配额。[0014]根据另一方面,提供了一种拥有多个主机的分布式系统中的一个主机。所述主机包括处理单元以及通信地耦合到所述处理单元的非瞬时性存储器。所述存储器包括可由所述处理单元执行的计算机可读程序指令,用于:在所述主机访问所述分布式系统的分布式资源时触发所述主机上的主执行控制器;所述主执行控制器获取有关所述分布式资源的识别信息;以及将包含所述识别信息的执行命令传输给所述多个主机中的至少一个其它主机,所述至少一个其它主机与所述分布式资源相关联,所述执行命令用于触发所述至少一个其它主机上的从执行控制器,以在本地执行资源配额。[0015]在任意前述实施例中,获取识别信息包括确定所述分布式资源的访问机制。[0016]在任意前述实施例中,获取识别信息包括通过确定所述多个主机中的哪些主机参与提供所述分布式资源来识别所述至少一个其它主机。[0017]在任意前述实施例中,传输所述执行命令包括传输给所述多个主机中的两个或两个以上主机。
[0018]在任意前述实施例中,所述执行命令还包括所述两个或两个以上主机中每个主机的所述资源配额。
[0019]在任意前述实施例中,所述处理单元还可执行用于根据所述主机对所述分布式资源的访问来动态地调整所述资源配额。[0020]在任意前述实施例中,动态地调整所述资源配额包括为所述两个或两个以上主机中的每个主机设定不同的资源配额。[0021]在任意前述实施例中,所述处理单元还可执行用于:从所述分布式系统的所述多个主机中的其它主机接收所述执行命令,以及触发所述主机上的所述从执行控制器。[0022]在任意前述实施例中,所述执行命令包括调整后的资源配额。[0023]根据另一主要方面,提供了一种分布式资源管理系统,包括多个主机,所述多个主机中的至少一个主机包括执行代理,所述执行代理用于在对应主机访问分布式资源时在本地触发主执行控制器,所述主执行控制器用于获取有关所述分布式资源的识别信息,并且将包含所述识别信息的执行命令传输给与所述分布式资源相关联的至少一个其它主机,其中,所述执行代理还用于在从所述多个主机中的其他主机接收执行命令时在本地触发从执行控制器,所述从执行控制器用于在本地执行资源配额。[0024]在上述任何实施例中,所述多个主机中的每个主机包括执行代理,用于在本地触发主执行控制器和从执行控制器。
附图说明
[0025]通过阅读以下结合附图所作的详细描述将容易了解本发明的进一步特征和优势,附图包括:
[0026]图1是示例分布式系统的方框图;
[0027]图2是图1中的分布式系统的第一示例主机的方框图;
5
CN 109417561 A[0028][0029][0030][0031]
说 明 书
3/6页
图3是图1中的分布式系统的第二示例主机的方框图;图4是图1中的分布式系统的第三示例主机的方框图;
图5是一种用于图1中的分布式系统中资源执行的示例方法的流程图。需要注意的是,在所有附图中,相同的特征由相同的参考数字标号。
具体实施方式
[0032]参考图1,示出了分布式系统100,包括多个主机1021、1022和1023(统称为102)。主机102是硬件系统,托管应用任务或分布式资源。各主机102互相连接,不止一个主机102能够同时运行。各主机102可以通过通信链路104互相发送数据和消息。主机102可以是一个或多个服务器、一个或多个计算机、一个或多个存储介质以及一个或多个网络中的任一个。系统100可以包括不同类型的主机。例如,主机1021是服务器,主机1022是计算机,主机1023是计算机网络。其它组合也是可能的。[0033]系统100可以根据下列任一架构部署:基于主机的层次结构、分散、基于端到端本地接入网(Local Access Network,LAN)、混合型企业级、客户服务器和以互联网为中心。在至少两个主机102中提供至少一个分布式服务,至少一个主机102可以运行一项任务。任务的示例包括高性能计算(High Performance Computing,HPC)批量作业、消息传递接口(Message Passing Interface,MPI)、连续批量、实时分析、弹性应用、长时间运行服务、虚拟机和任务容器。分布式资源的示例包括分布式文件系统、虚拟文件系统、分布式数据库、虚拟网络和分布式缓存。
[0034]分布式系统100中多个主机102的至少一个第一主机1021用于在第一主机1021运行访问分布式资源的任务时在整个系统100中执行分布式资源。分布式系统100中多个主机102的至少一个第二主机1022用于在第一主机1021访问与第二主机1022相关联的分布式资源时在整个系统100中执行分布式资源,即第二主机1022参与提供第一主机1021访问的分布式资源。
[0035]图2是访问分布式资源的第一主机1021的示例实施例。第一主机1021包括耦合到存储器2041的处理器2021,处理器2021可以访问的存储器2041接收和存储数据。存储器2041可以是随机存取存储器(random-access memory,RAM)、只读存储器(read-only memory,ROM)、光盘式只读存储器、电光存储器、磁光存储器、可擦可编程只读存储器(erasable programmable read-only memory,EPROM)、电可擦可编程只读存储器(electrically-erasable programmable read-only memory,EEPROM)、铁电RAM(Ferroelectric RAM,FRAM)等。处理器2021访问存储器2041,以检索数据。处理器2021可以是能够对数据执行操作的任何设备,包括任何类型的通用处理器或微控制器、数字信号处理(digital signal processing,DSP)处理器、集成电路、现场可编程门阵列(field programmable gate array,FPGA)、可重构处理器、或者其任意组合。存储器2041上存有可由处理器2021执行的计算机可读程序指令。
[0036]执行代理2061设置在第一主机1021上,可操作地耦合到主执行控制器2081。执行代理2061可以在第一主机1021上运行应用任务和/或分布式资源,并且用于在第一主机访问系统100中的分布式资源时触发主执行控制器2081。因此,主执行控制器2081由第一主机1021上的执行代理2061启动。主执行控制器2081获取有关第一主机1021访问的分布式资源的识
6
CN 109417561 A
说 明 书
4/6页
别信息。主执行控制器2081然后将包含该识别信息的执行命令传输给分布式系统100中的至少一个第二主机1022。如果多个主机102中的其它主机也与访问的分布式资源相关联,则将执行命令传输给所有相关联的主机102。
[0037]图3是与访问的分布式资源相关联的第二主机1022的示例实施例。主机1022包括耦合到存储器2042的处理器2022,处理器2022可以访问存储器2042,以存储和检索数据。存储器2042可以是主存器,例如高速随机存取存储器(Random Access Memory,RAM),可以是辅助存储单元,例如硬盘、软盘、磁带驱动,或者其任意组合。存储器2042可以是任何其它类型的存储器,例如只读存储器(Read-Only Memory,ROM),或者光存储介质,例如视盘和光盘。处理器2022访问存储器2042,以检索数据。处理器2022可以是能够对数据执行操作的任何设备,包括处理器(central processing unit,CPU)、前端处理机、微处理器和网络处理器。存储器2042上存有可由处理器2022执行的计算机可读程序指令。注意到,处理器2021和处理器2022不需要是同一类型的处理器。同样,存储器2041和存储器2042不需要是同一类型的存储器。
[0038]执行代理2062设置在第二主机1022上并且可操作地耦合到从执行控制器3062。执行代理2062运行第一主机1021访问的分布式资源并且用于在从第一主机1021接收执行命令时触发从执行控制器3062。因此,执行代理2062启动第二主机1022上的从执行控制器3062。从执行控制器3062根据资源配额进行本地资源执行。
[0039]分布式系统100中的任何一个主机102或者充当主调度器来设定初始资源配额的其它实体都可以向第二主机1022提供资源配额。在一些实施例中,主执行控制器2081用于根据第一主机1021对分布式资源的访问来动态地调整资源配额。然后,主执行控制器2081将调整后的资源配额作为识别信息的一部分或者于识别信息传输给从执行控制器3062。在一些实施例中,主执行控制器2081将初始资源配额作为识别信息的一部分或于识别信息传输给从执行控制器3062,当第一主机1021继续执行涉及访问分布式资源的任务时,初始资源配额经过迭代调整,由主执行控制器2081重新传输给从执行控制器3062。[0040]当不止一个主机102参与提供分布式资源时,主执行控制器2081将执行命令传输给涉及的每个主机102。该执行命令使涉及的每个主机102上的本地执行代理触发本地从执行控制器。在一些实施例中,主执行控制器2081根据涉及的每个主机102的具体需求向涉及的每个主机102提供不同的资源配额。[0041]在一些实施例中,如图4所示,至少一个主机1023拥有执行代理2063,用于选择性地触发本地主执行控制器2083和本地从执行控制器3063。当主机1023访问系统100的分布式资源时触发主执行控制器2083,当从主机102中的其它主机,例如主机1021,接收执行命令时触发从执行控制器3063。因此,主机1023可以成为主设备或者从设备,取决于分布式系统100中的活动。在一些实施例中,配置所有主机102既可以为主设备也可以为从设备。[0042]参考图5,示出了一种用于分布式系统100中资源执行方法,例如由主机1023执行。在步骤502处,在主机1023运行需要访问系统100中的分布式资源的访问任务时触发主机1023上的主执行控制器2083。[0043]在步骤504处,主执行控制器2083获取有关分布式资源的识别信息。在一些实施例中,获取识别信息包括识别待访问的分布式资源。例如,可以获取传输控制协议(Transmission Control Protocol,TCP)连接、互联网协议(Internet Protocol,IP)地址
7
CN 109417561 A
说 明 书
5/6页
和端口等识别信息。访问任务可能要求访问多个分布式资源。在一些实施例中,获取识别信息还包括确定主机102中的哪些主机参与提供访问任务所需的一个或多个分布式资源。例如,这些可以通过IP地址来识别。识别信息可以包括分布式资源与主机1023上运行的访问任务之间的连接、流和/或请求中的一个或多个。在一些实施例中,识别信息包括流程ID、连接插座ID和端口ID。[0044]在步骤506处,主执行控制器2083将执行命令传输给分布式系统100中的其它主机102,以在本地在每个接收方主机102上执行与分布式资源相关联的资源配额。执行命令发送给主机1023运行访问任务所需的一个或多个分布式资源所涉及到的所有主机102。执行命令包括步骤504中由主执行控制器2083获取到的识别信息并且由对应主机的执行代理接收。执行命令用于触发每个对应主机上的从执行控制器,以在本地执行资源配额。例如,本地资源执行可以包括限定对应的TCP连接速率。[0045]在一些实施例中,根据步骤508,主执行控制器2083继续监控主机1023执行的任务,并根据步骤510,将更新的信息发送给涉及的主机102。例如,如果有关分布式资源的需求有变更,则向涉及的每个主机102提供调整后的资源配额。
[0046]需求变更可以由主执行控制器2083或者对应主机102的任意从执行控制器检测出来。事实上,每个从执行控制器都可以对连接、请求、流状态和使用情况进行监控。例如,如果主机1021和主机1022都为90MB/s的目标带宽执行45MB/s的连接流速率,并且终止与主机1022的连接,则从执行控制器3062检测到被终止的连接,并且将该信息传输给主执行控制器2083。然后,主执行控制器2083可以将主机1021的资源配额调整为90MB/s。可替代地,主执行控制器2083检测到被终止的连接,并且将调整后的资源配额传输给主机1021。在一些实施例中,出于除连接终止以外的其它原因,主执行控制器2083会将调整后的资源配额传输给一个或多个其它主机102。[0047]在一些实施例中,步骤508包括确定访问任务需要新的分布式资源,发送更新信息的步骤510则包括识别新的分布式资源所涉及到的其它主机102,并通过重复步骤502、504和506,触发每个其它主机102上的从执行控制器。[0048]在访问任务完成时,该方法进入步骤512并结束。[0049]注意到,每个主机102可以拥有不止一个主执行控制器与执行代理相关联。主机102还可以拥有不止一个从执行控制器与执行代理相关联。例如,主机1023的每个任务可以分配有一个主执行控制器和多个从执行控制器,这样,当主机1023上运行多个任务时,主机1023上也运行多个执行控制器。
[0050]这里描述的每个计算机程序可以以高级程序,或面向对象的编程,或脚本语言或其组合来实现,以与计算机系统进行通信。可替代地,程序可以以汇编或机器语言来实现。该语言可以是编译或解释的语言。每个这样的计算机程序可以存储在存储介质或者设备上,例如ROM、磁盘、光盘、闪存驱动或者任何其它合适的存储介质或者设备。当计算机读取所述存储介质或设备以执行本文描述的过程时,所述计算机程序可以被通用或专用可编程计算机读取,用于配置和操作计算机。系统的实施例也可以认为是通过其上存储有计算机程序的非瞬时性计算机可读存储介质来实现。所述计算机程序可以包括计算机可读指令,其使计算机,或更具体地,计算机中的至少一个处理单元以特定的和预定义的方式操作,以执行本文描述的功能。
8
CN 109417561 A[0051]
说 明 书
6/6页
计算机可执行指令可以以许多形式,包括程序模块,由一个或多个计算机或其它
设备执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件以及数据结构等。通常,该程序模块的功能可根据各实施例需要进行组合或分配。
[0052]本分布式系统100的各个方面可以单独使用,组合使用,或者按照在前面描述的实施例中未具体讨论的各种布置使用,因此,在其应用上不限于在前面描述中阐述的或者在附图中示出的部件的细节和布置。例如,一个实施例中描述的各方面可以以任何方式与其它实施例中描述的方面组合。虽然已经显示和描述了特定实施例,但是对于本领域的技术人员来说显而易见的是,可以在其更广泛的方面进行改变和修改而不偏离本发明。所附权利要求在其范围内涵盖所有这些改变和修改。
9
CN 109417561 A
说 明 书 附 图
1/5页
图1
10
CN 109417561 A
说 明 书 附 图
2/5页
图2
11
CN 109417561 A
说 明 书 附 图
3/5页
图3
12
CN 109417561 A
说 明 书 附 图
4/5页
图4
13
CN 109417561 A
说 明 书 附 图
5/5页
图5
14
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- gamedaodao.net 版权所有 湘ICP备2024080961号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务