关于阿里云:爱奇艺基于龙蜥与-Koordinator-在离线混部的实践解析-龙蜥技术

38次阅读

共计 2471 个字符,预计需要花费 7 分钟才能阅读完成。

作者:赵慰

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

爱奇艺离线业务混部背景

与泛滥互联网公司一样,爱奇艺常见的负载类型包含业务利用、数据库 & 中间件以及离线工作。其中业务利用包含有状态利用和无状态利用,无状态利用能够借助运维平台在业务团队和运维团队之间做比拟清晰的职责划分,适宜混部;而有状态利用较为简单,混部时的运行品质难以保障。数据库和缓存目前并没有运行在混部集群中。离线工作中的非实时性工作,比方夜间转码、数据处理等只关注吞吐量而不关注时效的工作也是混部的对象。

爱奇艺在混部上经验了长时间的摸索。

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

2016 年,通过 Mesos Oversubscription 性能引入依据实在资源做额定计数器的机制,将工作分为了提早敏感和尽力而为两类进行混部。但因为细粒度的隔离性问题,这条路线也无疾而终。

到了 K8s 阶段,因为在线业务的伸缩能力的加强和遍及,第二套计数器不再是强需要,爱奇艺间接在 K8s 上进行了混部,通过引入 Kata 保障服务质量。

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

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

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

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

其一为应用一套计数器,按固定比例超卖资源,间接混用,或者按教训比例调配给各个类型的负载。

其二为多套资源计数器,一种形式是利用教训数据判断集群的闲暇工夫和闲暇资源,另一种形式是通过相似 Mesos Oversubscription 的形式做闲暇资源的实时探测。

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

龙蜥和 Koordinator 在离线业务混部摸索

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

Koordinator 能够简略了解为给 K8s 减少插件或做了加强,首先会减少一个调度器,引入一套资源技术,在节点上有一个 Koordlet,别离负责收集资源和保障工作的隔离性。

其工作机制为利用计数器在实在利用率根底上进行二次调配。整机的实在应用使用率取决于离线工作的使用率,保障在线业务的品质的前提下,水位线能够依据实际随时调整。

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

为进一步保障服务质量,爱奇艺引入了龙蜥操作系统(Anolis OS)。Group Identity 性能和 CPU Burst 性能对以后的混部成果起到了很大的晋升作用。

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

第一个试点业务为某类型内容实时生产,曾经全量运行在混部资源上。从某种意义上它是零老本的,因为全副复用了其余服务器节俭进去的资源。目前运行十分稳固,也没有对在线业务造成无奈承受的烦扰。

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

大数据离线计算方面,出于综合思考,爱奇艺目前仍然抉择 Kata 作为运行时,因而也正在踊跃和龙蜥社区进行摸索,尝试 Kata 和 Koordinator 的单干。

上图为试点前后的成果比照,在验证环境设计比拟激进的状况下,利用率整体晋升 50% 以上。图中工作高峰期 CPU 使用率低于水位线的次要起因是 BE 工作申请的资源量没有被充分利用导致,波及到离线工作的经营。当然,如何通过技术手段将实在的资源进行三次、四次甚至有限次的调配,也是爱奇艺冀望尽快解决的。

将来工作瞻望

将来,爱奇艺将与龙蜥社区携手同行。首先,争取将 CPU 利用率晋升到 50% 甚至更高。其次,因为波及多租户,须要进行资源分配,尤其是离线工作资源总量不稳固,离线池内资源分配不合理和资源抢占问题时有发生,冀望可能在将来躲避此类问题。最初,爱奇艺将会在离线工作品质保障方面持续摸索。

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

【PPT 课件获取】:关注微信公众号【阿里云云原生】,后盾回复“Koordinator 课件支付”即可获取。

【视频回放】:视频回放可返回下方链接进行查看:https://openanolis.cn/video

点击 此处,立刻理解 Koordinator 我的项目!

—— 完 ——

十分欢送你通过 Github/Slack/ 钉钉 / 微信 等形式退出咱们来参加 Koordinator 开源社区。你是否曾经有一些心愿与咱们社区交换的内容呢?能够通过以下渠道参加探讨:

  • 退出社区 Slack channel (English)
  • 退出社区钉钉群:搜寻群号 33383887 (Chinese) 或者扫描下方二维码

——本文转载自「龙蜥社区」

正文完
 0