首页 > 其他分享 >爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术

爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术

时间:2022-12-26 12:37:17浏览次数:68  
标签:爱奇艺 离线 业务 混部 任务 Koordinator

在 ​​2022 云栖大会龙蜥峰会云原生专场​​上,来自爱奇艺的基础架构研究员赵慰分享了《基于龙蜥与 Koordinator 的在离线混部实践》技术演讲,以下为本次演讲内容: 

一、爱奇艺离线业务混部背景



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_爱奇艺

与众多互联网公司一样,爱奇艺常见的负载类型包括业务应用、数据库&中间件以及离线任务。其中业务应用包括有状态应用和无状态应用,无状态应用可以借助运维平台在业务团队和运维团队之间做比较清晰的职责划分,适合混部;而有状态应用较为复杂,混部时的运行质量难以保证。数据库和缓存目前并没有运行在混部集群中。离线任务中的非实时性任务,比如夜间转码、数据处理等只关注吞吐量而不关注时效的任务也是混部的对象。



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_离线_02



爱奇艺在混部上经历了长时间的探索。



2013 年,爱奇艺初次进行了计算存储混部。进入容器时代后,爱奇艺在 Mesos 上花费了大量精力,最早把在线任务内容生产、 Spark、Storm 等所有工作负载混部在一个集群里,没有进行任何特殊的隔离性处理。在 Docker 上经历了困境后,爱奇艺将业务按节点、集群进行了拆分;这又导致离线任务集群资源常年不够用,在线业务集群利用率非常低,尤其是夜间利用率甚至只有个位数。因此,爱奇艺考虑将夜间线任务的资源提供给离线任务。

2016 年,通过 Mesos Oversubscription 功能引入根据真实资源做额外计数器的机制,将任务分为了延迟敏感和尽力而为两类进行混部。但由于细粒度的隔离性问题,这条道路也无疾而终。

到了 K8s 阶段,由于在线业务的伸缩能力的增强和普及,第二套计数器不再是强需求,爱奇艺直接在 K8s 上进行了混部,通过引入 Kata 保证服务质量。

2022 年,龙蜥 + Koordinator 一并被引入,用于构建下一步的混部架构。



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_服务质量_03



从多年的混部经验里,爱奇艺总结出了 影响混部 的关键因素:



  • 服务质量,尤其是在线业务的质量,脱离了服务质量则混部无意义。
  • 获取额外资源。
  • 任务适配。



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_离线_04



获取额外资源存在有两个思路:

其一为使用一套计数器,按固定比例超卖资源,直接混用,或者按经验比例分配给各个类型的负载。



其二为多套资源计数器 ,一种方式是利用经验数据判断集群的空闲时间和空闲资源,另一种方式是通过类似 Mesos Oversubscription 的方式做空闲资源的实时探测。 



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_爱奇艺_05



服务质量的策略分为静态和动态。动态指在离线业务或具体的进程之间动态进行调整,静态则是一旦下发即固定,即便有影响也不变动。

二、龙蜥和 Koordinator 在离线业务混部探索



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_爱奇艺_06



Koordinator 没有对分布架构做本质上的变动,而是在云原生的规范性方面,比如业务类型的抽象上做了更多工作,使 K8s 和 Koordinator 有了做通用分布式架构的可能性,而不像之前只能针对特定的业务做定制。



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_爱奇艺_07



Koordinator 可以简单理解为给 K8s 增加插件或做了增强,首先会增加一个调度器,引入一套资源技术,在节点上有一个 Koordlet,分别负责收集资源和保证任务的隔离性。



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_离线_08



其工作机制为利用计数器在真实利用率基础上进行二次分配。整机的真实使用使用率取决于离线任务的使用率,保证在线业务的质量的前提下,水位线可以根据实践随时调整。



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_爱奇艺_09



Koordinator 在任务分配方面分为五种类型(图中只列举了常用的四种),通过不同层级的分类,对在线业务和离线业务进行了不同层级的保障。



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_离线_10



为进一步保证服务质量,爱奇艺引入了龙蜥操作系统(Anolis OS)。Group Identity 功能和 CPU Burst 功能对当前的混部效果起到了很大的提升作用。

Anolis OS 通过配置不同的 Group Identity 启用两套进程调度,一套作为在线业务的调度器,另一套作为离线任务的调度器,在线业务优先级整体高于离线任务。此前,在公平调度的机制下,在线业务、离线业务之间在细粒度上存在互抢资源;而引入两套调度器后,这个问题可以被合理规避。CPU Burst 的作用是使公平调度进程之间的切换更平滑,避免出现毛刺。



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_爱奇艺_11



第一个试点业务为某类型内容实时生产,已经全量运行在混部资源上。从某种意义上它是零成本的,因为全部复用了其他服务器节省出来的资源。目前运行非常稳定,也没有对在线业务造成无法接受的干扰。

每天对热点视频进行二次或更多次编码也是爱奇艺一项较重的非实时离线计算任务,目的在于通过再生产降低码率或提高质量。该任务目前正在灰度验证阶段,期待接入Anolis OS 和 Koordinator 之后能带来足够大的惊喜。

大数据离线计算方面,出于综合考虑,爱奇艺目前依然选择 Kata 作为运行时,因此也正在积极和龙蜥社区进行探索,尝试 Kata 和 Koordinator 的合作。



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_服务质量_12



上图为试点前后的效果对比,在验证环境设计比较保守的情况下,利用率整体提升 50% 以上。图中任务高峰期 CPU 使用率低于水位线的主要原因是BE任务申请的资源量没有被充分利用导致,涉及到离线任务的运营。当然,如何通过技术手段将真实的资源进行三次、四次甚至无限次的分配,也是爱奇艺期望尽快解决的。

三、未来工作展望



爱奇艺:基于龙蜥与 Koordinator 在离线混部的实践解析 | 龙蜥技术_离线_13



未来,爱奇艺将与龙蜥社区携手同行。首先,争取将 CPU 利用率提升到 50% 甚至更高。其次,因为涉及多租户,需要进行资源分配,尤其是离线任务资源总量不稳定,离线池内资源分配不合理和资源抢占问题时有发生,期望能够在未来规避此类问题。最后,爱奇艺将会在离线任务质量保障方面继续探索。



关于龙蜥峰会云原生专场课件获取方式:

【PPT 课件获取】:关注微信公众号(OpenAnolis),回复“ 龙蜥课件 ” 即可获取。


【视频回放】:视频回放可前往龙蜥官网​https://openanolis.cn/video​ 查看。 

—— 完 ——




标签:爱奇艺,离线,业务,混部,任务,Koordinator
From: https://blog.51cto.com/u_15308345/5968729

相关文章

  • 下载谷歌(chrome)浏览器离线包
    https://www.google.cn/chrome/thank-you.html?platform=win64&standalone=1&statcb=0&installdataindex=empty&defaultbrowser=0standalone=1表示离线安装包,win64代表6......
  • 【服务器数据恢复】Storwize系列存储设备raid5多块硬盘离线导致Mdisk失效,通用卷无法使
    服务器故障:某品牌Storwize系列存储中raid5阵列有一块硬盘出现故障离线,热备盘启用替换离线盘,开始同步数据。这时与离线盘同一组Mdisk中的另一块磁盘故障离线,热备盘同步失败,......
  • 手把手教你一套完善且高效的k8s离线部署方案
    作者:郝建伟背景面对更多项目现场交付,偶而会遇到客户环境不具备公网条件,完全内网部署,这就需要有一套完善且高效的离线部署方案。系统资源编号主机名称IP资源类型......
  • 离线安装nginx
    下载好文件后,统一上传到服务器的root/nginx目录下(没有该目录则新建)下载安装一般我们都需要先装pcre,zlib,前者用于urlrewrite,后者用于gzip压缩,openssl用于后续可能升级到......
  • 离线下载和安装UWP(windows应用商店)软件
    离线下载uwp安装包打开商店,然后搜索您要的应用程序名称,进入应用界面点击分享按钮,在弹出窗口中选择【复制链接】把链接粘贴到:https://store.rg-adguard.net/默认选择的......
  • RapidOCR-完全开源免费并支持离线部署的多平台多语言OCR SDK
    RapidOCR(捷智OCR-信创级开源OCR-为世界内容安全贡献力量)商业支持提供信创平台多架构,包括Arm/X86/mips(龙芯)/RISC-V等信创CPU支持,同时兼容ONNXRuntim......
  • Ubuntu20.04离线安装MySQL-5.7.27
    一软件安装先说说为什么选择5.7版本吧,软件的兼容性是最大的问题,其次就是最新的8.0版本规则限制比较多:权限问题,密码复杂度等等...我个人是不喜欢这些条条框框的,而且Ubunt......
  • CentOS7.9.2009离线安装NGINX1.20.2版(附资源包)
    ​​nginx1.20.2离线安装包(含gcc、gcc-c++、pcre、libtool、nginx).zip-Web9离线安装NGINX1.20.2版1.资源​​nginx1.20.2离线安装包(含gcc、gcc-c++、pcre、libtool、nginx).z......
  • logstash如何离线安装插件
    有的服务器有网络限制没有办法在线安装插件,需要借助其他服务器导出离线安装包1.先找一台没有网络限制的服务器在线安装bin/logstash-plugininstalllogstash-input-log4j......
  • Delfoi CUT 3D切割和精加工工艺离线编程软件丨衡祖仿真
    DelfoiCUT是一款用于3D切割和精加工工艺的离线编程软件,例如水射流切割、等离子切割、激光切割以及机械切割和去毛刺。DelfoiCUT工艺特点●自动检测CAD特征●基于C......