浅析吉林移动经营分析多租户系统资源调度算法

2020-01-01 01:57张若峰张巍
营销界 2019年24期
关键词:租户调度服务器

张若峰,张巍

传统模式下,由申请人提交作业申请工单给资源池管理员,通过工单流转方式进行作业的发起、处理、反馈,效率较为低下。资源池管理员审核工单后,凭借经验手工划拨服务器的cpu、内存、硬盘存储、网络带宽等资源,授权给待运行作业,对管理员的经验要求较高。作业完成后,才能将占用的服务器硬件、网络资源的权限释放,而出于系统稳定性考虑,管理员必须等到释放之后才能进行下次分配,引起空置资源的浪费。为了解决手动分配作业调度的种种弊端,必须建立自动化的作业调度和分配机制,提高分布式作业的运行效率,提高资源池中服务器及其资源的利用效率。

为提高资源配置的效率,自2017年吉林移动开始自主研发经营分析多租户系统的资源自动调度算法,取代人为干预的半自动算法,将X86集群中的CPU、内存、存储、网络带宽等资源进行动态的分配,为不同类型作业分配相应资源,并实现全系统冗余资源的均衡负载。该算法主要应用在吉林移动经营分析多租户系统中,为不同的数据使用用户进行的作业进行资源分配。下文将主要基于云资源智能分配算法的核心要素和具体应用表现:

一、资源调度模型数学建模

(一)资源评价模型

在多租户环境下的资源调度,首先需要将计算机系统物理资源通过虚拟化技术抽象为相互独立的虚拟资源,然后将计算任务分配到符合调度策略的最佳虚拟机节点上去。如何将虚拟资源进行抽象并通过节点属性对节点的计算能力进行有效表示,是云计算资源调度的一个关键问题。本算法将一个虚拟机资源表示为:

通过对租户虚拟资源的固有资源(cpu、内存、物理存储)、网络状况(带宽、距离)、当前运行状态进行统一建模,从多角度对租户的计算能力进行表达,尽可能准确的对租户的计算能力进行描述,并从中找出最符合计算要求的计算节点,以高效的完成资源调度任务。

在物理服务器上运行的各虚拟机的计算能力是通过多方面来评估的,根据在实际场景中的约束条件,建立以下节点评价模型,如以下公式所示:

ρbandwidth分别代表虚拟机CPU、内存、硬盘存储、路径带宽的评价值的权重,且

(二)节点作业执行速度的预测模型

针对在多租户环境下虚拟机计算节点的计算特征,根据租户积累的任务执行速度的历史数据对下一次任务执行速度进行预测评估。在多租户系统中的每个计算节点的当前负载程度可以查询,并且在历史记录中,上一次作业完成的平均负载程度可以查询,根据这两项数据,利用以下公式建立模型对任务执行速度进行预测:

其中,ak代表第k次执行速度预测时系统的实际负载程度,代表对序号m的计算节点的第k次执行速度的预测执行速度,代表序号为m的计算节点的第k次作业实际的执行速度,执行速度的单位为MIPS,ρ为预测执行速度在预测模型中的权重系数。参与作业执行的每一个节点在作业完成后会将本节点的本次作业执行情况进行记录,记录中包括作业执行速度以及系统负载程度。在节点负载程度中我们采用几个量化的指标进行衡量,系统负载程度的度量模型如以下公式所示:

(三)资源节点综合评价模型

租户提交的计算任务在寻找合适的计算资源节点过程中,首先,根据节点评价模型和节点作业执行速度的预测模型建立节点的计算能力整体评价模型,模型公式为:

其中,λ为调节参数,通过调节该系统,对模型中节点固定资源计算能力以及该节点对计算任务的实际执行能力进行适应性调整,以达最优的计算效果。

二、使用算法的机制和装置

将算法的各个阶段分段包装成独立模块,通过标准接口进行数据互通,项目共分为三个主要模块,即资源打分、作业预测和智能调度模块。

资源打分模块主要通过将服务器CPU、存储、网络带宽等物理资源进行逻辑抽象为相互独立的虚拟资源,通过评估模型将上述资源进行组合,换算为资源能力值,通过图表方式将各个资源以拓扑图标注参数的方式可视化展现,使得维护人员可以通过该模块对全局资源的访问变得简单易行,查找资源的元数据关系变得直观,通时以资源属性列表方式对外提供标准数据接口。

作业预测模块主要根据历史作业的输入、输出、处理复杂度将作业分为不同类型,根据不同类型作业的历史执行情况获得该类作业资源使用的平均结果,换算为该类作业的资源需求值。对等待的作业进行队列排序,赋予作业以一定的优先级,对优先级参数实现可配置,简化对作业队列的维护,同时通过作业关联关系可以设置作业的前后置作业,使得复杂、多依赖关系的作业群可以在系统中有序执行,提高系统对复杂需求的处理能力。

作业调度模块在接到新的作业时,首先通过作业预测模型计算,获得该作业的资源需求值;再通过资源评价模型,分配具备等价资源能力值的资源,使得该作业获得资源的使用权限并直接开始调度执行。

三、算法主要创新点

第一,构建基于云资源智能分配算法模型,提升对作业、资源的量化评估能力。模型包括资源评价计算模型、作业预测模型、新作业适配等多个评价环节,将资源池中的服务器及其资源进行量化,将作业平均运行速度/负载进行量化,使得作业的使用资源可以有效适配,保障了作业自动分配资源并运行的可能性 。

第二,基于云资源智能分配算法构建分布式作业调度机制,提升全局作业处理效率。原有的作业调度机制以工单和人工方式进行作业的调起,处理效率较低,且空置资源的使用和新作业的资源授权必须由管理员完成。新机制自动化、电子化的实现了原机制的所有功能,而其效率远高于原机制。

第三,利用分布式作业调度机制创新资源分配模式,提升分布式系统的整体服务能力。通过使用分布式作业调度机制,可以保障资源池中的所有服务器及其包含的CPU、内存、硬盘存储、网络带宽等资源的有效利用,而其增加的成本接近于零,体现了“降本增效”的工作原则。

通过上述主要模块以及权限管理、安全管理等基础要求,使得对复杂作业的调度管控和全局资源负载平衡达到了新的高度和精度。

四、算法应用情况

自2018年1月算法正式上线以来,月均完成作业数量约为1880个,X86集群负载使用率低于87%,历次割接、断网等操作均未影响算法的稳定性,为吉林移动各地市分公司完成数据统计、产品设计、资费预演等生产活动提供了有力的支撑。

在云资源智能分配机制上线后,系统整体作业处理数量显著增加,增长了约3.6倍,平均负载率降低22%,单台服务器的资源峰值占用率降低了15%,全系统的生产效率得到有效提升,而资源负载则有效的进行了平均。

经济效益方面,云资源智能分配机制本省属于自主研发,因此其开发成本基本为零,但由于引发了系统生产能力和资源平均负载能力的提升,相当于节省了购买硬件资源的成本:目前经营分析分布式系统的硬件投资,包括所使用的CPU、内存、存储、机柜、网络设备等,上线以来累计节省成本超过3500万元。

社会效益方面,云资源智能分配机制的上线,标志着我省分布式云计算系统能够为未来公司经营决策、一线营销提供更加强大的分析处理能力,提高业务部门服务满意度。同时,通过服务器负载平均和智能分配再利用等机制,可以有效延长服务器硬件资源的使用寿命,对于提供更加稳定、高效的经营分析产品提供了保障。

猜你喜欢
租户调度服务器
多租户数据隔离及加密研究
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
基于多租户隔离的云安全建设
通信控制服务器(CCS)维护终端的设计与实现
基于强化学习的时间触发通信调度方法
一种基于负载均衡的Kubernetes调度改进算法
PowerTCP Server Tool
虚拟机实时迁移调度算法
一种新型高效的多租户共享数据模型
基于MVC模式的多租户portlet应用研究*