【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

节省数千 GPU 卡资源,快手如何进行 FinOps 落地

  • 2023-08-30
    北京
  • 本文字数:3075 字

    阅读完需:约 10 分钟

节省数千 GPU 卡资源,快手如何进行FinOps落地

早期,企业在云服务上进行了大量投入,但并非所有资金都得到了有效利用。企业不仅没有享受到云带来的成本红利,反而要面对更高的云账单。在控制云成本需求的促进下,FinOps 理念在国内快速发展,不少企业已经开始落地探索,其中就包括快手。

 

随着业务的快速发展,如何高效利用海量计算资源是摆在容器云编排调度引擎团队面前的重要问题。经过近期探索,该团队已经取得了初步进展:GPU 日均利用率提升 6~8 个百分点,为公司节省数千 GPU 卡资源。快手容器云编排调度引擎团队负责人张伟向 InfoQ 介绍了落地过程的具体实现。

内部实践

InfoQ:快手为什么要引入 FinOps 理念?内部成本问题体现在哪些方面?

 

张伟:快手整体的计算规模已达到数千万核,海量的计算资源要实现精细化的运营和高效的使用,已成为容器平台建设的重中之重。而 FinOps 理念从云成本管理角度,让技术团队更好的理解财务逻辑,感知技术成本,为公司级的降本增效提供了系统化的方法论,与我们的目标高度一致。快手希望能在 FinOps 的理论引导下,更有效的联合财务、平台技术研发和业务团队多方更快的实现提质增效的综合目标。


当前,我们在内部已建立了相对完善的容器资源 SKU 定价、货币化的预算与结算能力。目前内部成本问题仍体现在以下几方面:

 

  • 资源需求持续快速增长,尤其是流量峰值期间资源需求高,而资源日均利用效率仍存在提升空间;

  • 各类计算资源异构,且业务需求(如套餐)也呈多样化,使得资源管理的复杂度较高;

  • 针对已逐步落地的优化效果,如何长效巩固各类降本提效措施,杜绝运动式治理的阶段性生效。

 

InfoQ:快手在 FinOps 实践方面都经过了哪些阶段?每个阶段主要做了哪些事情?


张伟:早期平台启步阶段中,主要由业务提交资源预算,由平台完成交付和保障,资源多采用独占方式使用。


此后进入降本增效的发力时期,我们建立完善的资源抽象模型,如在线 CPU+内存,混部 CPU+混部内存等不同 SKU,通过单独的定价和定制化的计费机制,实现货币化拆分。为达到成本优化的共同目标,业务方重点关注使用量优化减少浪费,而平台及基础设施层则通过迭代硬件、降低损耗、提升任务密度等手段来优化降低 SKU 单价。

 

当前阶段进入深化优化方案时期,建立了明确的预算内、预算外优化目标,通过拆解到多团队,借助流程规模、以及各类平台级技术手段持续提交,实现资源利用率不断逼近理论目标。

InfoQ:实践中如何对各部门进行绩效考核?


张伟:我们在内部建立了资源定价、预算、结算及各指标的观测跟踪等运营机制,落地实践中,针对各业务部门主要是通过资源用量、配额以及容器资源的实际使用率如峰均及日均数据来进行考核。而对于平台则重点会通过收支数据、资源日均等指标进行考核。

InfoQ:成本可视化方面,快手具体做了哪些工作?面向 FinOps 的利用率监控和传统的运维监控有什么区别?


张伟:快手内部针对成本建立了较为完善的度量和跟踪能力,会按月生成各业务线及各类平台的的收支帐单。同时针对资源在容器、宿主机多个维度跟踪了峰均、日均、时均及闲置、低利用率数据。

 

相比传统的利用率监控,我们关注的更多维度,首先是容器维度,代表业务层对已分配资源的使用效率,如业务容器内的峰均和日均使用率是核心项,它们衡量了业务实际利用水平。与此同时,宿主机维度的峰均和日均分布受配额执行率和平台资源超发能力的影响。此外,容器及主机维度的空闲率和低利用率也会是我们的关注和考核项。

InfoQ:成本优化方面,快手是从哪些方面着手的?具体是怎么做的?


张伟:快手内部的优化从预算内和预算外同时着手并行推进。引导业务及平台层推进各项治理活动。

 

对于业务侧,重点是从业务的结算成本维度进行顶层驱动,引导业务合理规划容量,压缩非必须的资源配额和用量。而对于各类平台,则通过整体的资源利用率等核心指标建立详细的规划,让平台自己围绕指标展开实施各类成优化的技术方案,包括如平台损耗、资源超发、在离线混部类措施。

 

而各类优化项均会在资源的定价或使用量上有所体现,并最终反馈到业务的结算成本上,我们会从对定价还是配额用量的影响来量化各自的贡献。

InfoQ:众多的云基础设施中,哪部分成本占比最多?针对这部分设施做了哪些优化工作?


张伟:我们所重点参与的主要还是快手内部的计算领域,相应部分 CPU 和 GPU 相应的成本整体最高。主要的优化工作还是围绕在业务高峰期以尽可能少的资源满足业务峰值场景下的资源需求,同时通过系列能力来削峰填谷,实现日均维度的利用率提升。

 

针对 CPU 资源,我们多角度出发分别落地了大量措施。在线场景下,我们建设了服务画像能力,基于实际利用率数据建立平台级的套餐推荐和动态超卖等能力,压缩业务侧使用浪费的情况。同时通过 CPU 在离线混部机制,基于存量进行资源的超发混部,实现二次售卖。

 

而对于 GPU 场景,则重点建设了 GPU 虚拟化分配能力,打破整卡分配限制,同样规模化应用了 GPU 的在离线混部,而支持近离线任务,从而实现整体成本的降低。此外针对低利用率场景的运营治理活动及限制也是重要的补充手段。

InfoQ:快手如何在 FinOps 商业产品和开源产品选择的?使用云厂商产品会不会产生“锁定”问题?


张伟:快手的 FinOps 相应的机制,目前还是以开源基础上进行自研定制为主。目前对于云厂商的产品使用,会综合成本和性能选择多个云厂商,目前并不局限在单一云厂商上。

经验分享

InfoQ:目前的 FinOps 落地处于哪个阶段?为什么? 阻碍落地的因素有哪些?企业又该如何解决?


张伟:在 FinOps 落地过程中,可以理解主要有成本分析量化、执行成本优化和持续运营治理三个主要阶段。快手目前还第二、三阶段之间,已经通过包括套餐标准化及推荐、调度机制优化、在离线混部、GPU 虚拟化等系列平台级能力取得了一定的优化成果,将 CPU 及 GPU 日均利用率提升到了业界前列的水平,但基于总体量出发,仍有进一步收益空间。

 

我们现在主要重心投入的是包括在离线计算资源的统一调度和自由流转的相应能力。这个过程包括混合部署的业务稳定性提升、资源的精细化运营都是挑战。我们当前重点从长期主义出发,在资源抽象、调度框架上完成一致化的建设,再逐步由财务成本驱动实现最终的目标。 

InfoQ: 您认为,企业确保 FinOps 实践成功的关键是什么?有哪些经验可以分享?

 

张伟:要实现 FinOps 实践落地,首先需要建立一个合理的量化模型,并尽可能大的范围内取得相应的共识,尤其是让大家都有效的感知成本及目标。其次,持续优化迭代跟踪会是落地的重要保证。快手在执行 FinOps 实践时,首先从组织上,自上而下推动了各平台拉齐成本优化的目标设定。此外,在落地过程中,定期进行复盘对齐,保证整体收益和机制会成为长期有效的沉淀也会是关键所在。

 

在快手内的经验,我们会持续完善过程中的指标,如利用率维度,主机、逻辑核、基准核等各类维度的数据都会被关注。落地过程中,组织从上到下达成共识,会对预设的年度目标拆解到各个月,并在每月月末进行定期复盘和同步相应核心指标数据,从而来保障组织上的切实落地。

InfoQ:当下技术热点转变很快(如大模型落地),FinOps 降本增效实践还在持续进行中吗?您认为,FinOps 未来的发展会是怎样的?


张伟:快手降本增效实践仍在持续进行中,当前已迈入深水区,未来要实现收益还需要更为精细化的能力机制。考虑当前的整体算力体量,收益仍然是巨大的,我们从利用率等多维度设定了未来几年的建设目标,会持续迭代各类通用化的降本增效动作。

 

对于快手在 GPU 资源效率持续提升上的系统性建设,张伟将在 9 月 3 日-5 日的 Qcon 全球软件开发大会上,带来《云原生时代下大规模 GPU 资源利用率优化最佳实践》的主题演讲,对此进行详细介绍,大家可以从中获取 AI 在线服务和离线训练分时复用算力资源的一些新思路。

2023-08-30 15:207585

评论

发布
暂无评论
发现更多内容

牛客java选择题每日打卡Day4

京与旧铺

6月月更

C#/VB.NET 使用插件将HTML转为PDF

在下毛毛雨

C# html .net PDF

2022年中国音频市场年度综合分析

易观分析

音频市场

巧用redis实现点赞功能,它不比mysql香吗?

阿Q说代码

MySQL 数据库 redis 点赞

Pisa-Proxy 之 SQL 解析实践

SphereEx

数据库 SQL语句 SphereEx

直播app运营模式有哪几种,我们该选择什么样的模式?

开源直播系统源码

软件开发 直播源码 带货直播

Substrate 源码追新导读 4月第2周技术更新: 以太坊地址转换, BEEFY协议等

彭亚伦

rust Substrate 波卡生态

Bit.Store:熊市漫漫,稳定Staking产品或成主旋律

EOSdreamer111

国内首家!EMQ加入亚马逊云科技“初创加速-全球合作伙伴网络计划”

EMQ映云科技

物联网 IoT emq 亚马逊 6月月更

PostgreSQL 15新版本特性解读(含直播问答、PPT资料汇总)

墨天轮

数据库 postgresql

易周金融 | Q1手机银行活跃用户规模6.5亿;理财子公司布局新兴领域

易观分析

金融 手机银行

DevOps 如何帮助前端提升研发效率?

SoFlu软件机器人

NFT双币质押流动性挖矿dapp合约定制

开发微hkkf5566

关于接口测试自动化的总结与思考

阿里巴巴云原生

阿里云 接口 性能压测 PTS 阿里云云原生

实力总结四类Bean注入Spring的方式

阿Q说代码

Java 注解 spring源码 bean注入

好用到爆!GitHub 星标 32.5k+的命令行软件管理神器,功能真心强大!

沉默王二

Java macos GitHub

鸿蒙发力!HDD杭州站·线下沙龙邀您共建生态

最新动态

等保2.0密码要求是什么?法律依据有哪些?

行云管家

网络安全 等保 等保2.0

等保三级密码复杂度是多少?多久更换一次?

行云管家

堡垒机 等级保护 过等保 等保2.0

OpenSSF 安全计划:SBOM 将驱动软件供应链安全

SEAL安全

软件物料清单

TiDB 6.0:让 TSO 更高效丨TiDB Book Rush

PingCAP

TiDB

浅谈软件研发的复杂性与效能提升之道

思码逸研发效能

研发效能

熊市慢慢,Bit.Store提供稳定Staking产品助你穿越牛熊

股市老人

基于 Nebula Graph 构建百亿关系知识图谱实践

NebulaGraph

知识图谱 Nebula Graph

Vue3 - $attrs 的几种用法(1个或多个根元素、Options API 和 Composition API)

德育处主任

Vue composition-api 组件通信 6月月更 Vue透传

如何制作登录界面

海瞳Seapupil

一场分销裂变活动,不止是发发朋友圈这么简单!

CRMEB

字节跳动埋点数据流建设与治理实践

字节跳动数据平台

字节跳动 数据治理 数据流 埋点治理 数据研发

开源二三事|ShardingSphere 与 Database Mesh 之间不得不说的那些事

SphereEx

数据库 SphereEx Apache ShardingSphere Database Mesh Pisanix

阅读别人的代码,是一种怎样的体验

阿Q说代码

程序人生 阅读代码 阅读建议 阅读感受

海量数据!秒级分析!Flink+Doris构建实时数仓方案

领创集团Advance Intelligence Group

数据 Doris flink sql 平台

节省数千 GPU 卡资源,快手如何进行FinOps落地_云原生_褚杏娟_InfoQ精选文章