用于资源调度模拟压力的方法和设备与流程

文档序号:11657282阅读:324来源:国知局
用于资源调度模拟压力的方法和设备与流程

本申请涉及计算机领域,尤其涉及一种用于资源调度模拟压力的技术。



背景技术:

分布式系统下,资源调度器不仅需要管理集群成千上万个运行在物理节点上的资源节点,同时还需要承担每秒上万次的资源调度请求,并需要在毫秒级别的时间复杂下做出决策。所以对资源调度器在压力下的行为特征的观察和评价就显得非常重要。

由于目前的工业级别的集群规模已达到5000台以上,所以如果需要在这样规模的物理节点下运行资源调度器,不仅困难很大,而且从维护成本来看是非常高的。所以需要一种能在小规模的物理节点上模拟真实的大规模资源节点的技术手段。

目前,分布式系统hadoop中的调度器负载模拟器(schedulerloadsimulator,sls)是一种单机模拟方案,主要目的是为了模拟真实的集群环境对不同的调度器的功能形成任务的压力而设计;将资源调度器和所有的模拟的资源节点都放在一个物理机上,并使用固定格式的资源请求序列作为输入,把压力输入模拟器。这种方案在技术实现中,调度器和模拟器运行在同一个物理机中使得无法实现分布,也无法把模拟器的压力扩展到多个物理节点上,因此导致其能模拟的真实集群规模受限;另外,sls只能接收一种固定格式的压力序列数据,使得不同来源的数据需要做预处理才能输入给sls,比如线上集群的日志数据和人工生成的数据格式往往是不一样的,因此限制了其灵活性。



技术实现要素:

本申请的目的是提供一种用于资源调度模拟压力的方法与设备,通过有限的物理节点模拟构建大规模的资源节点集合,以方便对资源调度器进行各方面的指标考察,同时实现了模拟器的可扩展性和提高其灵活性。

根据本申请的一个方面,提供了一种在资源调度器端用于资源调度模拟压力的方法,包括:

获取资源请求序列生成器提交的资源请求序列;

基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器解析所述资源请求序列;

获取所述用户资源管理器基于所述资源请求序列所解析的若干用户资源请求单元;

将所述若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理。

根据本申请的一个方面,还提供了一种在用户资源管理器端用于资源调度模拟压力的方法,包括:

获取资源调度器所请求解析的资源请求序列;

基于所述资源请求序列解析为若干用户资源请求单元;

将若干所述用户资源请求单元及相应资源发送至所述资源调度器。

根据本申请的一个方面,还提供了一种在用户资源管理器端用于资源调度模拟压力的方法,包括:

获取资源调度器所分配的一个或多个用户资源请求单元及相应资源;

利用所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。

根据本申请的一个方面,还提供了一种在资源请求序列生成器端用于生成资源请求序列的方法,包括:

获取资源请求序列,其中,所述资源请求序列包括请求的时间序列和资源请求描述文件,其中,所述资源请求描述文件包括用户任务需要的资源请求单元数量信息、每个资源请求单元的资源节点位置信息和每个资源请求单元所需的中央处理器信息和内存信息;

将所述资源请求序列转换成统一格式的资源请求序列;

把所述转换后的资源请求序列提交给资源调度器。

根据本申请的另一方面,还提供了一种用于资源调度模拟压力的资源调度器,包括:

请求序列获取装置,用于获取资源请求序列生成器提交的资源请求序列;

调度装置,用于基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器解析所述资源请求序列;

请求单元获取装置,用于获取所述用户资源管理器基于所述资源请求序列所解析的若干用户资源请求单元;

分配装置,用于将所述若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理。

根据本申请的另一方面,还提供了一种用于资源调度模拟压力的用户资源管理器,包括:

获取序列装置,用于获取资源调度器所请求解析的资源请求序列;

解析装置,用于基于所述资源请求序列解析为若干用户资源请求单元;

发送装置,用于将若干所述用户资源请求单元及相应资源发送至所述资源调度器。

根据本申请的另一方面,还提供了一种用于资源调度模拟压力的用户资源管理器,包括:

获取资源装置,用于获取资源调度器所分配的一个或多个用户资源请求单元及相应资源;

计算装置,用于利用所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。

根据本申请的另一方面,还提供了一种用于生成资源请求序列的资源请求序列生成器,其中,所述资源请求序列生成器包括:

获取装置,用于获取资源请求序列,其中,所述资源请求序列包括请求的时间序列和资源请求描述文件,其中,所述资源请求描述文件包括用户任务需要的资源请求单元数量信息、每个资源请求单元的资源节点位置信息和每个资源请求单元所需的中央处理器信息和内存信息;

转换装置,用于将所述资源请求序列转换成统一格式的资源请求序列;

提交装置,用于把所述转换后的资源请求序列提交给资源调度器。

根据本申请的再一方面,还提供了一种用于资源调度器模拟压力的系统,该系统包括如前所述的资源调度器及用户资源管理器。

根据本申请的又一方面,还提供了一种用于资源调度器模拟压力的系统,该系统包括如前所述的资源调度器、用户资源管理器和资源请求序列生成器。

与现有技术相比,根据本申请的实施例所述方法及设备,资源请求序列生成器获取不同格式的资源请求序列并将其转换为统一格式的资源请求序列,随后,把所述转换后的资源请求序列提交给资源调度器;这样,不同格式的资源请求序列经转换在模拟的分布式环境下输入给资源调度器,所输入的压力类型多样化,提高了压力模拟器的灵活性。进一步地,资源调度器基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器解析所述资源请求序列;用户资源管理器将所述资源请求序列解析为若干用户资源请求单元并将若干所述用户资源请求单元及相应资源发送至所述资源调度器;资源调度器将所接收到的若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理;最后,用户资源管理器根据资源调度器所分配的所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。上述资源调度器与用户资源管理器分布在不同的物理节点上并且对资源请求序列进行解析的用户资源管理器与接收到所分配的资源进行处理的用户资源管理器可为同一个或不同,达到压力模拟器的可扩展的目的,可以部署在任意数量的物理节点上,方便各种不同环境的部署进而方便对资源调度器进行各方面的指标考察。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出根据本申请一个方面的一种用于资源调度模拟压力的资源调度器1的结构示意图;

图2示出根据本申请一个方面的一种用于资源调度模拟压力的资源调度器1与用户资源管理器2和用户资源管理器3的配合的结构示意图;

图3示出根据本申请一个方面的一种用于资源调度模拟压力的用户资源管理器2的结构示意图;

图4示出根据本申请一个方面的一种用于资源调度模拟压力的用户资源管理器3的结构示意图;

图5示出根据本申请一个方面的一种用于资源调度模拟压力的用户资源管理器3的另一种结构示意图;

图6示出根据本申请一个方面的一个优选实施例的用户资源管理器3的实现流程示意图;

图7示出根据本申请一个方面的一种用于资源调度模拟压力的资源调度器1’、用户资源管理器2’和用户资源管理器3’和资源请求序列生成器4的配合的结构示意图;

图8示出根据本申请一个方面的一种用于资源调度模拟压力的资源请求序列生成器4的结构示意图;

图9示出根据本申请一个方面的又一优选实施例的资源请求序列生成器实现的原理示意图;

图10示出根据本申请一个方面的一个优选实施例的系统架构示意图;

图11示出根据本申请又一个方面的一种在资源调度器端用于资源调度模拟压力的方法的流程示意图;

图12示出根据本申请一个方面的一种用于资源调度模拟压力的资源调度器1与用户资源管理器2和用户资源管理器3的配合的交互示意图;

图13示出根据本申请又一个方面的一种在用户资源管理器2端用于资源调度模拟压力的方法的流程示意图;

图14示出根据本申请又一个方面的又一种在用户资源管理器3端用于资源调度模拟压力的方法的流程示意图;

图15示出根据本申请又一个方面的又一种在用户资源管理器3端用于资源调度模拟压力还包括其他方法的流程示意图;

图16示出根据本申请一个方面的一种用于资源调度模拟压力的资源调度器1’、用户资源管理器2’和用户资源管理器3’和资源请求序列生成器4的配合的交互示意图;

图17示出根据本申请又一个方面的一种在资源请求序列生成器端用于资源调度模拟压力的方法的流程示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

图1示出根据本申请一个方面的一种用于资源调度模拟压力的资源调度器1的结构示意图。所述资源调度器1包括请求序列获取装置11、调度装置12、请求单元获取装置13和分配装置14;其中,所述请求序列获取装置11获取资源请求序列生成器提交的资源请求序列;所述调度装置12基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器解析所述资源请求序列;所述请求单元获取装置13获取所述用户资源管理器基于所述资源请求序列所解析的若干用户资源请求单元;分配装置14将所述若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理。

所述资源调度器1可以是网络设备或网络设备与触摸终端通过网络相集成所构成的设备上的脚本程序,其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(asic)、可编程门阵列(fpga)、数字处理器(dsp)、嵌入式设备等。所述网络包括但不限于互联网、广域网、城域网、局域网、vpn网络、无线自组织网络(adhoc网络)等。当然,本领域技术人员应能理解上述资源调度器仅为举例,其他现有的或今后可能出现的资源调度器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。

具体地,所述请求序列获取装置11获取资源请求序列生成器提交的资源请求序列。

在此,资源请求序列生成器提交的资源请求序列的同时也把请求序列对应的任务提交给了资源调度器,资源调度器是生产级别的,确保了资源请求序列的真实性,保证能看到的资源调度器的行为指标都是生产的代码所表现出来的。资源调度器在分布式系统中用于管理整个集群所有资源节点的单元。可以看到整个集群所有资源节点的资源,并根据用户发来的cpu、 内存请求进行调度。所述资源请求可能由多个用户在不同时间点发给资源调度器,每个请求是具体的用户想要的cpu和内存,这些资源请求最终是会分配到具体的资源节点上。

具体地,所述调度装置12基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器解析所述资源请求序列。

在一实施例中,资源调度器1收到一个用户任务以后,进行查找一个资源节点以调度一个用户资源管理器,其中,进行查找资源节点进行调度用户资源管理器可根据某种特定的算法进行查找,如按照当前资源节点的空闲状态进行排序,查找时先找到最空闲的资源节点;也可根据资源节点的位置偏好进行,如查找最近的资源节点。查找到资源节点后进行调度相应的用户资源管理器进行解析资源请求序列,此时需要说明的是,资源节点与用户资源管理器部署在同一物理节点上。所述资源节点为资源调度器看到的一个真实的可调度的资源单元,有自己独立的cpu和内存,是一个完整的资源,在真实环境中为一台物理服务器,在模拟器中是一个模拟节点。所述物理节点是一台真实的物理服务器,有独立的cpu和内存资源。在真实环境中是一个资源节点,在模拟环境中是模拟节点运行的载体。

具体地,所述请求单元获取装置13获取所述用户资源管理器基于所述资源请求序列所解析的若干用户资源请求单元(未示出)。

其中,所述用户资源请求单元包括:用户任务需要的资源请求单元数量信息、每个资源请求单元的资源节点位置信息、单元资源量和每个资源请求单元所需的中央处理器信息和内存信息。

在此,用户资源管理器进行解析用户资源请求单元,模拟用户的真实行为,通过每个资源请求单元的资源节点位置信息可查询到资源请求单元在哪部分资源节点上,可以是指定的,也可以是整个集群。用户资源管理器将资源请求单元以一定的形式如用户资源管理器与资源调度器之间的通讯协议格式发送给资源调度器。

具体地,所述分配装置14将所述若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理。

在此,所述资源调度器1在收到解析后的用户资源请求单元,进行调度, 产生需要调度行为指标,在资源节点列表中查找一个或多个资源节点,将收到的资源请求单元进行下发给资源节点对应的用户资源管理器,形式为在哪些资源节点上分配多少个资源请求单元,用户资源管理器在收到这些分配后,会进行一系列计算模拟用户使用这些资源请求单元的行为。

通过资源调度器1获取到用户提交的资源请求序列后进行查找资源节点以调度用户资源管理器且根据获取到的解析后的用户资源请求单元将资源分配给若干用户资源管理器,实现了由有限的物理节点模拟构建大规模的资源节点集合以实现更方便的对资源调度器1进行各方面的指标考察;进一步地,资源调度器1的输入为不同格式的资源请求序列,实现模拟的分布式环境下对资源调度的功能和性能指标的考量。

图2示出根据本申请一个方面的一种用于资源调度模拟压力的资源调度器1与用户资源管理器2和用户资源管理器3的配合的结构示意图。所述资源调度器1包括请求序列获取装置11、调度装置12、请求单元获取装置13和分配装置14;所述用户资源管理器2包括获取序列装置21、解析装置22和发送装置23;所述用户资源管理器3包括获取资源装置31和计算装置32。

本领域技术人员应当能够理解,具有资源调度器1和用户资源管理器2的系统,或具有资源调度器1、用户资源管理器2和用户资源管理器3的系统,以实现压力模拟的资源调度的方案均包含于本申请请求保护的范围之内。

在此,所述资源调度器1可以与多个用户资源管理器配合工作,所述资源调度器1可以根据策略选定不同的用户资源管理器完成图2所示用户资源管理器2或用户资源管理器3的工作。资源调度器1中的请求序列获取装置11获取到资源请求序列后调度装置12基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器2解析所述资源请求序列;用户资源管理器2中的获取序列装置21获取到资源调度器1所请求解析的资源请求序列,解析装置22将所述资源请求序列解析为若干用户资源请求单元,发送装置23将若干所述用户资源请求单元及相应资源发送至所述资源调度器1;资源调度器1中的请求单元获取装置13获取所述用户资源管理器2基 于所述资源请求序列所解析的若干用户资源请求单元,分配装置14将所述若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理;用户资源管理器3中的获取资源装置31获取资源调度器所分配的一个或多个用户资源请求单元及相应资源后计算装置32利用所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。

在资源调度器1与用户资源管理器2和用户资源管理器3的配合系统中,资源调度器1与用户资源管理器分布在不同的物理节点上,达到压力模拟器的可扩展的目的,可以部署在任意数量的物理节点上,方便各种不同环境的部署进而方便对资源调度器进行各方面的指标考察。

需要说明的是,上述用户资源管理器2和用户资源管理器3可为同一个用户资源管理器,资源调度器1分配资源时将资源分配给了之前进行解析资源请求序列的用户资源管理器;用户资源管理器2和用户资源管理器3也可为不同的用户资源管理器,用户资源管理器2进行解析资源请求序列后发送给资源调度器1,资源调度器1将资源按照某种规则分配给与用户资源管理器2不同的其他的用户资源管理器。

图3示出根据本申请一个方面的一种用于资源调度模拟压力的用户资源管理器2的结构示意图。所述用户资源管理器2包括:获取序列装置21、解析装置22和发送装置23;其中,所述获取序列装置21获取资源调度器所请求解析的资源请求序列;解析装置22基于所述资源请求序列解析为若干用户资源请求单元;发送装置23将若干所述用户资源请求单元及相应资源发送至所述资源调度器。

具体地,获取序列装置21获取资源调度器所请求解析的资源请求序列。

在一具体实施例中,资源调度器收到用户任务后,查找一个资源节点调度一个用户资源管理器2,被调度的用户资源管理器2获取资源调度器所请求解析的资源请求序列,即获取用户任务对应的资源请求的时间序列和资源请求描述文件。

具体地,解析装置22基于所述资源请求序列解析为若干用户资源请求单元。

接前例,用户资源管理器2获取到资源请求序列后将资源请求序列进一 步解析出资源请求单元,即解析后得到请求单元数量、资源节点偏好(请求单元分布在哪些资源节点上,可以是指定的也可是整个集群的),以及单元资源量、中央处理器和内存。

具体地,发送装置23将若干所述用户资源请求单元及相应资源发送至所述资源调度器。

继续接前例,进行解析资源请求序列的用户资源管理器2会模拟用户的真实行为,模拟用户行为操作时产生资源请求,用户资源管理器2将若干用户资源请求单元及相应的资源发送至资源调度器1,资源调度器1根据收到的请求进行资源调度并产生需要的调度行为指标。

图4示出根据本申请一个方面的又一种用于资源调度模拟压力的用户资源管理器3的结构示意图;所述用户资源管理器3包括:获取资源装置31和计算装置32,其中,所述获取资源装置31获取资源调度器1所分配的一个或多个用户资源请求单元及相应资源;所述计算装置32利用所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。

具体地,获取资源装置31获取资源调度器所分配的一个或多个用户资源请求单元及相应资源。

在一实施例中,用户资源管理器3进行模拟用户行为时首先获取资源调度器1所分配的一个或多个用户需要的用户资源请求单元及相应的资源,例如,按照空闲状态依次将资源分配到空闲状态程度较大的资源节点上并调度相应的用户资源管理器,以使用户资源管理器获取到用户所需的资源请求单元及相应资源。

具体地,计算装置32利用所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。

接前例,用户资源管理器3收到资源调度器1下发的资源请求单元及相应资源后,会进行一系列计算模拟用户使用这些资源请求单元的行为,在真实集群中是利用分配的资源启动物理进程并计算。例如,利用一些统计学的方法得到的用户计算需要的时间来模拟,如使用计时队列获取用户拿到资源后启动的进程运行的时间从而进行模拟用户使用这些资源的行为。

优选地,所述用户资源管理器3还包括:返回装置33(未示出)当不需 要所述资源,则将相应所述资源返回给所述资源调度器1。

在此,资源调度器1需要知道哪些资源是哪些用户不需要了,并将其分配给其它的用户任务,这也是考量资源调度器1吞吐量的重要指标,所以用户资源管理器3还需要判断哪些资源是不需要的,并将这些不需要的资源返回给资源调度器1。

优选地,如图5所示,所述用户资源管理器3还包括:启动装置34、入队列装置35、计时装置36和出队列装置37;其中,所述启动装置34利用所述资源启动物理进程;入队列装置35将所述物理进程放入计时队列中;计时装置36当所述物理进程执行到时,则将相应所述物理进程放入出队序列中;出队列装置37当所述物理进程出队,则将所述相应所述资源返回给所述资源调度器。

在一实施例中,用户获取到所分配的资源后进行一系列的计算模拟用户使用资源的行为,则通过关注使用资源时启动物理进程的运行时间,以决定所使用的资源什么时候不再需要,将不需要的资源返回给资源调度器。具体过程如图6示出的一个优选实施例的用户资源管理器的实现流程示意图;首先,启动用户资源管理器分析资源请求序列生成资源请求单元,将分析解析后的结果发给资源调度器,资源调度器将用户资源请求单元及相应资源分配给用户资源管理器,用户资源管理器收到资源后,将资源放入到计时队列中,利用计时队列计算在统计生成的时间内资源使用是否已经超时,若是,则将不再需要的资源还给资源调度器,若否,则继续判断资源使用情况。需要说明的是,计时队列中的每一元素代表用户的一个使用分配资源的物理进程,计时队列会把到时的元素放到出队序列中,一旦有元素出队,就代表其使用的资源已经不需要了,需要将所不需要的资源返给资源调度器。另外,上述流程中进行分析解析用户资源请求单元的用户资源管理器与进行收到所分配的资源进行模拟计算的用户资源管理器为同一个,现有及今后可能出现进行分析解析用户资源请求单元的用户资源管理器与进行收到所分配的资源进行模拟计算的用户资源管理器可为相同或不同,如能适用本申请,均可以引用的方式包含于本申请。

图7示出根据本申请一个方面的一种用于资源调度模拟压力的资源调 度器1’、用户资源管理器2’和用户资源管理器3’和资源请求序列生成器4的配合的结构示意图。其中,所述资源调度器1’与图2中的资源调度器1相同或相似;所述用户资源管理器2’与图2中的用户资源管理器2相同或相似;所述用户资源管理器3’与图2中的用户资源管理器3相同或相似;所述资源请求序列生成器4包括获取装置41、转换装置42和提交装置43。

本领域技术人员应当能够理解,具有资源调度器1’和用户资源管理器2’的系统,或具有资源调度器1’、用户资源管理器2’和用户资源管理器3’,或具有具有资源调度器1’、用户资源管理器2’、用户资源管理器3’和资源请求序列生成器4的系统,以实现压力模拟的资源调度的方案均包含于本申请请求保护的范围之内。

在此,所述资源调度器1’可以与多个用户资源管理器配合工作,所述资源调度器1’可以根据策略选定不同的用户资源管理器完成图7所示用户资源管理器2’、用户资源管理器3’或资源请求序列生成器4的工作。所述资源请求序列生成器4中的获取装置41获取资源请求序列,其中,所述资源请求序列包括请求的时间序列和资源请求描述文件,转换装置42将所述资源请求序列转换成统一格式的资源请求序列,提交装置43把所述转换后的资源请求序列提交给资源调度器1’;接着,资源调度器1’中的调度装置12’基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器解析所述资源请求序列;用户资源管理器2’中的获取序列装置21’获取到资源调度器所请求解析的资源请求序列,解析装置22’将所述资源请求序列解析为若干用户资源请求单元,发送装置23’将若干所述用户资源请求单元及相应资源发送至所述资源调度器1’;资源调度器1’中的请求单元获取装置13’获取所述用户资源管理器2’基于所述资源请求序列所解析的若干用户资源请求单元,分配装置14将所述若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理;用户资源管理器3’中的获取资源装置31’获取资源调度器所分配的一个或多个用户资源请求单元及相应资源后计算装置32’利用所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。

在上述资源调度器1’、用户资源管理器2’和用户资源管理器3’和资源请求序列生成器4的配合系统中,实现了不同格式的资源请求序列经转换在 模拟的分布式环境下输入给资源调度器,从而,所输入的压力类型多样化,提高了压力模拟器的灵活性。

图8示出根据本申请一个方面的一种用于资源调度模拟压力的资源请求序列生成器4的结构示意图;所述资源请求序列生成器4包括:获取装置41、转换装置42和提交装置43,其中,所述获取装置41获取资源请求序列,其中,所述资源请求序列包括请求的时间序列和资源请求描述文件,其中,所述资源请求描述文件包括用户任务需要的资源请求单元数量信息、每个资源请求单元的资源节点位置信息和每个资源请求单元所需的中央处理器信息和内存信息;转换装置42将所述资源请求序列转换成统一格式的资源请求序列;提交装置43把所述转换后的资源请求序列提交给资源调度器。

具体地,获取装置41获取资源请求序列,其中,所述资源请求序列包括请求的时间序列和资源请求描述文件,其中,所述资源请求描述文件包括用户任务需要的资源请求单元数量信息、每个资源请求单元的资源节点位置信息和每个资源请求单元所需的中央处理器信息和内存信息。

在此,由用户体验人员或者线上运维人员使用自动工具或者线上生产的真实请求构建的资源请求序列,以不同的格式输入到模拟器资源请求序列生成器模块,其中,人工构建的序列的格式表现为固定的代码,如json(javascriptnotation)数据格式、google中的protocolbuffer(协议缓冲区);线上生产的序列格式为日志格式。另外,人工构建的资源请求序列可以是设定在某一场景下按照某种规律,比如在一个可设时间的间隔内进行使用自动工具构建资源请求序列,线上构建的资源请求序列具有可缩放性,资源请求序列是时间维度上的序列,将从0点至3点间产生的压力缩放到0点至2点之间产生的压力,即本应是在0点至3点间才产生的资源请求序列的压力在0点至2点间就发生了,使得产生一定的压力的时间间隔缩短了,对线上所构建的资源请求序列的缩放处理能考察模拟器的性能指标,若想评判用于资源调度的压力模拟的模拟器的稳定性,则将线上产生的资源请求序列的时间延长,如将从0点至3点间产生的压力延长到0点至5点之间产生的压力。

具体地,转换装置42将所述资源请求序列转换成统一格式的资源请求序列。所述转换装置42包括解析单元(未示出)、获取单元(未示出)和转换 单元(未示出);其中,解析单元解析资源请求配置文件或资源请求序列日志;获取单元基于所述配置文件或所述资源请求序列日志获取请求序列的间隔和资源请求描述文件;转换单元将所述获取的请求序列的间隔和资源请求描述文件转换成统一格式的资源请求序列。

在一实施例中,模拟器的资源请求序列生成器4在接收到外部输入的不同格式的资源请求序列的数据后将所接收的序列转换成统一格式的资源请求序列,这个序列包括两个主要部分:请求的时间序列和真实的资源请求描述文件,也即用户的任务需要的具体资源单元数,每个单元的资源节点位置偏好和每个单元需要的cpu和内存。其中,时间序列用于模拟用户在不同时间点和同一时间点并发提交的任务;资源描述文件和线上用户提交的任务格式一致,从而达到让资源调度器所接受的与真实的资源请求相同或相似,达到模拟的目的。

图9示出根据本申请一个方面的又一优选实施例的资源请求序列生成器实现的原理示意图为资源请求序列生成器的uml图(unifiedmodellanguage),从图可知,资源序列生成器有两个子类:人工资源请求序列生成类(qa),会解析人工生成的资源请求配置文件,并作为生成资源请求描述文件和资源请求间隔这两个接口的输入;而线上资源序列生成类,会解析运维人员得到的线上真实的生产日志,并作为生成资源请求描述文件和资源请求间隔这两个接口的输入。资源序列请求类包括生成资源请求描述文件和资源请求间隔,资源请求序列生成器的uml图还包括一个基类,用于填充协议统一,将不同格式的资源请求序列转换为统一格式的资源请求序列。其中,请求序列的间隔是每一个间隔到来后生成器都要得到用户资源描述文件,并作为一个真实的用户任务提交给资源调度器。

具体地,提交装置43把所述转换后的资源请求序列提交给资源调度器。

接前例,在生成上述的统一格式的资源请求序列后,资源请求序列生成器负责把资源请求序列提交给资源调度器,其中,资源请求序列有其对应的用户任务,将资源请求序列提交时也提交了对应的用户任务。

图10示出根据本申请一个方面的一个优选实施例的系统架构示意图。图中所示的虚线箭头代表网络通讯,该系统中的设备包括模拟器资源请求 序列生成器、资源调度器和若干模拟的用户资源管理器。各个设备的交互使得该系统能够用于资源调度的压力模拟,起到压力模拟器的作用。以下对各个设备的交互过程进行说明:

资源请求序列生成器4中的获取装置41用于获取资源请求序列,由用户体验人员或者线上运维人员使用自动工具或者线上生产的真实请求构建的资源请求序列,以不同的格式输入模拟器资源请求序列生成器。转换装置42用于将所述资源请求序列转换成统一格式的资源请求序列,模拟的资源请求序列生成器接收外部输入的不同格式的资源请求序列的数据,将它们转换成统一格式的模拟真实用户提交的资源请求序列,之后提交装置43将转换后的资源请求序列对应的任务提交给资源调度器。资源调度器中的调度装置12收到一个模拟真实用户任务后,查询一个资源节点以调度一个用户资源管理器。启动模拟的用户资源管理器后,该用户资源管理器中的解析装置22进一步解析用户资源请求序列获取到资源请求单元,用户资源管理器模拟用户的真实行为,发送装置23将资源请求单元以一定的通讯协议发送给资源调度器。资源调度器收到模拟用户真实资源请求后,分配装置14将资源分配给一个或若干模拟的资源节点以调度相应的模拟的用户资源管理器,用户资源管理器收到所分配的资源后计算装置32进行一系列计算模拟用户使用这些资源的行为,同时,用户资源管理器判断哪些资源不再需要,将不需要的资源还给资源调度器。其中,资源调度器与模拟的用户资源管理器部署在不同的物理节点上,模拟的资源节点与模拟的用户资源管理器在同一物理节点上,从图中可看出,一个物理节点可对应多个模拟的资源节点,从而达到扩大放大比的目的。模拟的资源节点需向资源调度器进行资源汇报,资源汇报是启动进程时就有的,可周期性的汇报资源节点位置偏好,对应的cpu和内存的空闲状态等。

通过上述设备实现了在一个小规模物理节点的集群上,通过软件的方法真实模拟出大规模资源节点的集群,使得资源调度器逻辑在这种小规模节点的集群上也能看到真实的数据中心的资源和节点数量,放大比可以达到1:1000(1个物理节点可以模拟1000个资源节点);进一步地,可以解析人工构建的资源请求序列,或者真实的线上集群在某时间段内资源请求 序列,将其输入给资源调度器,达到对资源调度器在各种场景下指标考量和评价的目标,不仅可以考察资源调度器的新功能在不同的压力请求序列下的效果,也可以对其在可缩放的真实线上请求序列下的性能指标进行评判。

图11示出根据本申请一个方面的一种在资源调度器1端用于资源调度模拟压力的方法流程示意图。所述方法包括步骤s11、步骤s12、步骤s13和步骤s14;其中,在步骤s11中,获取资源请求序列生成器提交的资源请求序列;在步骤s12中,基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器解析所述资源请求序列;在步骤s13中,获取所述用户资源管理器基于所述资源请求序列所解析的若干用户资源请求单元;在步骤s14中,将所述若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理。

具体地,在步骤s11中,获取资源请求序列生成器提交的资源请求序列。

在此,资源请求序列生成器提交的资源请求序列的同时也把请求序列对应的任务提交给了资源调度器,资源调度器是生产级别的,确保了资源请求序列的真实性,保证能看到的资源调度器的行为指标都是生产的代码所表现出来的。资源调度器在分布式系统中用于管理整个集群所有资源节点的单元。可以看到整个集群所有资源节点的资源,并根据用户发来的cpu、内存请求进行调度。所述资源请求可能由多个用户在不同时间点发给资源调度器,每个请求是具体的用户想要的cpu和内存,这些资源请求最终是会分配到具体的资源节点上。

具体地,在步骤s12中,基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器解析所述资源请求序列。

在一实施例中,资源调度器1收到一个用户任务以后,进行查找一个资源节点以调度一个用户资源管理器,其中,进行查找资源节点进行调度用户资源管理器可根据某种特定的算法进行查找,如按照当前资源节点的空闲状态进行排序,查找时先找到最空闲的资源节点;也可根据资源节点的位置偏好进行,如查找最近的资源节点。查找到资源节点后进行调度相应的用户资源管理器进行解析资源请求序列,此时需要说明的是,资源节点与用户资源 管理器部署在同一物理节点上。所述资源节点为资源调度器看到的一个真实的可调度的资源单元,有自己独立的cpu和内存,是一个完整的资源,在真实环境中为一台物理服务器,在模拟器中是一个模拟节点。所述物理节点是一台真实的物理服务器,有独立的cpu和内存资源。在真实环境中是一个资源节点,在模拟环境中是模拟节点运行的载体。

具体地,在步骤s13中,获取所述用户资源管理器基于所述资源请求序列所解析的若干用户资源请求单元。

其中,所述用户资源请求单元包括:用户任务需要的资源请求单元数量信息、每个资源请求单元的资源节点位置信息、单元资源量和每个资源请求单元所需的中央处理器信息和内存信息。

在此,用户资源管理器进行解析用户资源请求单元,模拟用户的真实行为,通过每个资源请求单元的资源节点位置信息可查询到资源请求单元在哪部分资源节点上,可以是指定的,也可以是整个集群。用户资源管理器将资源请求单元以一定的形式如用户资源管理器与资源调度器之间的通讯协议格式发送给资源调度器。

具体地,在步骤s14中,将所述若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理。

在此,所述资源调度器1在收到解析后的用户资源请求单元,进行调度,产生需要调度行为指标,在资源节点列表中查找一个或多个资源节点,将收到的资源请求单元进行下发给资源节点对应的用户资源管理器,形式为在哪些资源节点上分配多少个资源请求单元,用户资源管理器在收到这些分配后,会进行一系列计算模拟用户使用这些资源请求单元的行为。

通过资源调度器1获取到用户提交的资源请求序列后进行查找资源节点以调度用户资源管理器且根据获取到的解析后的用户资源请求单元将资源分配给若干用户资源管理器,实现了由有限的物理节点模拟构建大规模的资源节点集合以实现更方便的对资源调度器1进行各方面的指标考察;进一步地,资源调度器1的输入为不同格式的资源请求序列,实现模拟的分布式环境下对资源调度的功能和性能指标的考量。

图12示出根据本申请一个方面的一种用于资源调度模拟压力的资源 调度器1与用户资源管理器2和用户资源管理器3的配合的交互流程示意图。

本领域技术人员应当能够理解,具有资源调度器1和用户资源管理器2的系统,或具有资源调度器1、用户资源管理器2和用户资源管理器3的系统,以实现压力模拟的资源调度的方案均包含于本申请请求保护的范围之内。

在此,所述资源调度器1可以与多个用户资源管理器配合工作,所述资源调度器1可以根据策略选定不同的用户资源管理器完成图12所示用户资源管理器2或用户资源管理器3的工作。在资源调度器1端,步骤s11:获取到资源请求序列,步骤s12:基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器2解析所述资源请求序列;在用户资源管理器2端,步骤s21:获取到资源调度器1所请求解析的资源请求序列,步骤s22:基于所述资源请求序列解析为若干用户资源请求单元,步骤s23:将若干所述用户资源请求单元及相应资源发送至所述资源调度器1;在资源调度器1端,步骤s13:获取所述用户资源管理器2基于所述资源请求序列所解析的若干用户资源请求单元,步骤s14:将所述若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理;在用户资源管理器3端,步骤s31:获取资源调度器所分配的一个或多个用户资源请求单元及相应资源,步骤s32:利用所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。

在资源调度器1与用户资源管理器2和用户资源管理器3的配合系统中,资源调度器1与用户资源管理器分布在不同的物理节点上,达到压力模拟器的可扩展的目的,可以部署在任意数量的物理节点上,方便各种不同环境的部署进而方便对资源调度器进行各方面的指标考察。

需要说明的是,上述用户资源管理器2和用户资源管理器3可为同一个用户资源管理器,资源调度器1分配资源时将资源分配给了之前进行解析资源请求序列的用户资源管理器;用户资源管理器2和用户资源管理器3也可为不同的用户资源管理器,用户资源管理器2进行解析资源请求序列后发送给资源调度器1,资源调度器1将资源按照某种规则分配给与用户资源管理 器2不同的其他的用户资源管理器。

图13示出根据本申请一个方面的一种在用户资源管理器2端用于资源调度模拟压力的方法流程示意图。所述方法包括:步骤s21、步骤s22和步骤s23;其中,在步骤s21中,获取资源调度器所请求解析的资源请求序列;在步骤s22中,基于所述资源请求序列解析为若干用户资源请求单元;在步骤s23中,将若干所述用户资源请求单元及相应资源发送至所述资源调度器。

具体地,在步骤s21中,获取资源调度器所请求解析的资源请求序列。

在一具体实施例中,资源调度器收到用户任务后,查找一个资源节点调度一个用户资源管理器2,被调度的用户资源管理器2获取资源调度器所请求解析的资源请求序列,即获取用户任务对应的资源请求的时间序列和资源请求描述文件。

具体地,在步骤s22中,基于所述资源请求序列解析为若干用户资源请求单元。

接前例,用户资源管理器2获取到资源请求序列后将资源请求序列进一步解析出资源请求单元,即解析后得到请求单元数量、资源节点偏好(请求单元分布在哪些资源节点上,可以是指定的也可是整个集群的),以及单元资源量、中央处理器和内存。

具体地,在步骤s23中,将若干所述用户资源请求单元及相应资源发送至所述资源调度器。

继续接前例,进行解析资源请求序列的用户资源管理器2会模拟用户的真实行为,模拟用户行为操作时产生资源请求,用户资源管理器2将若干用户资源请求单元及相应的资源发送至资源调度器1,资源调度器1根据收到的请求进行资源调度并产生需要的调度行为指标。

图14示出根据本申请一个方面的一种在用户资源管理器3端用于资源调度模拟压力的方法流程示意图;所述方法包括:步骤s31和步骤s32,其中,在步骤s31中,获取资源调度器1所分配的一个或多个用户资源请求单元及相应资源;在步骤32中,利用所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。

具体地,在步骤s31中,获取资源调度器所分配的一个或多个用户资源请求单元及相应资源。

在一实施例中,用户资源管理器3进行模拟用户行为时首先获取资源调度器1所分配的一个或多个用户需要的用户资源请求单元及相应的资源,例如,按照空闲状态依次将资源分配到空闲状态程度较大的资源节点上并调度相应的用户资源管理器,以使用户资源管理器获取到用户所需的资源请求单元及相应资源。

具体地,在步骤s32中,利用所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。

接前例,用户资源管理器3收到资源调度器1下发的资源请求单元及相应资源后,会进行一系列计算模拟用户使用这些资源请求单元的行为,在真实集群中是利用分配的资源启动物理进程并计算。例如,利用一些统计学的方法得到的用户计算需要的时间来模拟,如使用计时队列获取用户拿到资源后启动的进程运行的时间从而进行模拟用户使用这些资源的行为。

优选地,所述方法还包括:步骤s33(未示出),当不需要所述资源,则将相应所述资源返回给所述资源调度器1。

在此,资源调度器1需要知道哪些资源是哪些用户不需要了,并将其分配给其它的用户任务,这也是考量资源调度器1吞吐量的重要指标,所以用户资源管理器3还需要判断哪些资源是不需要的,并将这些不需要的资源返回给资源调度器1。

优选地,如图15所示,所述方法还包括:步骤s34、步骤s35、步骤s36和步骤s37;其中,在步骤s34中,利用所述资源启动物理进程;在步骤s35中,将所述物理进程放入计时队列中;在步骤s36中,当所述物理进程执行到时,则将相应所述物理进程放入出队序列中;在步骤s37中,当所述物理进程出队,则将所述相应所述资源返回给所述资源调度器。

在一实施例中,用户获取到所分配的资源后进行一系列的计算模拟用户使用资源的行为,则通过关注使用资源时启动物理进程的运行时间,以决定所使用的资源什么时候不再需要,将不需要的资源返回给资源调度器。具体过程如图6示出的一个优选实施例的用户资源管理器的实现流程示意图; 首先,启动用户资源管理器分析资源请求序列生成资源请求单元,将分析解析后的结果发给资源调度器,资源调度器将用户资源请求单元及相应资源分配给用户资源管理器,用户资源管理器收到资源后,将资源放入到计时队列中,利用计时队列计算在统计生成的时间内资源使用是否已经超时,若是,则将不再需要的资源还给资源调度器,若否,则继续判断资源使用情况。需要说明的是,计时队列中的每一元素代表用户的一个使用分配资源的物理进程,计时队列会把到时的元素放到出队序列中,一旦有元素出队,就代表其使用的资源已经不需要了,需要将所不需要的资源返给资源调度器。另外,上述流程中进行分析解析用户资源请求单元的用户资源管理器与进行收到所分配的资源进行模拟计算的用户资源管理器为同一个,现有及今后可能出现进行分析解析用户资源请求单元的用户资源管理器与进行收到所分配的资源进行模拟计算的用户资源管理器可为相同或不同,如能适用本申请,均可以引用的方式包含于本申请。

图16示出根据本申请一个方面的一种用于资源调度模拟压力的资源调度器1’、用户资源管理器2’和用户资源管理器3’和资源请求序列生成器4的配合的交互流程示意图。其中,所述资源调度器1’与图12中的资源调度器1相同或相似;所述用户资源管理器2’与图12中的用户资源管理器2相同或相似;所述用户资源管理器3’与图12中的用户资源管理器3相同或相似;在所述资源请求序列生成器4端,所述方法包括步骤s41、步骤s42和步骤s43。

本领域技术人员应当能够理解,在资源调度器1’和用户资源管理器2’端的系统方法,或在资源调度器1’、用户资源管理器2’和用户资源管理器3’,或具有具有资源调度器1’、用户资源管理器2’、用户资源管理器3’和资源请求序列生成器4端的系统方法,以实现压力模拟的资源调度的方案均包含于本申请请求保护的范围之内。

在此,所述资源调度器1’可以与多个用户资源管理器配合工作,所述资源调度器1’可以根据策略选定不同的用户资源管理器完成图16所示用户资源管理器2’、用户资源管理器3’或资源请求序列生成器4的工作。在所述资源请求序列生成器4端,步骤s41:获取资源请求序列,其中,所述资源请求 序列包括请求的时间序列和资源请求描述文件,步骤s42:将所述资源请求序列转换成统一格式的资源请求序列,步骤s43:把所述转换后的资源请求序列提交给资源调度器1’;接着,在资源调度器1’端,步骤s12’:基于所述资源请求序列查找一资源节点,并请求调度所述资源节点的用户资源管理器解析所述资源请求序列;在用户资源管理器2’端,步骤s21’:获取到资源调度器所请求解析的资源请求序列,步骤s22’:将所述资源请求序列解析为若干用户资源请求单元,步骤s23’:将若干所述用户资源请求单元及相应资源发送至所述资源调度器1’;在资源调度器1’端,步骤s13’:获取所述用户资源管理器2’基于所述资源请求序列所解析的若干用户资源请求单元,步骤s14:将所述若干用户资源请求单元及相应资源分配给一个或多个资源节点进行模拟压力处理;在用户资源管理器3’端,步骤s31’:获取资源调度器所分配的一个或多个用户资源请求单元及相应资源,步骤s32’:利用所述资源计算模拟用户使用所述用户资源请求单元进行计算需要的时间。

在上述资源调度器1’、用户资源管理器2’和用户资源管理器3’和资源请求序列生成器4端的配合系统方法中,实现了不同格式的资源请求序列经转换在模拟的分布式环境下输入给资源调度器,从而,所输入的压力类型多样化,提高了压力模拟器的灵活性。

图17示出根据本申请一个方面的一种在资源请求序列生成器4端用于资源调度模拟压力的方法流程示意图;所述方法包括:步骤s41、步骤s42和步骤s43;其中,在所述步骤s41中,获取资源请求序列,其中,所述资源请求序列包括请求的时间序列和资源请求描述文件,其中,所述资源请求描述文件包括用户任务需要的资源请求单元数量信息、每个资源请求单元的资源节点位置信息和每个资源请求单元所需的中央处理器信息和内存信息;在步骤s42中,将所述资源请求序列转换成统一格式的资源请求序列;在步骤s43中,把所述转换后的资源请求序列提交给资源调度器。

具体地,在步骤s41中,获取资源请求序列,其中,所述资源请求序列包括请求的时间序列和资源请求描述文件,其中,所述资源请求描述文件包括用户任务需要的资源请求单元数量信息、每个资源请求单元的资源节点位置信息和每个资源请求单元所需的中央处理器信息和内存信息。

在此,由用户体验人员或者线上运维人员使用自动工具或者线上生产的真实请求构建的资源请求序列,以不同的格式输入到模拟器资源请求序列生成器模块,其中,人工构建的序列的格式表现为固定的代码,如json(javascriptnotation)数据格式、google中的protocolbuffer(协议缓冲区);线上生产的序列格式为日志格式。另外,人工构建的资源请求序列可以是设定在某一场景下按照某种规律,比如在一个可设时间的间隔内进行使用自动工具构建资源请求序列,线上构建的资源请求序列具有可缩放性,资源请求序列是时间维度上的序列,将从0点至3点间产生的压力缩放到0点至2点之间产生的压力,即本应是在0点至3点间才产生的资源请求序列的压力在0点至2点间就发生了,使得产生一定的压力的时间间隔缩短了,对线上所构建的资源请求序列的缩放处理能考察模拟器的性能指标,若想评判用于资源调度的压力模拟的模拟器的稳定性,则将线上产生的资源请求序列的时间延长,如将从0点至3点间产生的压力延长到0点至5点之间产生的压力。

具体地,在步骤s42中,将所述资源请求序列转换成统一格式的资源请求序列。优选地,解析资源请求配置文件或资源请求序列日志;接着,基于所述配置文件或所述资源请求序列日志获取请求序列的间隔和资源请求描述文件;随后,将所述获取的请求序列的间隔和资源请求描述文件转换成统一格式的资源请求序列。

在一实施例中,模拟器的资源请求序列生成器4在接收到外部输入的不同格式的资源请求序列的数据后将所接收的序列转换成统一格式的资源请求序列,这个序列包括两个主要部分:请求的时间序列和真实的资源请求描述文件,也即用户的任务需要的具体资源单元数,每个单元的资源节点位置偏好和每个单元需要的cpu和内存。其中,时间序列用于模拟用户在不同时间点和同一时间点并发提交的任务;资源描述文件和线上用户提交的任务格式一致,从而达到让资源调度器所接受的与真实的资源请求相同或相似,达到模拟的目的。

图9示出根据本申请一个方面的又一优选实施例的资源请求序列生成器实现的原理示意图为资源请求序列生成器的uml图(unifiedmodellanguage),从图可知,资源序列生成器有两个子类:人工资源请求序列 生成类(qa),会解析人工生成的资源请求配置文件,并作为生成资源请求描述文件和资源请求间隔这两个接口的输入;而线上资源序列生成类,会解析运维人员得到的线上真实的生产日志,并作为生成资源请求描述文件和资源请求间隔这两个接口的输入。资源序列请求类包括生成资源请求描述文件和资源请求间隔,资源请求序列生成器的uml图还包括一个基类,用于填充协议统一,将不同格式的资源请求序列转换为统一格式的资源请求序列。其中,请求序列的间隔是每一个间隔到来后生成器都要得到用户资源描述文件,并作为一个真实的用户任务提交给资源调度器。

具体地,在步骤s43中,把所述转换后的资源请求序列提交给资源调度器。

接前例,在生成上述的统一格式的资源请求序列后,资源请求序列生成器负责把资源请求序列提交给资源调度器,其中,资源请求序列有其对应的用户任务,将资源请求序列提交时也提交了对应的用户任务。

图10示出根据本申请一个方面的一个优选实施例的系统架构示意图。图中所示的虚线箭头代表网络通讯,在该系统方法中,包括在模拟器资源请求序列生成器、资源调度器和若干模拟的用户资源管理器端的方法。在各个设备端的交互使得该系统方法能够用于资源调度的压力模拟,起到压力模拟器的作用。以下对在各个设备端的交互过程进行说明:

在资源请求序列生成器4端,步骤s41:获取资源请求序列,由用户体验人员或者线上运维人员使用自动工具或者线上生产的真实请求构建的资源请求序列,以不同的格式输入模拟器资源请求序列生成器。步骤s42:用于将所述资源请求序列转换成统一格式的资源请求序列,模拟的资源请求序列生成器接收外部输入的不同格式的资源请求序列的数据,将它们转换成统一格式的模拟真实用户提交的资源请求序列,步骤s43:将转换后的资源请求序列对应的任务提交给资源调度器。在资源调度器端,步骤s12:收到一个模拟真实用户任务后,查询一个资源节点以调度一个用户资源管理器。启动模拟的用户资源管理器后,在用户资源管理器端,步骤s22:进一步解析用户资源请求序列获取到资源请求单元,用户资源管理器模拟用户的真实行为,步骤s23:将资源请求单元以一定的通讯协议发送给资 源调度器。资源调度器收到模拟用户真实资源请求后,步骤s14:将资源分配给一个或若干模拟的资源节点以调度相应的模拟的用户资源管理器,用户资源管理器收到所分配的资源,步骤s32:进行一系列计算模拟用户使用这些资源的行为,同时,用户资源管理器判断哪些资源不再需要,将不需要的资源还给资源调度器。其中,资源调度器与模拟的用户资源管理器部署在不同的物理节点上,模拟的资源节点与模拟的用户资源管理器在同一物理节点上,从图中可看出,一个物理节点可对应多个模拟的资源节点,从而达到扩大放大比的目的。模拟的资源节点需向资源调度器进行资源汇报,资源汇报是启动进程时就有的,可周期性的汇报资源节点位置偏好,对应的cpu和内存的空闲状态等。

通过上述的系统方法实现了在一个小规模物理节点的集群上,通过软件的方法真实模拟出大规模资源节点的集群,使得资源调度器逻辑在这种小规模节点的集群上也能看到真实的数据中心的资源和节点数量,放大比可以达到1:1000(1个物理节点可以模拟1000个资源节点);进一步地,可以解析人工构建的资源请求序列,或者真实的线上集群在某时间段内资源请求序列,将其输入给资源调度器,达到对资源调度器在各种场景下指标考量和评价的目标,不仅可以考察资源调度器的新功能在不同的压力请求序列下的效果,也可以对其在可缩放的真实线上请求序列下的性能指标进行评判。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可 能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1