发明内容
本发明要解决的技术问题是现有技术中的算力资源度量方法所使用的衡量粒度较粗,导致算力资源度量不精准,给算力的调度管理带来了诸多不便。
本发明采用如下技术方案:
第一方面,本发明提供了一种算力管理度量方法,将用户的业务拆分为多个任务基本处理单元,以任务基本处理单元作为最小单位,进行算力调度度量,具体包括:
监测节点的硬件资源状态、软件资源状态和节点上的已启动任务基本处理单元的运行状态;
根据所述硬件资源状态、软件资源状态、已启动任务基本处理单元的运行状态,以及节点的基础状态,得到所述节点的算力资源状态;
根据各节点的算力资源状态,将目标任务基本处理单元调度至目标节点进行启动;
根据目标任务基本处理单元在所述目标节点上的启动结果,更新所述目标节点的基础状态,以用于后续其他任务基本处理单元的调度。
优选的,所述根据所述硬件资源状态、软件资源状态、已启动任务基本处理单元的运行状态,以及节点的基础状态,得到所述节点的算力资源状态,具体包括:
若节点的基础状态为堵塞状态,则节点的算力资源状态为不可用状态;
若节点的基础状态为正常状态,则当节点的任意一个任务基本处理单元的运行状态异常,或节点的可用资源量低于预设资源量,则所述节点的算力资源状态为不可用状态;
否则,节点的算力资源状态为可用状态。
优选的,所述根据各节点的算力资源状态,将目标任务基本处理单元调度至目标节点进行启动,具体包括:
在算力资源状态为可用状态的多个节点中,根据目标任务基本处理单元的算力需求以及各节点的算力服务供给模板,找到与所述目标任务基本处理单元算力匹配的目标节点,将目标任务基本处理单元调度至目标节点上启动;
其中,所述目标任务基本处理单元的算力需求存储在目标任务基本处理单元所对应业务的算力服务需求模板中。
优选的,所述根据目标任务基本处理单元在所述目标节点上的启动结果,更新所述目标节点的基础状态,具体包括:
若目标任务基本处理单元在所述目标节点上启动成功,则将所述目标节点的基础状态更新为正常状态;
若目标任务基本处理单元在所述目标节点上启动失败,则将所述目标节点的基础状态更新为堵塞状态。
优选的,所述方法还包括:
根据业务所对应的各任务基本处理单元的资源占用情况,计算业务的总内存占用量、业务的内存访问速率、业务的总外存占用量、业务的外存平均访问速率、业务的外存平均IO访问频次、业务的平均通信带宽占用量和业务的任务平均执行时间;
根据所述业务的总内存占用量、业务的内存访问速率、业务的总外存占用量、业务的外存平均访问速率、业务的外存平均IO访问频次、业务的平均通信带宽占用量和业务的任务平均执行时间,计算得到业务在执行过程中的算力资源占用。
优选的,所述根据业务所对应的各任务基本处理单元的资源占用情况,计算业务的总内存占用量、业务的内存访问速率、业务的总外存占用量、业务的外存平均访问速率、业务的外存平均IO访问频次、业务的平均通信带宽占用量和业务的任务平均执行时间,具体包括:
将各任务处理单元的内存占用量相加得到业务的总内存占用量;
将各任务处理单元的内存平均访问速率相加所得的值除以Num得到业务的内存平均访问速率;其中,Num为所述业务拆分得到的任务基本处理单元的数量;
将各任务处理单元的外存占用量相加得到业务的总外存占用量;
将各任务处理单元的外存平均访问速率相加所得的值除以Num得到业务的外存平均访问速率;
将各任务处理单元的外存IO访问频次相加所得的值除以Num得到业务的外存平均IO访问频次;
将各任务处理单元的平均通信带宽占用量相加所得的值除以Num得到业务的平均通信带宽占用量;
将各任务处理单元的执行时间相加所得的值除以Num得到业务的任务平均执行时间。
优选的,所述根据所述业务的总内存占用量、业务的内存访问速率、业务的总外存占用量、业务的外存平均访问速率、业务的外存平均IO访问频次、业务的平均通信带宽占用量和业务的任务平均执行时间,计算得到业务的算力资源占用,具体包括:
将和/>相加得到业务的算力资源占用;其中,MSize为所述业务的总内存占用量,MSpd为所述业务的内存访问速率,SSize为所述业务的总外存占用量,SSpd为所述业务的外存平均访问速率,SIops为所述业务的外存平均IO访问频次,CSpd为所述业务的平均通信带宽占用量,T为所属业务的任务平均执行时间;MSize0为所述预设标准总内存占用量,MSpd0为预设标准内存访问速率,SSize0为预设标准总外存占用量,SSpd0为预设标准外存平均访问速率,SIops0为预设标准外存平均IO访问频次,CSpd0为预设标准平均通信带宽占用量,T0为预设标准任务平均执行时间;K1、K2、K3、K4、K5、K6和K7分别为对应项的预设系数。
优选的,所述算力服务供给模板是在在算力供应商办理入网时,按照节点为单位登记得到的;
在所述算力服务供给模板中至少存储能够在该节点上运行的各任务基本处理单元的信息。
优选的,所述算力服务需求模板是在用户办理入网时,按照业务为单位登记得到的;
所述算力服务需求模板中至少存储由所述业务拆分得到的各任务基本处理单元的信息。
第二方面,本发明还提供了一种算力管理度量装置,用于实现第一方面所述的算力管理度量方法,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的算力管理度量方法。
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的算力管理度量方法。
本发明以业务为主体,根据业务的资源占用衡量业务的算力,相较于现有技术中以虚机或容器进行算力度量的方式相比度量粒度更小,算力度量更为精准,在此基础上,本发明还通过将业务拆分为任务基本处理单元,从而将度量粒度进一步分解至更小,在交付调度时,也以任务基本处理单元为交付单位,从而可将单个业务交由多个节点进行调度处理,减少对单节点的算力需求,以最大限度地确保业务的正常调度运行。同时,任务基本处理单元的交付调度又反向影响节点的算力资源状态,进而影响后续业务的调度,从而形成一种反馈管理机制,确保业务算力调度的正常进行。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
一种算力管理度量方法,将用户的业务拆分为多个任务基本处理单元,以任务基本处理单元作为最小单位,进行算力调度度量,如图1所示,具体包括:
在步骤201中,监测节点的硬件资源状态、软件资源状态和节点上的已启动任务基本处理单元的运行状态;其中,所述硬件资源状态为节点所使用的各硬件是否正常,如处理器、内存、物理及虚拟硬盘、网卡、RAID卡、电源和风扇等硬件是否正常,所述软件资源状态包括节点的CPU占用率、内存占用率、节点的整机功耗、节点的系统资源门限及超限告警等。所述任务基本处理单元在后续实施例中也使用TBPU(Task Basic Process Unit,任务基本处理单元)作为其替代性表述。
在步骤202中,根据所述硬件资源状态、软件资源状态、已启动任务基本处理单元的运行状态,以及节点的基础状态,得到所述节点的算力资源状态;所述节点的基础状态包括堵塞状态和正常状态,所述节点的算力资源状态包括可用状态和不可用状态。所述算力资源状态可以以状态标签的形式存储在内存数据库中,具体的:以节点为单位统计区域内各节点的算力资源状态,在内存数据库中,每个节点对应一个状态标签,状态标签为布尔变量,包括可用状态和不可用状态两种赋值。
在步骤203中,根据各节点的算力资源状态,将目标任务基本处理单元调度至目标节点进行启动;所述目标任务基本处理单元为待调度的任务基本处理单元,对应与其匹配的节点为目标节点。在实际使用中,一个任务基本处理单元可能匹配多个节点,选择其中算力资源状态可用的节点进行交付调度。
在步骤204中,根据目标任务基本处理单元在所述目标节点上的启动结果,更新所述目标节点的基础状态,以用于后续其他任务基本处理单元的调度。具体的:若目标任务基本处理单元在所述目标节点上启动成功,则将所述目标节点的基础状态更新为正常状态;若目标任务基本处理单元在所述目标节点上启动失败,则将所述目标节点的基础状态更新为堵塞状态。基础状态更新为堵塞状态在后续实施例中也使用将节点堵塞等替代性描述表示。对于启动失败的任务基本处理单元,还存在以下可选的实施方式,具体包括:若目标任务基本处理单元在所述目标节点上启动失败,则记录所述目标节点,并将所述目标基本处理单元移至待调度的任务基本处理单元队列的末尾,待调度时刻来临时,重新对所述目标基本处理单元进行调度;若在对目标任务基本处理单元重新调度至其他节点上启动时,均启动失败,且失败的次数超出预设次数,认为启动失败的原因为目标任务基本处理单元自身,记录由该目标任务基本处理单元运行失败导致基础状态变更为堵塞状态的所有节点,将这些节点的基础状态恢复为正常状态。所述预设次数由本领域技术人员根据经验分析得到。
本实施例通过节点的基础状态和算力资源状态两方面进行任务基本处理单元的调度管控,同时,任务基本处理单元的调度结果又反馈至节点的基础状态,进而影响后续任务基本处理单元的调度,即通过这种试用与反馈的机制,使任务基本单元的调度正常。
在实际使用场景下,所述根据所述硬件资源状态、软件资源状态、已启动任务基本处理单元的运行状态,以及节点的基础状态,得到所述节点的算力资源状态,如图2所示,具体包括:
在步骤301中,若节点的基础状态为堵塞状态,则节点的算力资源状态为不可用状态。
在步骤302中,若节点的基础状态为正常状态,则当节点的任意一个任务基本处理单元的运行状态异常,又或节点的可用资源量低于预设资源量,则所述节点的算力资源状态为不可用状态;其中,所述预设资源量由本领域技术人员根据经验分析得到。
在步骤303中,否则,节点的算力资源状态为可用状态。
其中,当节点的基础状态为堵塞状态时,节点的算力资源直接为不可用状态,不接收任务基本单元的调度,可视作将节点堵塞;而当节点的基础状态为正常状态时,还需进一步通过节点的可用资源量进行节点的算力资源状态的判断,从而确保相应任务基本单元在调度至相应节点,有足够可用的算力资源。所述可用资源量是根据节点的算力信息和节点上已启动任务基本处理单元的资源占用计算得到的,如图3所示,具体包括:
在步骤401中,根据节点的算力信息,计算节点的总算力资源量。
在步骤402中,根据节点上各任务基本处理单元的资源占用情况,计算节点上的算力资源占用量。
在步骤403中,将所述总算力资源量减去所述算力资源占用量得到所述节点的可用算力资源量。
所述根据各节点的算力资源状态,将目标任务基本处理单元调度至目标节点进行启动,具体包括:在算力资源状态为可用状态的多个节点中,根据目标任务基本处理单元的算力需求以及各节点的算力服务供给模板,找到与所述目标任务基本处理单元算力匹配的目标节点,将目标任务基本处理单元调度至目标节点上启动,具体包括:在用户与所述目标节点之间建立临时网络通道,通过所述临时网络通道将所述任务基本处理单元传送至目标节点,将所述任务基本处理单元交付给所述目标节点进行调度。
其中,所述目标任务基本处理单元的算力需求存储在目标任务基本处理单元所对应业务的算力服务需求模板中。在实际使用中,每个待调度的任务基本处理单元所对应匹配的节点可以根据算力服务供给模板和算力服务需求模板匹配分析得到,所述算力服务供给模板是在在算力供应商办理入网时,按照节点为单位登记得到的;在所述算力服务供给模板中至少存储能够在该节点上运行的各任务基本处理单元的信息,如下表所示:
所述算力服务供给模板具体包括:任务名称、子任务名称、技术领域任务名称、计算任务名称和任务基本处理单元名称等。所述算力服务供给模板还存储节点的算力信息,所述算力信息包括节点的计算能力、网络能力、内存能力和外存能力中的至少一种。按照运算的数据类型的不同,计算能力又被细化为整数计算速率、浮点计算速率、哈希计算速率等,网络能力在实际使用中表现为网络带宽,内存能力表现为内存容量和内存带宽,外存能力表现为存储容量、存储带宽和单位时间内的IO读写操作次数,所述单位时间可以是秒。
所述算力服务需求模板是在用户办理入网时,按照业务为单位登记得到的;所述算力服务需求模板中至少存储由所述业务拆分得到的各任务基本处理单元的信息。所述算力服务需求模板如下表所述:
所述算力服务需求模板存储有任务名称、子任务名称、技术领域任务名称、节点任务名称和任务基本处理单元名称;其中,节点任务名称为业务基本处理单元在相应节点上调度运行时所对应的任务名称。
在用户办理入网时,将用户业务划分得到相应的任务基本处理单元,并将任务基本处理单元所对应的任务名称、子任务名称、技术领域任务名称以及任务基本处理单元名称存储在算力服务需求模板中,在对用户业务进行调度时,读取算力服务需求模板中的每一个任务基本处理单元,获取对应的信息,将该信息与各节点的算力服务供给模板进行比对,找到对应匹配的算力服务供给模板,该算力服务供给模板所对应的节点即为与该任务基本处理单元匹配的节点,在该节点上进行任务基本处理单元的调度,并将调度时所对应的节点任务存储于算力服务需求模板中,以供在后续算力结算时,直接通过该节点任务访问到调度中的任务基本处理单元。
在实际使用中,在用户业务运行一段时间后,还需进行算力结算,算力结算需要获取用户业务运行所占用的总资源量,如图4所示,所述方法还包括:
在步骤501中,根据业务所对应的各任务基本处理单元的资源占用情况,计算业务的总内存占用量、业务的内存访问速率、业务的总外存占用量、业务的外存平均访问速率、业务的外存平均IO访问频次、业务的平均通信带宽占用量和业务的任务平均执行时间;其中,内存访问速率、外存平均访问速率、外存IO访问频次和平均通信带宽占用量是通过实时监测任务基本处理单元的指标,包括实时内存访问速率、实时外存访问速率、实时外存访问频率和实时通信带宽占用量,并在执行结束后,结合执行时间计算得到的。
在步骤502中,根据所述业务的总内存占用量、业务的内存访问速率、业务的总外存占用量、业务的外存平均访问速率、业务的外存平均IO访问频次、业务的平均通信带宽占用量和业务的任务平均执行时间,计算得到业务在执行过程中的算力资源占用。
其中,所述根据业务所对应的各任务基本处理单元的资源占用情况,计算业务的总内存占用量、业务的内存访问速率、业务的总外存占用量、业务的外存平均访问速率、业务的外存平均IO访问频次、业务的平均通信带宽占用量和业务的任务平均执行时间,具体包括:
将各任务处理单元的内存占用量相加得到业务的总内存占用量;将各任务处理单元的内存平均访问速率相加所得的值除以Num得到业务的内存平均访问速率;其中,Num为所述业务拆分得到的任务基本处理单元的数量;将各任务处理单元的外存占用量相加得到业务的总外存占用量;将各任务处理单元的外存平均访问速率相加所得的值除以Num得到业务的外存平均访问速率;将各任务处理单元的外存IO访问频次相加所得的值除以Num得到业务的外存平均IO访问频次;将各任务处理单元的平均通信带宽占用量相加所得的值除以Num得到业务的平均通信带宽占用量;将各任务处理单元的执行时间相加所得的值除以Num得到业务的任务平均执行时间。
在实际使用过程中,所述业务的总内存占用量以数学公式的形式表现为:
所述业务的总内存占用量以数学公式的形式表现为:
所述业务的总内存占用量以数学公式的形式表现为:
所述业务的总内存占用量以数学公式的形式表现为:
所述业务的总内存占用量以数学公式的形式表现为:
所述业务的总内存占用量以数学公式的形式表现为:
所述业务的总内存占用量以数学公式的形式表现为:
上述各数学公式中,MSize为所述业务的总内存占用量,MSpd为所述业务的内存访问速率,SSize为所述业务的总外存占用量,SSpd为所述业务的外存平均访问速率,SIops为所述业务的外存平均IO访问频次,CSpd为所述业务的平均通信带宽占用量,T为所属业务的任务平均执行时间;MSize0为所述预设标准总内存占用量,m代表节点的计数值,M代表节点的总数量,n代表在相应节点上运行的该业务的任务基本处理单元的计数值,Nm代表该业务在第m节点上所运行的任务基本处理单元的数量,TUBP_Mem_Size()代表任务基本处理单元的内存占用量,TUBP_Mem_Spd()代表任务基本处理单元的内存平均访问速率,TUBP_Stor_Size()代表任务基本处理单元的外存占用量,TUBP_Stor_Spd()代表任务基本处理单元的外存平均访问速率,TUBP_Stor_Iops()代表任务基本处理单元的外存IO访问频次,TUBP_Com_Spd()代表任务基本处理单元的平均通信带宽占用量,TUBP_Runtime()代表任务基本处理单元的执行时间。
所述根据所述业务的总内存占用量、业务的内存访问速率、业务的总外存占用量、业务的外存平均访问速率、业务的外存平均IO访问频次、业务的平均通信带宽占用量和业务的任务平均执行时间,计算得到业务的算力资源占用,具体包括:
将和/>相加得到业务的算力资源占用;其中,MSize为所述业务的总内存占用量,MSpd为所述业务的内存访问速率,SSize为所述业务的总外存占用量,SSpd为所述业务的外存平均访问速率,SIops为所述业务的外存平均IO访问频次,CSpd为所述业务的平均通信带宽占用量,T为所属业务的任务平均执行时间;MSize0为所述预设标准总内存占用量,MSpd0为预设标准内存访问速率,SSize0为预设标准总外存占用量,SSpd0为预设标准外存平均访问速率,SIops0为预设标准外存平均IO访问频次,CSpd0为预设标准平均通信带宽占用量,T0为预设标准任务平均执行时间;K1、K2、K3、K4、K5、K6和K7分别为对应项的预设系数,各预设系数均由本领域技术人员根据经验分析得到。
所述算力以数学公式的方式表现为:
其中,Count为算力,MSize、MSpd、MSize0和MSpd0等所代表含义已在上文中描述,在此不再赘述,MSize0、MSpd0、SSize0、SSpd0、SIops0、CSpd0、T0均由本领域技术人员根据经验分析得到,或通过在标准节点设备上运行标准业务,所记录得到的标准业务的各项运行资源占用量。计算得到的业务的算力资源占用便可用于后续的用户与算力供应商之间的算力结算。
实施例2:
在实际使用中,还存在现有技术中的算力资源度量方法所使用的衡量粒度较粗,导致算力资源度量不精准,给算力的供应管理和算力交易结算带来了诸多不便的问题。为了解决此问题,在实施例1的基础上,本发明实施例1还提供了一种算力管理度量方法,当所述业务为综合业务时,将用户的业务拆分为多个任务基本处理单元,如图5所示,具体包括:
在步骤601中,将业务拆分为多个子业务,再按照技术领域,将每个子业务拆分为多个技术领域任务。
在步骤602中,根据计算特性,将每个技术领域任务拆分为多个计算任务。
在步骤603中,根据节点的算力资源,将每个计算任务拆分为多个任务基本处理单元。
在具体的应用场景下,任务基本处理单元包含如图6所示的配置信息,并具有以下特点:
1、TBPU自身有内存能力、外存能力、通信端口带宽、及完成时间的需求配置标识,用于算力调度使用,只要能满足基本处理单元的资源配置供给要求,就可以参与算力交易与服务。
2、TBPU是以软件模块形式出现,能在规定时间内完成计算任务,否则,强制结束;
3、TBPU具备独立性,只在运行期间占用资源及与周边发生联系,冷启动后可以重复调用,结束时释放全部占用资源;
4、TBPU因为业务颗粒度较小,本体能保证在一个独立节点上就能计算执行,但允许该单元使用分布式存储、分布式数据库等资源配置;
5、TBPU工作于运行环境支撑平台之上,比如基础OS、云OS、虚拟机、容器、FaaS平台或裸金属的APP之上,所依托运行的算力资源由支撑平台决定和提供;
6、任务基本处理单元具备自我统计执行时间、占用内存和外存及通信节点带宽并供查询的能力。
本实施例以业务为主体,根据业务的资源占用衡量业务的算力,相较于现有技术中以虚机或容器进行算力度量的方式相比度量粒度更小,算力度量更为精准,在此基础上,本实施例还通过将业务拆分为任务基本处理单元,从而将度量粒度进一步分解至更小,在交付调度时,也以任务基本处理单元为交付单位,从而可将单个业务交由多个节点进行调度处理,减少对单节点的算力需求,以最大限度地确保业务的正常调度运行。同时,任务基本处理单元的交付调度又反向影响节点的算力资源状态,进而影响后续业务的调度,从而形成一种反馈管理机制,确保业务算力调度的正常进行。
结合上述实施例1与上述实施方式,得到的算力调度的具体流程如图7所示,具体包括:
在步骤701中,算力需求端发起业务申请,先完成业务登记审核。
在步骤702中,算力服务编排系统将业务拆解为n个任务基本处理单元,并按照预设顺序排序,将n个任务基本处理单元依次交付调度。
在步骤703中,在对第i个任务基本处理单元a(i)交付调度时,根据节点的算力资源状态,找到可用的节点,在可用的节点中,对a(i)业务类型匹配、算力资源位置匹配等等,以找到与a(i)匹配的节点。其中,i为正整数,且i小于等于n。
在步骤704中,网络及节点设备承载传输与路由识别任务,建立起临时网络通道,将a(i)传送到选定的匹配节点,以将a(i)交付给节点进行调度。
在步骤705中,若a(i)冷启动成功(即对应实施例1中的目标任务接本处理单元启动成功),则在a(i)执行完成后反馈结果,并释放节点的计算、内存、外存、网络资源,进入下一任务基本处理单元的交付调度。
在步骤706中,若a(i)冷启动失败(即对应实施例1中的目标任务接本处理单元启动失败),则进入算力资源度量系统的异常处理流程,在该异常处理流程中,将该节点的算力资源状态更新为不可用,堵塞该节点(即将节点的基础状态更新为堵塞状态),使该节点不参与后续的算力调度,进入下一任务基本处理单元的交付调度。
本实施例还结合实际应用场景,为业务的算力资源占用的计算提供了一种可选的实施方式,
实施例3:
本发明还提供了实施例1所描述的算力管理度量方法后,本发明实施例还将进一步提供一种算力管理度量系统,为的是对实施例1中各方法的系统实现层面进行相关阐述,需要说明的是,实施例1中的算力管理度量方法在本实施例中均适用,在本实施例中将不再对其方法进行赘述。
现有的算力网络通常使用算力服务模型架构,所述算力服务模型如图8所示,包括算力设施层、算力服务层和算力业务层。
算力设施层主要包含硬件设施和基础软件系统:节点设备的异构计算资源有CPU、GPU卡、AI模块、DPU卡等等,以及内存资源、外存资源和设备通信资源;基础软件系统包含指指令集、编译系统、基础操作系统、基础文件系统等。算力设施层可抽象为计算能力、内存能力、外存能力、通信能力的集合,其中计算能力的物理度量指标有整数计算速率、浮点计算速率和哈希计算速率;内存能力度量指标主要有容量和读写带宽;外存能力物理度量指标有存储容量、存储带宽和IOPS;通信能力度量指标是网络端口带宽。
算力服务层主要由网络操作系统、算力服务支撑层和业务运行环境层构成:网络操作系统是分布式网络应用基础操作平台;算力服务支撑层包括分布式存储、分布式计算、容器、虚拟机等等;业务环境支撑层是算力服务供应商入网的算力服务提供的运行支撑软件环境,比如BaaS平台、FaaS平台或技术演进产生的其他创新平台等等。
算力业务层用于承载各种综合算力业务,本实施例所述的算力管理度量系统运行于算力服务层。
本实施例所述的算力管理度量系统如图9所示,包含算力资源数据采集模块、算力资源智能诊断模块、算力决策模块、算力资源占用统计模块。
其中,算力资源数据采集模块用于采集各任务基本处理单元的资源占用情况。
在实际使用中,所述算力管理度量系统还包括算力资源状态库,如使用内存数据库作为算力资源状态库,以节点为单位存储区域内各节点的算力资源状态,如为每一个节点携带一标签,标签为布尔变量,包含可用和不可用两种赋值,分别与可用状态和不可用状态相对应。
算力资源智能诊断模块用于根据算力资源采集模块采集得到的节点上各任务基本处理单元的资源占用情况、节点的算力信息和节点的基础状态,确定节点的算力资源状态,从而更新所述算力资源状态库。
如统计区域内算力节点各TBPU(Task Basic Process Unit,即上述的任务基本处理单元)的算力资源(计算、内存、外存、通信)总和,并参考BMC模块上报节点的CPU资源及占用率、内存资源及占用率、外存资源及占用率、通信带宽等等,更新各节点算力资源占用,给节点打可用性标签。在本发明实施例后续内容中,也将直接用TBPU作为任务基本处理单元描述的代表形式呈现。
算力资源诊断模块负责对区域内算力节点的健康做出综合判断,判断依据来源于如下三个模块,三个模块通过所在主机的以太网物理链路互联,通过以太网报文互相传递信息:
算力决策模块:如前面算力服务流程所述,是算力服务中的重要环节,运行在区域内某台算力调度服务器上,采用一种试用与反馈机制将TBPU调度到区域内的算力节点上运行,当TBPU调度到某个节点上启动失败,算力决策模块会收到该节点TBPU启动失败的信息,算力决策模块在调度列表里将该节点标记为故障节点,不再进行任务调度,并将该故障节点信息上报给算力资源诊断模块。
应用软件监控模块:在算力节点内部运行的监控程序,该监控程序对算力节点上一切软件,包括网络操作系统、数据库、TBPU运行支撑层软件等等应用层程序,任何软件有异常,都会被监控程序捕捉并上报到算力资源诊断模块。
BMC监控模块:也是在算力节点上运行的带外监控模块,软硬件独立于主机,对主机系统的BIOS、基础操作系统和CPU、内存、硬盘、风扇、网卡等等基础硬件的健康状态进行监控,如有异常会捕捉到并通过网络上报到算力资源诊断模块。
算力资源诊断模块通过三个来源上报信息综合判断区域内的某个算力节点的健康状况,在上电初始化后持续进行以下工作:
1、实时处理算力节点软件监控模块的异常上报和算力决策模块的TBPU调度异常上报,参考BMC监控模块反馈节点的基础软硬件健康状况,综合判断出节点健康状态。
2、依据上述综合诊断结果实时刷新算力节点健康记录表;同时将记录表的刷新实时通知给算力决策模块。
算力资源智能诊断模块具体执行的操作包括:
1、实时处理算力节点TBPU运行异常上报和算力决策模块TBPU调度异常上报,参考BMC软件反馈节点的基础状态和相应算力资源状态,综合判断给出异常处理建议。
2、依据上述综合诊断结果将算力资源状态库刷新打标签。
3、定期查询算力节点维修状况,更新算力资源状态库,并通知算力决策模块。
算力决策模块用于根据算力资源数据采集模块和算力资源智能诊断模块上报信息,据上报的各算力节点的健康状态和资源占用状况,更新区域内算力集群的算力节点键值内存数据库,一个条目对应一个节点状态标签,标签设定为布尔变量,标示为算力节点可用/不可用两种状态。如算力节点状态有变更,就同步到算力决策模块;算力决策模块有自己维护的算力资源访问列表,调度反馈失败即堵塞相应的算力节点的调度并上报给算力资源智能诊断模块,直到算力决策模块综合判断后主动联系算力决策模块重新启用该算力节点。
算力资源占用统计模块用于在业务所对应的各任务基本处理单元调度结束后,根据算力服务需求模板,找到业务所对应的任务基本处理单元,根据业务所对应的各任务基本处理单元的资源占用情况,计算业务在执行过程中的算力资源占用。
算力服务需要算力的度量来完成算力交易结算与支付,这里用引入的算力资源度量系统来对某个算力区域内所有计算节点的TBPU进行监控和信息采集,将每个综合业务所有TBPU所占用的内存、外存、端口通信带宽和执行时间进行统计求和,并以此为依据获取算力资源度量值,实现算力估价与支付。参考获取的综合业务的占用的内存的总容量和访问带宽、外存的存储容量、访问带宽和IOPS、节点端口通信带宽占用以及平均的TBPU执行时间,在资源度量值与算力服务费用之间存在比例换算关系,这里算力服务费用与TBPU平均执行时间是反比,即值越小收费越高,与其他算力资源值是正比换算关系,我们可以根据业务实际运行后的算力资源度量统计值与成本消耗值来综合对比,实现算力估价与交易。
在实际的应用场景下,本实施例所述的算力度量系统运行在算力资源度量服务器上,所述算力资源度量服务器通过网络与所述算力网络和带外管理网络相联通。在所述算力度量服务器中,如图10所示,运行以下程序:
算力调度监控软件、算力统计与异常监控软件、BMC软件、区域算力资源管理软件构建而成,具体各软件模块功能如下:
1、算力统计与异常监控软件:运行于算力供给端的主机系统,负责本节点所有TBPU资源占用状况上报和TBPU个体异常触发上报。
2、算力调度监控软件:运行于算力调度服务系统,负责本调度节点算力调度出现异常触发上报。
3、BMC系统软件:算力供给端自带的带外监控系统,负责上报本节点的算力资源相关组件的硬件资源状态和软件资源状态,主要有:CPU/内存/物理及虚拟硬盘/网卡/RAID卡/电源/风扇等信息查询,系统资源门限及超限告警、整机功耗、CPU、内存占用率等等。
4、区域算力资源管理软件:运行于算力资源度量服务器,实现区域内算力资源管理与度量,内嵌组件有:
1)算力资源数据采集:负责区域内所有节点算力数据采集并传送给节点状态数据库和算力资源统计度量模块。
2)节点状态数据库:以本地或分布式存储方式实现算力资源状态数据高效存储,主要涉及在运行的所有节点的BPU算力资源状态信息。
3)算力资源统计度量模块:接收算力资源数据采集信息的过滤和整理,梳理出区域内所有节点的所有TBPU的资源占用信息并完成与算力交易服务的信息查询。
4)BMC数据采集:负责区域内所有节点BMC系统数据通信与数据采集并传送给节点状态数据库。
5)节点状态数据库:以本地或分布式存储方式实现节点的组件的状态数据高效存储,主要涉及组件的计算、内存、外存、通信资源状态信息,并供算力资源智能诊断与数据更新模块查询。
6)算力资源智能诊断与数据更新:实时监控区域内算力资源,综合区域内节点的算力资源状态和节点组件的基础状态,以及调度服务反馈的异常信息,完成智能诊断,面向算力调度服务给出处理建议,并刷新算力资源数据库,给相应的算力资源打上可用与不可用的标签;算力调度服务根据该模块给出的建议,来做出继续堵塞还是重新启用相应的计算节点的决策;该模块会定期查询计算节点生命周期维护系统,更新节点可用信息,与算力调用系统交互信息,重新启用已修复的计算节点。
实施例4:
如图11所示,是本发明实施例的算力管理度量装置的架构示意图。本实施例的算力管理度量装置包括一个或多个处理器21以及存储器22。其中,图11中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图11中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1中的算力管理度量方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行算力管理度量方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1中的算力管理度量方法。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。