基于机器学习的微服务调度与通信优化系统(Mohammad Ibrahim)

/ 2

基于机器学习的微服务调度与通信优化系统(Mohammad Ibrahim)

Mohammad Ibrahim

上海市

该技术开发完成于2022年2月21日,并于2022年2月25日首次发表。

背景技术

云-边协同计算已经成为面向智慧城市等大规模人工智能应用的典型场景,具有数据密集、运算密集和通信密集的特点。云计算基于传统的数据中心,满足多数据源、高计算压力需求应用,边缘计算2则侧重基于单一数据源但计算密集应用的需求。基于微服务1的应用构建,提供应用模块化实现和高可用的特点,已经成为构建大型应用系统的重要实现方式。在结合微服务的云-边协同计算环境中,如何提升系统运行效率,避免通信瓶颈,实现高吞吐率的计算,特别是面向人工智能的数据处理能力,是目前智慧城市应用实现面临的技术挑战。

本项技术通过以基于数据源位置、运算节点位置与性能、应用计算特征、通信负载等影响基于微服务应用性能的影响因素,通过基于机器学习优化计算的方式,为应用系统集群提供动态优化任务调度策略支持,实现降低网络通信延迟、提升运算资源利用率的微服务。

技术内容

本技术提供了一种基于机器学习技术的微服务任务调度技术,可通过将数据、计算节点的位置及特征、网络系统速率与计算任务类型与特征输入任务调度器,以机器学习寻优方式给出任务的合适运行节点。该技术可以降低网络、数据I/O延迟和提升计算吞吐率为主要优化目标,为系统中运行的所有任务提供一个优化调度策略,并可根据任务数量和状态变化以准实时的方式提供策略更正。本项技术的运行系统是指云-边协同环境,在云端和边缘端进行有效的任务调度,实现协同计算和数据处理,可将计算密集任务的效率大幅提升,而如何实现调度策略是目前的主要问题。

为实现上述目的,本项技术提出了一种通过机器学习优化计算,实现基于数据、计算任务类型和特征以及网络传输速率来判断微服务(即计算任务)的执行位置的技术。该技术可有效判断相对优化的任务执行位置,并能够综合考虑计算效能、数据延迟、数据本地化等性能指标,可作为智慧城市算力平台任务调度系统的策略管理插件来提升系统整体运行效率。

本项技术包含3部分:1.基于微服务的应用系统的特征集合;2. 基于计算、存储和网络运行成本的应用运行成本模型;3.通过机器学习算法进行针对计算、存储和网络成本(第2部分)和其上运行的应用系统特征(第1部分),针对计算应用系统整体处理效率进行优化求解,得出优化的微服务调度策略。

具体实施方式

本项技术的实现方式包括线下制定成本模型和线上进行资源调度策略计算两部分。线下部分讲硬件资源的计算和I/O特性建立成本表,包括:计算能力、I/O速率;同时将软件(即微服务)建立特性表,包括:I/O频率、单次I/O平均数据容量、计算能力需求。线上部分根据计算云-边集群中运行的各个微服务计算任务的运行成本得出的总体运行成本进行寻优化,即需求最低运行成本,来驱动优化调度策略,即计算:r = ArgMax1..N Sum(Fc (Hfsi,Sfsi)),这里Fc代表计算应用的成本的方程,Hfsi和Sfsi分别代表对应于第i个应用的硬件系统特征和软件系统特征集合,Sum代表总和。

基于微服务的应用系统的特征集合: Sfs

应用系统特征列表如下:

特征表示 说明 P 计算能力需求 Nf 网络I/O频率 Nv 单次网络I/O容量 Df 存储I/O频率 Dv 单次存储I/O容量

对于给定的微服务a,其系统特征集合

Sfs ={P, Nf0, Nf1 .. NfN, Nv0, Nv1 .. NvN, Df0, Df1 .. DfM, Dv0, Dv1 ..DvM},这里表示a有N个对外网络I/O通道和M个存储I/O通道。Sfs中的元素的数值具体数值可根据应用场景中收集的经验值安排。

对于不同的网络I/O通道,存在不同的优先级,因此需要一个权重向量wn = {wn1,wn2 .. wnN}对应于N个对外网络I/O通道,与之类似,权重向量wd = {wd1, wd2 .. wdN}对应于M个存储I/O通道。权重以浮点数来表达,Sum(wn1, wn2 .. wnN)和Sum(wn1, wn2 .. wnN)均为1(这里Sum表示总和),wn和wd中的元素的数值具体数值可根据应用场景中收集的经验值安排。

基于计算、存储和网络运行成本特征:Hfs

特征列表如下:

特征成本表示 说明 Pc 计算节点计算能力 Nc 计算节点网络I/O 能力 Dc 计算节点存储I/O 能力

这里Pc、Nc、Dc分别表示计算、网络和存储所对应的成本,成本以浮点数字来表示,具体数值可根据应用场景中收集的经验值安排。

应用运行成本模型:Fc

对于给定微服务a,其应用系统的特征集合: Sfs ={P,P1 .. PT, Nf0, Nf1 ..NfN, Nv0, Nv1 .. NvN, Df0, Df1 .. DfM, Dv0, Dv1 .. DvM},其运行计算节点I的特征成本表示为Hfs = {Pc, Nc0, Nc1 .. NcN, Dc0, Dc1 .. DcM}, Pc对应与a所获得的计算资源,{Nc0, Nc1 .. NcN}对应于a所获得的N个网络通道,{Dc0, Dc1 .. DcM }对应于a所获得的M个存储通道。由上可见a在计算节点I额特征成本Hfs由计算节点的资源分配所决定。

Fc(Hfs,Sfs)= P/Pc + Sum(Nfi* Nvi * wni/ Nci) + Sum(Dfi* Dvi * wdi/ Dci),这里P/Pc表示完成a所需计算任务的成本,Sum(Nfi* Nvi * wni/ Nci)表示完成a所需的N个网络通道的I/O任务的成本,Sum(Dfi* Dvi * wdi/ Dci) 表示完成a所需的M个存储通道的I/O任务的成本。

微服务调度策略寻优方法:

如前所述,调度策略寻优是计算r = ArgMax1..N 1/Sum(Fc (Hfsi,Sfsi)),在实际运行中,还需要考虑每个应用在整个运行系统中的优先级,因此为每个应用赋与一个权重wi,上述计算公式变为r = ArgMax1..N Sum(Fc (Hfsi,Sfsi) * wi),权重wi的定义可根据实际运行环境来定义。

求解r的方法通过函数逼近的方式来实现,即机器学习算法来实现,在本项技术中,采用以马尔可夫-蒙特卡洛算法(MCMC)[3]为基本框架的逼近方法来实现r的求解。

应用任务的初始化位置可以随机或以计算平台原有的调度逻辑分派,给出4个任务调度在2个计算节点上。在执行MCMC过程中,采用方程表现为随机选择采样动作,采样动作包括调整ai运行的物理节点、调整a的网络通道、调整a的存储通道。采样后计算总体计算成本,如果成本低于上一次的数值,接受采样,否则拒绝采样。如果成本达到阈值ts。这里阈值ts是用来控制策略生成速度的方法,可根据实践经验选定。当搜索结束后,返回目前最优的调度策略,这里调度策略通过微服务运行的硬件环境向量{Hfs0, Hfs1.. HfsN}表示。硬件环境向量需要保证在任意计算节点上的全部任务所需的硬件资源不超过硬件本身所承受的范围,例如a0, a1,… an,所需计算资源Pc0 + Pc1 + … + Pcn <= Pc。给出了经过MCMC优化后的调度策略。

动态寻优机制

上述调度策略寻优过程通过运算环境的改变触发调度策略寻优计算,因此为动态机制。运算环境改变包括如下情况:1.应用加入运行环境;2.应用退出运行环境;3.运行环境增加硬件设备;3.运行环境删减硬件设备。给出了寻优策略的触发机制说明。