1. 首页
  2. IT资讯

揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)

“u003Cdivu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002F616a00059745bb3db0b9″ img_width=”500″ img_height=”218″ alt=”揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E背景概述u003Cu002Fpu003Eu003Cpu003E每年双十一创造奇迹的背后,是巨大的成本投入。为了完成对流量峰值的支撑,我们需要大量的计算资源,而在平时,这些资源往往又是空闲的。另一方面,为了在极端情况下,如机房整体断电等还能保障阿里巴巴的业务不受损失,也需要在全国各地建立冗余资源。而且就算是一天当中,在线服务的负载也是不一样的,白天一般情况下要比凌晨高得多。根据盖特纳和麦肯锡前几年的调研数据,全球的服务器的CPU 利用率只有 6% 到 12%。即使通过虚拟化技术优化,利用率还是只有 7% -17%,而阿里巴巴的在线服务整体日均利用率也在 10% 左右。u003Cu002Fpu003Eu003Cpu003E另一方面,全球从 IT 时代全面走向了 DT 时代,现在又在向更深入的 AI 时代迈进。各各样的大数据处理框架不断涌现,从 Hadoop 到 Spark,从 Jstorm 到 Flink,甚至包括深度学习框架 Tensorflow 的出现,成千上万的数据分析背后是大量的计算任务,占用了大量的计算资源。由于计算任务占用的计算量很高,CPU 水位通常在50%-60% 以上,不同于在线服务,计算任务的峰值通常出现在凌晨,水位甚至能达到 70% 以上。所以我们往往就会建立独立的计算任务集群。u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002F616d0003dd018b66fe90″ img_width=”480″ img_height=”455″ alt=”揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E很多人都被车堵过,而堵车的时候,并不是所有的车道都在堵车。有一个比较有趣的情况,我们称之为潮汐现象,而它造成的问题是在早高峰的时候是进城方向堵车,而晚高峰是出城方向堵。而为了缓解这个问题,我们使用了潮汐车道的方式。u003Cu002Fpu003Eu003Cpu003E那么同样的原理,是否如果能让这两个集群混合起来部署,让计算任务的一部分任务跑到在线服务的资源之上,把在线服务空闲的资源利用起来呢?答案是肯定的。u003Cu002Fpu003Eu003Cpu003E混部技术简介u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002F616e00006682a0cf17d3″ img_width=”640″ img_height=”241″ alt=”揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E把集群混合起来,将不同类型的任务调度到相同的物理资源上,通过调度,资源隔离等控制手段 , 在保障 SLO 的基础上,充分使用资源能力,极大降低成本,我们称这样的技术为混部(Co-loaction)。u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002F616d0003dddf8614dda6″ img_width=”640″ img_height=”421″ alt=”揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E打个比方,跑在容器里的在线服务就像石块;而计算任务我们把它比喻成沙子和水。当在线压力小的时候,计算任务就占住那些空隙,把空闲的资源都使用起来,而当在线忙的时候,计算任务就立即退出那些空隙,把资源还给在线业务。这样的技术一方面在平时,我们可以极大地提升资源的利用率;另一方面,在大促活动需要突增在线服务器的时候,又可以通过在线业务占用计算任务资源的方式,来顶住那短暂的峰值压力。u003Cu002Fpu003Eu003Cpu003E从原理中我们可以看到可以混部在一起的任务有两个比较重要的特征:u003Cu002Fpu003Eu003Cpu003E1.可以划分优先级:一定需要优先级比较低的任务,它们能像水和沙子一样,随时能被赶走,而不会受到不可承受的影响,让优先级高的任务不受干扰。在线的特点是:峰值压力时间不长,对延时比较敏感,业务的压力抖动比较厉害,典型的如早上 10 点的聚划算活动,就会在非常短的时间内,造成交易集群的压力瞬间上升 10 几倍,对于稳定的要求非常高,在混部的时候,必须要保证在线的通畅,需要有极强的抗干扰能力。而计算任务的特点是:平时的压力比较高,相对来说计算量可控,并且延迟不敏感,失败后也可以重跑。至少需要几分钟跑完的计算任务,相对于几秒甚至几十秒的延迟,并不会产生严重的问题,正好可以承提起水和沙子的角色。u003Cu002Fpu003Eu003Cpu003E2.资源占用互补性:两种任务在不同的时间点对水位的占用不一样。如在线服务是,平时比较低,大促时比较高;凌晨比较低,白天比较高。而计算任务则反过来,平时比较高,大促时可以降级;凌晨非常高,白天却要低一些。u003Cu002Fpu003Eu003Cpu003E这种方式带来的成本节省是非常巨大的:假设数据中心有 N 台服务器,利用率从R1 提高到 R2,不考虑其他实际制约因素的情况下,节约 X 台,那么理想的公式是:u003Cu002Fpu003Eu003Cpu003EN*R1 = (N-X)*R2u003Cu002Fpu003Eu003Cpu003E=> X*R2 = N*R2 – N*R1u003Cu002Fpu003Eu003Cpu003E=> X = N*(R2-R1)u002FR2u003Cu002Fpu003Eu003Cpu003E也就是说如果企业有 10 万台服务器,利用率从 28% 提升到 40%,代入上述公式,就能节省出 3 万台机器。假设一台机器的成本为 2 万元,那么节约成本就有6 个亿。u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002F616b0004f2014f1a63bd” img_width=”640″ img_height=”546″ alt=”揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E2015 年,Google 发表了 Borg 论文,其中就提到了在线服务与计算任务之间的混合运行,也就是我们说的混部技术。Borg 论文中描述了 Google 由于采用了这项技术,为 Google 节省了 20%-30% 的机器规模。u003Cu002Fpu003Eu003Cpu003E混部技术的历程u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002F616f00004d31cf369ea0″ img_width=”640″ img_height=”464″ alt=”揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E大家都知道这今年阿里巴巴双十一的交易峰值是每秒 32.5 万比,相比去年几乎增加了 1 倍,但是这样的高峰却只有 1 小时左右。为了让交易的成本降低,从 2014年开始,我们一方面通过阿里云的公有弹性云资源降低成本,另一方面也开始研究混部相关的技术。u003Cu002Fpu003Eu003Cpu003E混部能产生这么大的帮助,可是业界能使用在生产的没有几家公司,其原因也非常简单,第一个是规模,第二个是技术门槛。当你机器规模不够大的时候,显然意义不大。而在技术上,计算型任务通常都可以把利用率跑到很高,如果计算型任务和在线型业务运行在同一台机器上,怎么避免计算型任务的运行不会对在线型业务的响应时间等关键指标不产生太大的影响呢,这个需要在技术上有全方位的突破,而阿里巴巴从无到有,花了 4 年多的时间才让这项技术在电商域得以大规模落地。u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002F616b0004f27236bffce6″ img_width=”640″ img_height=”314″ alt=”揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E2014 年,我们最主要的工作是进行技术论证,方案设计,以及相关的一些实验性研究u003Cu002Fpu003Eu003Cpu003E2015 年,我们开始了日常测试环境的测试工作。这一期间让我们总结了相当多的问题:如调度融合问题、资源争抢隔离问题、存储依赖问题、内存不足问题等等u003Cu002Fpu003Eu003Cpu003E2016 年,当我们把大部分问题都解决掉时,我们开启了线上 200 台左右的小规模验证。由于电商的金融属性,对于抗干扰要求特别高,在不断的业务考验下,我们不停地修正着技术方案u003Cu002Fpu003Eu003Cpu003E2017 年,经过一年的磨合,混部的整体技术终于走向了成熟和大规模生产。阿巴巴双十一当中,约有 1u002F5 的流量是跑在混部集群之上u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002F616f00004deeb90a812c” img_width=”640″ img_height=”250″ alt=”揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E在日常情况下,我们可以把在线服务的集群的 CPU 利用率从非混部的 10%提升到混部的 40% 以上,整体的成本节省在 30% 以上。而在线受到的干扰在 5%以内。u003Cu002Fpu003Eu003Cpu003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002F6170000022ad832f4755″ img_width=”640″ img_height=”277″ alt=”揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)” inline=”0″u003Eu003Cu002Fpu003Eu003Cpu003E明天给大家带来 混部调度的架构u003Cu002Fpu003Eu003Cpu003E今天就到这里了,一直在坚持给大家更新文章,如果对你有所帮助,可以多多转发和关注,初学者有什么不懂的或者是需要今天资料的可以私信我,可关注我的头条号,欢迎留言评论和私信。【私信】文章上方处点击“作者头像”,进入作者首页,在作者主页上方点击“关注”旁边的“发私信”即可。私信内容:前端u003Cu002Fpu003Eu003Cu002Fdivu003E”

原文始发于:揭秘!阿里数据中心大幅降低成本的核心技术:混部技术(上)

主题测试文章,只做测试使用。发布者:℅傍ㄖ免沦陷dε鬼,转转请注明出处:http://www.cxybcw.com/11302.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code