字节跳动开源Katalyst:在离线混部调度,成本优化升级

Katalyst是字节跳动对多年大规模业务云原生化场景中资源管理能力的抽象和总结,我们期望通过Katalyst的开源直接或间接的帮助用户做好资源管理,实现降本增效。

当下互联网应用以天为单位,在线业务的资源使用情况往往会随着访问数量的波动而变化,具备明显的潮汐特性。为了确保业务稳定性,业务方往往会参考高峰时段的资源使用情况来申请资源,但这部分资源在低峰时段容易被闲置。

如果可以把这些闲置资源暂时出让给优先级低的服务,当在线业务需要使用的时候及时将资源归还,形成在离线服务混部,就可以达到削峰填谷,节约成本的效果。

字节跳动云原生混部实践

字节跳动业务规模庞大、业务类型多元,其中涵盖了包括微服务、推广搜服务、机器学习与大数据、存储在内的多种业务类型。通常来说,不同业务类型对底层基础设施会有不同的资源管理诉求,传统的管理模式是基于业务线或者服务类型切分资源池,实现定制化需求。

但切分资源池的做法容易形成资源孤岛,无法实现资源层面的灵活拆借,不利于全局资源利用效率的提升和业务成本的优化,加重集群运维的负担。

此外,由于不同类型业务的SLO要求、资源潮汐特性存在互补,基础设施团队期望充分利用这些特性,通过调度和管控等手段去优化资源效率,实现资源池的融合统一,帮助业务团队获得更低的资源成本和更强的弹性能力。

为实现资源统一托管,字节跳动从2016年就开始基于Kubernetes构建统一的基础设施。

到现阶段,字节内部已经基本完成全量微服务、推广搜服务以及大部分机器学习与大数据业务的云原生化改造。在此过程中,基础架构团队持续探索统一资源池下的资源优化手段,并逐渐形成了“弹性伸缩”和“常态混部”互相配合的资源池混部方案。

弹性伸缩:实现机器级别、Numa级别的资源分时复用,结合业务指标和系统指标,共同指导业务实例的横向和纵向扩缩容策略,最终使得离线类服务以更加低廉的价格购买更多闲时资源,在线类服务以更加高昂的价格购买更多峰时资源,通过资源市场化运营的方式实现综合效率的提升。

混合部署:提供资源超卖的能力,充分利用集群中“已经售卖但未充分使用的资源”部署更多低优业务,同时在系统侧完善CPU、内存、磁盘、网络等多维度的资源隔离机制,并且智能预测、感知各类服务的负载变化,结合服务的分级机制,通过分钟级的指标感知和调控策略,保证服务的稳定性。

该方案在链路上基于Kubernetes和Yarn两套体系实现联合管控,在单机上同时运行Kubernetes和Yarn的管控组件,配合中心协调组件对两套系统可见的资源量进行分配。在联合管控系统之上,团队基于服务资源画像实现实时的资源预估,在保证各类服务SLA要求的前提下,实现更加灵活和动态的资源分配。

在该资源池混部方案落地实践的过程中,基础设施团队完成了资源并池可行性的验证,完成了混部基础能力的构建,并且在部分核心业务集群实现了整机天级利用率从23%到60%的提升。

Katalyst:从内部验证到开源

在经历内部抖音、今日头条等大规模潮汐流量业务验证后,字节跳动的云原生混部实践已日臻完善。

为了帮助更多人了解大规模资源混部实践的工作原理,方便更多开发者用户体验这种开箱即用、一键式部署的资源管控能力,研发团队决定回馈社区,采用KubernetesNative的方式重构并增强了资源管控系统的实现,提炼出资源管控系统Katalyst并正式开源。

Katalyst引申自单词catalyst(音[ktlst]),本意为催化剂。首字母修改为K,寓意该系统能够为所有运行在Kubernetes体系中的负载提供更加强劲的自动化资源管理能力。

什么是Katalyst

Katalyst脱胎于字节跳动混部技术实践,同时也从资源、管控、调度等多个维度对资源管控能力进行了扩展和补充。它的主要特点包括:

完全孵化于超大规模混部实践,并在字节服务云原生化的进程中同步接管资源管控链路,真正实现内外技术体系的复用

搭载字节跳动内部的Kubernetes发行版EnhancedKubernetes同步开源,兼容性好,体验更多字节自研的核心功能

系统基于插件化模式构建,用户可以在KatalystFramework之上自定制各类调度、管控、策略、数据等模块插件

提供一键式部署模版和详尽运维手册,降低外部用户的理解和接入使用成本

Katalyst如何实现资源抽象

在资源层,Kubernetes原生QoS分级无法满足大规模生产环境的要求,Katalyst在此基础上进行了进一步的抽象。

Katalyst以CPU为主维度,为应用提供了system_core系统核、dedicated_core独占核、shared_core共享核、reclaimed_core回收核等多种不同等级,同时每种等级又辅助以多种enhancement机制(例如是否需要numanode绑定,是否需要网卡亲和或者带宽限制等),实现差异化的资源分配和管控策略。

Katalyst的架构设计

早期的混部架构存在几方面的问题:Kubernetes和Yarn两套系统的联合管控虽然实现了在离线业务的常态混部,但是复杂的系统也使得维护成本变高。

另外这种架构也带来了额外的资源损耗,这些损耗一方面来自于联合管控模式下单机Agent组件资源占用,尤其在超大规模的集群中,这部分资源非常可观。此外,由于两套管控导致系统复杂度变高,系统交互过程中会产生多级资源漏斗,任何环节的异常都会导致资源丢失。

在Katalyst中,我们对整体的混部架构做了优化重构:

在管控层,我们将字节早期基于Kubernetes和Yarn两套体系的融合系统整合成一套基于Kubernetes的系统。

具体来说,我们在接入层同时保留了Kubernetes以及Yarn各自的API入口,底层系统的元数据管理和资源管控实现则统一收敛到基于Kubernetes的管控系统Katalyst上。

在调度层,Katalyst在统一元数据的基础上实现了“中心”和“单机”互相协调的资源调度机制。

在单机调度侧:Katalyst搭载EnhancedKubernetes里的扩展模块QoSResourceManager(QRM)能够实现可插件化的微拓扑亲和性分配,并通过自定CRD将微拓扑上报到中心打通调度流程;在服务运行过程中,Katalyst会持续观察Pod运行时系统指标,集合业务QoS要求和业务指标反馈进行预估,决策出Pod在各个资源维度上的分配量,通过QRMreconcile机制实时下发到CRI。上述过程中的资源预估模型和QRM实现,都可以通过插件化的方式定制,使得资源调控的策略更加匹配不同业务场景的诉求。

在中心调度侧:Katalyst基于原生SchedulerFramework扩展了更加丰富的调度能力,在调度过程中同时考虑不同QoS业务在同一个集群中运行时资源层应该如何分配及协作,配合单机调度实现更加细粒度的调度语义要求;同时,中心调度还会结合业务容器运行时的实时数据和服务画像,在全集群范围内实现动态的Rebalance策略,降低集群空置率,提升业务稳定性。

通过收敛资源管控,Katalyst有效减少了系统运行中的资源损耗。此外,在联合管控体系下,Katalyst将旁路异步管控的实现切换成基于标准CRI接口的同步管控实现,避免因为各种异步引发的race或者冲突,从而引发服务性能抖动。

RoadMap

Katalyst作为一个资源管理系统,在离线混部是其核心应用场景之一。除了抽象上述核心概念之外,我们还为Katalyst提供和规划了丰富的QoS能力:

精细化的资源出让策略:Katalyst支持基于静态启发式、无监督算法、QoSAware的多种资源预估策略,更准确的计算和预测节点可出让资源量,进一步提高资源利用率。

多维度的资源隔离能力:基于cgroup,rdt,iocost,tc等能力,实现不同混部场景中对cpu,内存,磁盘,网络等多种资源的有效隔离,保障在线业务的QoS不受影响。

多层级的负载驱逐策略:支持基于多种指标,多层级的驱逐策略,在保障在线业务QoS的同时也尽可能提高离线业务的QoS。

除了混部场景,Katalyst也提供一些增强的资源管理能力:

资源弹性管理:提供灵活可扩展的HPA/VPA资源弹性策略,帮助用户提高部署率和资源利用率。

微拓扑感知调度:感知节点上CPU,内存,异构设备的微拓扑,基于更细粒度的微拓扑信息完成资源分配,满足高性能业务的QoS要求。

虽然混部技术在字节内部已经经历了几次的技术迭代,但是一个通用、标准化的平台底座必然要经过各种场景的打磨,我们非常期待更多朋友加入到Katalyst开源社区中!

THE END
1.如何通过AI优化现有的机器视觉网络如何通过AI优化现有的机器视觉网络 引言 机器视觉网是一种集成了计算机视觉技术、物联网和人工智能的网络系统,能够实时捕捉并分析周围环境中的图像信息。随着技术的不断进步,这种系统在安全监控、工业自动化、医疗诊断等多个领域得到了广泛应用。 现有机器视觉网络的问题https://www.vjvqxysd.cn/ce-ping/524920.html
2.资源优化瘦身:全面升级网站性能攻略资源瘦身计划是提升网站性能的关键策略之一,通过精简代码和资源、优化网页加载速度、使用缓存技术、优化数据库性能以及持续监控和调优,可以全面提升网站性能,打造高效、稳定的在线平台。在实施资源瘦身计划时,需要综合考虑网站实际情况和需求,制定合适的优化方案,并持续关注和改进,确保网站性能不断优化和提升。https://www.0515zz.com/html/jianzhan/2024-12-17/303738.html
3.性能调优的未来:创新技术和趋势(性能调优的未来趋势)自动化是性能调优的另一个重要趋势。自动化工具可以帮助开发人员自动执行性能调优任务,例如性能测试和优化。随着自动化技术的不断发展,它们将变得更加强大和易于使用,使性能调优更加高效。 结论 性能调优领域正在不断创新,以满足不断增长的需求。机器学习和人工智能、容器化、微服务、无服务器计算、云监控和分析以及自动https://www.ulidc.com/2024/12/16/%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98%E7%9A%84%E6%9C%AA%E6%9D%A5%EF%BC%9A%E5%88%9B%E6%96%B0%E6%8A%80%E6%9C%AF%E5%92%8C%E8%B6%8B%E5%8A%BF-%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98%E7%9A%84%E6%9C%AA%E6%9D%A5/
4.拿捏!高效掌握离线数据,让数据资产快速释放价值赛博威数据上传平台,作为专业的离线数据上传工具,操作简便,功能强大,支持海量离线数据的高效上传、高效管理与高效验证。助力企业突破离线数据管理瓶颈,全面提升数据上传效率与管理能力。 ■高效数据上传:支持批量上传与自动化处理,显著提升操作效率,同时大幅降低时间和人力成本。 https://www.51cto.com/article/804444.html
5.边缘计算节点:引领网络优化的技术新篇章基于智能驱动的车载边缘计算网络架构,本文设计了任务卸载和服务缓存的联合优化机制。该机制对用户任务卸载以及计算和缓存资源的调度进行了建模,旨在实现最优的卸载决策和资源管理方案。 3.异步分布式强化学习算法在车载边缘计算中的应用 鉴于车载网络的动态、随机和时变特性,本文采用异步分布式强化学习算法进行最优卸载决策和https://www.1asp.com.cn/html/yunjisuan/2024-12-21/374692.html
6.在线方法总是优于离线方法?离线优化和在线优化在AI 对齐问题上,在线方法似乎总是优于离线方法,但为什么会这样呢?近日,Google DeepMind 一篇论文试图通过基于假设验证的实证研究给出解答。 根据人类反馈的强化学习(RLHF)随着大型语言模型(LLM)发展而日渐成为一种用于 AI 对齐的常用框架。不过近段时间,直接偏好优化(DPO)等离线方法异军突起 —— 无需主动式的在线https://blog.csdn.net/python1234_/article/details/139054370
7.AI系统离线图优化技术腾讯云开发者社区【AI系统】离线图优化技术 上一篇文章主要回顾了计算图优化的各个组成部分,包括基础优化、扩展优化以及布局和内存优化。这些优化方式在预优化阶段、优化阶段和后优化阶段都有所应用,以提高计算效率。同时,还介绍了 AI 框架和推理引擎在图优化方面的不同应用和侧重点。接下来,我们从计算图优化的各个组成部分开始逐步进行https://cloud.tencent.com/developer/article/2474262
8.基于功率电解槽功率参考值由自适应控制器确定,温度参考值可根据最大效率曲面获得。考虑到电解系统效率模型计算相对复杂,在线实时优化难以在有效时间内完成,因此将功率自适应分配策略分为离线优化和在线控制两个部分:离线优化实现功率-温度参考值生成;在线控制实现基于功率-温度参考值的自适应调节控制。以下进行详细论述。https://dgjsxb.ces-transaction.com/fileup/HTML/2024-7-2236.htm
9.mPaasH5离线包优化指南在移动互联网时代的今天,市场上绝大多数终端App都在使用H5展示页面,且随着终端技术迭代更新和市场多变性,H5页面在App中的占比越来越重要。同时也暴露出一个所有App的共性问题,即性能优化。同样的H5页面的性能优化也是重点问题。在mPaaS团队中虽然已将H5页面资源等打包做https://developer.aliyun.com/article/848599
10.蚂蚁金服核心技术:百亿特征实时推荐算法揭秘阿里妹导读:本文来自蚂蚁金服人工智能部认知计算组的基础算法团队,文章提出一整套创新算法与架构,通过对TensorFlow底层的弹性改造,解决了在线学习的弹性特征伸缩和稳定性问题,并以GroupLasso和特征在线频次过滤等自研算法优化了模型稀疏性,在支付宝核心推荐业务获得了uvctr的显著提升,并较大地提升了链路效率。 https://maimai.cn/article/detail?fid=1010621115&efid=mIQCHnkj0zjxlpygUmo5mg
11.携程AI推理性能的自动化优化实践因此我们建立了自动化优化流程,将所支持的优化技术涵盖在内,结合模型训练平台,数据标注平台,从模型设计,模型训练到模型推理优化,模型部署全链路,实现零介入无感知的优化效果,大大提升工作效率以及整体优化效果的稳定性。 图2所示为数据平台,模型训练平台,模型优化和部署的大概流程。具体有哪些优化手段,如何进行自动化实现https://zhuanlan.zhihu.com/p/411106909
12.SimsciRomeo4.3.1(化工流程在线优化软件):haocaxROMeo 是目前唯一同时支持在线优化与离线分析,在线与离线共用同一个模型和同一个人机界面的商品化过程优化软件。 ROMeo 具有友好易用的人机界面,并提供与各种第三方组件(如炼油、乙烯反应器模型,以及用户自定义模型)的接口,为您的各类过程优化工作提供强有力的支持。 http://blog.chinaunix.net/uid-22805134-id-1769077.html
13.麒麟软件在离线混部优化方案,为企业数据中心降本增效为了解决大规模集群中资源利用率低效问题,屏蔽在离线混合部署之间天然的性能干扰,麒麟软件推出在离线混部优化方案,在K8S场景下,根据内核提供的接口,在rubik解决方案的基础上引入多项自研优化,提供了完整的QoS(服务质量等级)控制机制来实现在线服务保障,在提升资源利用率的同时降低性能折损!https://www.kylinos.cn/about/news/1838.html
14.4)针对固定周期模式下的,基于Q学习理论对多个路口进行相位差优化a4) 针对固定周期模式下的,基于Q学习理论对多个路口进行相位差优化研究,建立了延误最小为优化目标的离线Q学习模型。以集成VISSIM-Excel VBA-Matlab的仿真平台为技术平台,采用VBA及Matlab编程实现算例,然后将最优解在线应用到VISSIM实时交通控制中,并与MAXBAND方法进行对比。 4) In view of the fixed cyclical patternhttp://riyu.zaixian-fanyi.com/fan_yi_8290601
15.华航智造PQArt在线教程PQArt2020离线编程仿真软件的本次更新,主要是在原PQArt2019版本基础上,结合年初制定的软件长远发展规划,外加这段时间一线销售、技术、经销商、用户、网络等渠道的反馈基础上,做出的一次阶段性改进。详细改动请看下面详述: 1.机器人: 1.1.【增加】机器人在线库继续扩充新的品牌 https://www.pq1959.com/s/3ul
16.百亿级图数据在快手安全情报的应用与挑战本文讲述了快手如何搭建安全情报服务架构与优化情报系统。https://www.secrss.com/articles/31209
17.特征平台的探索–UU跑腿技术团队算法模型离线训练得到的 SQL 脚本,一键部署上线,具有统一的底层计算函数,使『线上线下一致性』得到天然保障。 毫秒级超低延迟的实时 SQL 引擎 线上实时 SQL 引擎基于完全自研的高性能时序数据库,对于实时特征计算可以达到毫秒级别的延迟 面向特征计算的优化的离线计算引擎 https://tech.uupt.com/?page_id=876
18.综合能源仿真优化平台将优化设计或者能源诊断过程中生成的数字孪生模型,在SimuWorks上仿真运行,可以用于实现系统的优化运行。根据仿真系统是否与实际系统在线连接,可以分为离线优化运行和在线优化运行两种方式。 1.离线优化运行 将第二天的负荷预测数据输入仿真系统,根据优化目标(如效率最高、碳排放最低或者二次能源利用率最高等等),通过数字http://www.simuworks.com/product/102.html
19.免费网站排名优化在线64xl.com最专业的下拉平台搜索词下拉在很多场景下,搜索对于流量的转化率要高于推荐,对业务增长的影响也远高于推荐。但是关于搜索的文章却很少,本文作者介绍了电商APP的智能搜索引擎,讲解了AI时代如何进行搜索,一起来学习吧。 现在市面上讲推荐的人太多了,关于推荐的书也很多。 很少有人聊搜索,但在很多场景下,搜索转化的流量远比推荐大,搜索转https://m.bjhwtx.com/h-nd-200607.html
20.1月14日正式服版本更新公告本次更新前,为了防止召唤师们在线游戏对战时遭遇停机维护而产生不必要的损失,我们将在版本更新时提前半小时关闭PVP和人机对战入口!请各位召唤师相互转告哦! 地图场景提示优化 1分钟时主宰/暴君出生点会出现场景特效预告下一次龙的进化方向 特效的元素均取自主宰暴君进化部位时的部位元素 https://pvp.qq.com/web201706/newsdetail.shtml?tid=498320
21.版本更新君联找帮优化离线 适配android10 修复BUG 找帮更新V 7.3.0906.29正式版[2019-09-06] 1.优化同屏 2.优化实况 3.优化定位相关 4.优化无响应 5.提高在线率 找帮更新V 7.2.0809.25正式版[2019-08-13] 优化离线问题 优化实况视频清晰度 优化实况卡顿问题 增加离线行为记录 http://www.unking.cn/gengxin.jsp
22.优化web嘲下的加载性能问题性能嘲优化案例性能应用内组件冗余刷新优化指导 组件封装开发实践 横竖屏切换开发实践 自定义弹窗开发实践 智慧多窗开发实践 软键盘布局适配解决方案 媒体开发 生态应用相机实现系统级相机体验 相机分段式拍照性能优化实践 音频播放类应用交互场景实践 视频播放开发实践 在线视频播放卡顿优化实践https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-web-develop-optimization-V5
23.RTO技术:流程工业的AI计划优化一般基于线性规划技术建模,计划优化是从全局、从整体考虑全厂物料分配的优化、装置加工负荷的优化、产品产量和品种的优化。计划优化是离线优化。 RTO技术是装置操作优化的工具,用来计算装置运行效益最大化下的操作方案。RTO的模型是基于机理的非线性模型,求解器也是非线性优化求解器。RTO是在线优化。 http://www.zeeflow.com/html/article/3051.html
24.探索性能前沿,快手系统软件技术演进与资源效率优化服务器总成本是服务器总量和单价相乘,分两部分,一部分是通过提升资源利用率和性能优化来降低服务器用量,比如内核隔离与控干扰技术,GPU 虚拟化与混部技术来提升 CPU 与 GPU 利用率,通过微架构优化、内核优化、编译优化、基础库 / 框架优化、JVM 优化技术提升性能。另外一部分是通过引入新性价比更高的硬件来降低单价https://www.infoq.cn/article/3HZ0zOH4hCDdBtplTq8N
25.基于凸优化和LQR的火箭返回轨迹跟踪制导本文提出的轨迹跟踪方法充分利用分段凸优化方法能进行在线优化的优势以实现燃料最省,同时利用LQR具有良好轨迹跟踪性能的优势实现高精度的轨迹跟踪,且无需提供精确的基准推力控制输入,实际使用更加灵活。通过将火箭的运动分解为包含速度和位置相关的两部分,在此基础上利用分段凸优化方法实现火箭的速度跟踪,同时达到燃料最省https://www.fx361.com/page/2022/1130/16941770.shtml
26.AmazonSageMakerEndpointforbuiltTensorflow Serving(简称TFS)是一个很常用的模型推理开源框架,Amazon SageMaker 内建了TFS推理容器以支持TensorFlow SavedModel模型进行高效推理,Amazon SageMaker内建的TFS推理容器即可以做在线推理(比如通过SageMaker Inference Endpoint),也可以做离线推理(比如通过SageMaker Batch Transform)。本文只讨论内建的TFS的在线推理http://aws.amazon.com/cn/blogs/china/amazon-sagemaker-endpoint-for-built-in-tfs-model-inference-optimization/
27.化工生产公用工程总结9篇(全文)还可用于实现聚合物生产商供应链管理优化, 已在3家主要聚合物生产装置上应用。例如, 意大利Sanassazzo的ENI炼厂于2001年在催化裂化装置上安装了Aspen公司的在线优化系统, 每桶原料节约成本0.1美元。 该公司还和Valero公司 (美国瓦莱罗能源公司) 合作开发了一种适合于整个工厂的能量优化软件, 可以用来优化介质、氢、水https://www.99xueshu.com/w/filexgqp4ac5.html
28.115优化大师(油猴脚本)下载v6.7官方版115优化大师是一款用于优化115网盘使用体验的油猴脚本工具,它能够支持115网盘一键离线下载、批量离线、调用Dplayer或Potplayer播放视频、文件快捷下载、批量下载等多种功能。安装该脚本后115网盘即可支持任意文件一键快捷下载、批量下载、生成播放列表等。还有离线升级、播放优化、等多种其他功能。下文可见详细! https://www.32r.com/soft/89277.html