谷歌每年节省上亿美金,资源利用率高达60%,用的技术有多厉害!

本文介绍了在离线混部如何通过TKE实现资源利用率提升和成本优化,详细阐述了面临的技术挑战,如资源复用、调度保障、资源隔离和干扰检查。TKE通过资源预测、多调度器共享状态和内核增强等手段,确保在线和离线业务的高效混部,同时保持服务SLA。未来,混部将发展为无差别混部,结合弹性计算,进一步实现降本增效。
摘要由CSDN通过智能技术生成

作者

作者田奇,腾讯高级工程师,专注大规模在离线混部,分布式资源管理调度,熟悉Kubernetes,关注云原生大数据、AI。

导语

什么是在离线混部

随着微服务、大数据、人工智能的不断发展,为了满足业务需求,企业的 IT 环境通常运行两大类服务,一类是在线服务,一类是离线作业

在线服务:往往长时间运行,服务流量存在周期特性,整体资源使用率不高,但是对服务 SLA 却有着极高的要求,如网页搜索服务、电商交易服务等。

离线作业:往往是资源密集型服务,但其可以容忍较高的时延、失败任务重启,如大数据分析服务、机器学习训练服务等。

这两种类型的服务负载在分时复用、资源互补上存在极大的优化空间,使得它成为混部的首选场景,所谓在离线混部,指的就是将离线作业和在线服务部署到同一个节点,以此来提高资源利用率,减少企业对与日俱增的离线计算资源的成本开支

在离线混部价值

资源利用率提升

据 Gartner 统计,全球数据中心平均使用率不足15%,每年会有巨大的资源浪费。

造成资源效率低下的原因,主要是以下几点:

  1. 业务流量周期性,对于在线服务,为了保证其流量高峰期的业务 SLA,往往按照最高峰值评估资源。比如外卖业务,峰值期(吃饭时间)可能需要8 核 CPU,但是在低峰期(夜晚),可能就不消耗资源,导致大部分时间段资源利用率都很低,造成浪费。
  2. 集群资源碎片,所谓资源碎片,指的是服务器还有一定的静态资源没有被分配,但是由于此时各个维度的资源(如 CPU 和 ram )不均衡,导致没有办法再继续分配资源。由于当前主流的资源调度框架,都会采用静态资源分配算法来分配资源,最终都会造成资源碎片,从而无法有效利用资源。
  3. 在离线机房隔离,资源池划分粒度太粗,有些企业会将在线机房(主要部署在线服务如 Web)、离线机房(主要运行离线集群如 Hadoop)完全隔离开,在这么粗的粒度划分下,在线机房有大量资源闲置,也无法被离线服务利用,反之亦然,离线机房空闲的时候,在线业务也无法充分利用,无法实现不同 IDC 之间资源池的互通。

通过在离线混部,可以充分利用节点的空闲资源,从而提高资源利用率。

成本优化

在离线混部当前在各大中型互联网公司等都有落地,通过混部提升资源利用率,可以获得可观的成本节省,获得规模效应下的巨大经济价值

下面可以做一个简单的计算分析,我们提升20%的资源利用率,可以大致节省的预算:

假设我们当前所有的机器有10w 核 CPU,平均每台机器的资源使用率是20%, 那么 0.2 * 10w = 2w 核,在业务规模不变的情况下,假设资源平均使用率提高到40%,我们只需要5w 核就可以满足业务需求,假设 CPU 的平均价格是 300元/核/年,就可以节省 5w * 300= 1500w 元/年。

对于有成本控制诉求的企业,在离线混部是降本增效的首选,比如谷歌已经将所有业务混合部署在 Borg(Kubernetes 的前身)系统中,其资源利用率可以达到60%,每年可以节省上亿美金

挑战

调度保障

资源复用

传统模式的 Kubernetes 按照业务申请的 request 资源量进行静态调度,如果在线和离线业务都按照 request 进行调度,离线业务先调度,占满了节点的 request 资源,那么在线业务就无法调度了,同理,如果在线业务先调度并占满了节点 request 资源,离线业务就没法调度了,传统模式的调度器将没有办法进行在线业务的资源复用。

传统的资源复用方式,往往会采取分时复用,就是在固定的时间点跑离线业务,比如凌晨以后,就开始调度运行离线业务,在白天开始调度在线业务。这种模式下的资源复用,往往时间粒度过粗,虽然可以在一小段时间内复用在线资源,但是有比较严格的时间限制。

另一种是资源预留,将一个机器的资源整体划分为在线资源、离线资源以及在离线共享资源,该方式采用了静态划分的方法,将整机资源进行了划分,无法进行弹性复用,而是只能将在线业务和离线业务的资源进行提前预留。虽然通过部署离线业务能够一定程度的提高资源利用率,但是复用不够充分,并且需要资源规格大的机器才能将资源进行静态划分。

因此,要想高效的、自动化的进行细粒度的资源分时复用,就必须拥有及时准确的资源预测手段、快速响应资源变化的能力,以及一套可以在资源水位变化的时候进行的服务保障措施。

调度增强

由于在线业务和离线业务在工作模式上的差异,社区往往采用不同的调度器进行调度。

混部场景下,在线调度器和离线调度器同时部署在集群中,当资

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值