资源管理介绍(三)
“把笔抵锋,肇乎本性。”书法家王羲之认为,“字是书者人品的写真”。人民网曾发表过一篇文章评价主席的书法:字如其人,才华了得。认为主席的书法作品革命年代气势足,运笔峻拔。今天向大家介绍主席于1950年5月7日于北京题军委会议的一副对联“知己知彼,百战百胜”。这是“知己知彼,百战不殆”的化用。《孙子·谋攻篇》指出:“知彼知己者,百战不殆;不知彼而知己,一胜一负;不知彼,不知己,每战必殆。”这话揭示了指导战争的普遍规律:战争的指导者要取得战争的胜利,只有了解双方情况,才能制定出正确的作战策略。主席将《孙子兵法》中的“不殆”创造性的改为“百胜”,进一步强调了战争中情报工作的重要性。如果说在华为下一代智慧云脑“瑶光”系统中,调度资源的规划、测算是知己的话,那么针对资源使用情况的预测和画像就是知彼。前面两期我们分别介绍了资源规划、资源测算以及资源调度中的调度算法和迭代优化平台。从资源全周期角度来看,基本带着大家看完了资源的“前半生”,也就是从数据中心资源准备和租户静态声明资源配额的角度来考虑问题和解决。进入资源的“后半生”,更接近租户实际业务,那我们看待资源的角度也要更关注资源的实际使用情况以及对业务的影响。
对实际数据中心的资源分析,我们会发现有时数据中心的资源分配率很高,但VM或主机的实际负载却很低,即资源利用率很低。还有的时候,资源分配正常,但由于某些VM的业务负载升高,导致其邻居VM的业务性能受影响。这说明,租户声明的资源量与实际使用效果之间并不是存在必然的联系。那么,如果我们能够从资源实际使用角度来做调度和管理,就可以更好的提升资源利用率并提供更好的性能体验。这就是本期我们要介绍的基于利用率的调度和任务调度。
其实有了这些对资源以及业务负载的智能预测和画像,不仅可以指导我们更好的调度、提升资源利用率,也能将这些智能能力惠及客户,比如千人千面、智能推荐、成本和性能优化建议、业务SLA保障算法等,都将极大的提升租户维度的资源效能,带来更优质的云上体验。这些算法的研究均已经在进行中,并且已经纳入“瑶光”的规划。
位列北斗杓端第七颗的瑶光,有“一端可撬动天地”之说。而华为“瑶光”承载着全域调度、动态协商与治理、多目标优化、多样算力智能匹配、全栈可信的核心挑战。担负着“资粮万物者”的重任。资源管理调度系列算法作为“瑶光”智慧云脑中的重要组成部分也必将伴“瑶光”征战全球。
黄沙百战穿金甲,不破楼兰终不还。预祝“瑶光”在5G+云+AI时代的征程上,攻无不克,战无不胜!
1. 资源预测
资源预测根据数据中心主机/租户VM的历史实际利用情况,运用时序预测算法提前对其未来变化趋势进行预判从而做好应对措施,有助于基于利用率的弹性调度决策、热点识别及迁移、动态阈值告警等。本方案在Google研究成果下进行改良,主要采用了基于EEMD的“分解-组合”预测办法,先对原始复杂波段解构成若干平稳子序列并分别进行预测,再合成最终预测结果,相比传统HW算法长时间预测可有效减少29.8%~41.7%的误差。
2. 资源画像
VM智能画像是二次系统细粒度调度关键组成部分,通过对VM的数据分析和精细画像,深刻刻画和挖掘各个资源维度的真实业务特征,全方位从数据中挖掘出有效的规律,从而为调度系统提供更细粒度的决策反馈。
我们在智能画像系统中引入机器学习的技术,通过对真实数据的挖掘和分析,提出了一系列可能作为调度系统关键决策的方面,上线了一系列对应的组件,这些组件作为资源画像系统的核心,服务于非常多的业务应用。
3. 关联分析
云计算中,不同维度的资源有不同的特征,但同时不同维度的资源也有共性点在,不同维度资源数据的共同点和异同点对业务分析和资源调度有至关重要的作用。
我们通过对资源数据的分析,提出了一系列基于关联分析和预测的相关算法,如“冷启动”等,利用数据中本身已有的信息,对相关资源进行预测和分析,从而为资源调度系统提供更多维度的信息,来丰富和加强调度系统的掌控能力。
4. 计算任务调度
短任务(Job)指可拆分为批量任务(Task)由集群内的计算资源(Node)协同完成的用户需求。短任务主要包括TensorFlow训练、Spark计算等计算量大的需求。用户提交的Job会被分解成彼此之间有数据传输的Task协同完成,执行Task的Node之间有物理连接的网络。调度算法需要将Job分解的Task映射到Node上处理。Task之间数据传输量未知,Node之间物理连接关系和带宽(数据传输上限)已知。调度算法在单个Node处理能力、单Node内部数据传输容量、Node间数据传输带宽等多个条件约束下追求最优的Task分配方案从而使整个Job的完成时间最短。
我们将Task之间的数据传输关系、Node之间的物理拓扑、资源限制等通过矩阵里量化的元素描述,针对这个场景专门设计的目标函数。在资源限制的约束下,目标函数的最优解给出Task到Node的映射关系(调度分配方案)。
我们设计的目标函数将业务约束考虑在内,在倾向Task在彼此带宽较大的Node上分配的条件下尽可能保证Node间的负载均衡。
在算法求解工作上,我们开发了基于业务逻辑的启发式解搜索方法以及基于Node间拓扑结构(图)划分的方法加速求解过程,缩短目标函数的求解时间以达到商用环境的要求。