B. 智能运维 --- 成本优化 --- 容量规划 --- 案例

B. 智能运维 --- 成本优化 --- 容量规划 --- 案例
	AIOps新应用:为大数据批处理任务配置最佳云资源
		项目背景
			运行在云上的大数据分析任务变得越来越重要。现有的大数据分析技术包括map-reduce、SQL式查询语言、深度学习。这些大数据分析应用需要相似的计算结构,即VM集群。然而,VM集群的配置有很多可供选择的组合,包括CPU、内存、磁盘、网络。这样为大数据分析任务选择一个合理的云配置变得格外重要。例如,一个糟糕的配置可能使得平均运行成本增加12倍。如下图所示,微软报告显示有40% 的Bing核心任务为周期性重复运行的,因此为重复运行的大数据分析任务选择合理的配置能有效的降低成本,提升运行性能。
		复杂度分析
			准确性:计算任务的运行时间与云实例的资源、输入的工作负载、内部工作流程和计算程序的配置有着复杂的关系。直接建模这种关系是很困难的。此外,诸如网络拥塞等会引入大量噪声干扰最优配置的选择。
			低开销:对最佳云配置的暴力搜索有很大的开销。计算任务的开发人员经常面临众多的云配置选择。
			适应性:大数据应用程序在其数据处理流程中具有不同的内部体系结构和依赖性。手动为每个应用程序性能模型构建内部结构是不可扩展的。
		核心思想
			CherryPick的核心思想是建立一个精确的性能模型,它能够实现低开销和适应性,只需要少量搜索且不需要将计算任务特定的配置嵌入到建模中。
			CherryPick利用贝叶斯优化(BO),一种优化的黑盒方法。由于它是非参数的,因此它没有任何需要预定义的函数格式。 BO估计每个候选云配置下的成本和运行时间的置信区间(实际值应该以多高概率落入的范围)。随着更多样本,置信区间的大小得以缩减。 CherryPick可以判断哪个云配置应该更多的采样,以便不确定性接近最优化。CherryPick使用置信区间来决定何时停止搜索。
	节约亿级成本的阿里AIOps案例:群体强化学习助力容器调度
		项目背景
			当用户向 Sigma 申请容器所需的计算资源(如 CPU、Memory、磁盘等)时,调度器负责挑选出满足各项规格要求的物理机来部署这些容器。通常,满足各项要求的物理机并非唯一,且水位各不相同,不同的分配方式最终得到的分配率存在差异,因此,调度器的一项核心任务就是按照某一策略从众多候选机器中挑出最合适的物理机。
		场景
			在文献中,计算资源调度一般被表述为矢量装箱问题(vector bin packing problem),如果各应用的容器数量事先已知(如大促场景),调度器可一次性为所有容器生成优化的排布方案,此时问题可以表述为整数规划,可使用通用求解器或专门开发的算法来求解;
			如果各应用的请求陆续到达 Sigma (如日常场景),调度器需要在每次请求到达时即时(在线)生成部署决策,此时问题可表述为马尔可夫决策过程 (Markov Decision Process, MDP),原则上可以通过值迭代或策略迭代求得最优策略。
			除了资源维度上的要求,实际调度中还有容灾和干扰隔离上的考虑:
				比如同一应用的容器不允许全部部署到同一台物理机上,很多应用甚至每台机器上只允许有一个实例;
				某些应用之间还存在互斥关系(如资源争抢),严重影响应用的性能,因此也不允许它们被部署到同一物理机上。
		算法模型
			在线调度模型
			群体增强学习 SwarmRL

猜你喜欢

转载自blog.csdn.net/micklongen/article/details/89441433