字节跳动云原生成本优化实践开源项目 Katalyst |社区编程挑战启动!
2023-9-19 11:45:34 Author: mp.weixin.qq.com(查看原文) 阅读量:7 收藏

Katalyst 是字节跳动开源的成本优化实践系统,致力于解决云原生场景下的资源不合理利用问题,为资源管理和成本优化提供解决方案。

Katalyst 于今年 3 月正式开源,从 0.1.0 版本发布至今,经过 0.2.0 版本迭代,已经完成若干核心能力的输出。8 月 8 日 Katalyst 发布 v0.3.0 版本,核心功能包括 KCNR API 能力增强,框架可拓展性增强,混部能力增强等,具体见 GitHub(https://github.com/kubewharf/katalyst-core/milestone/3?closed=1)。

活动背景

Katalyst 作为字节跳动云原生团队持续投入的开源项目,看重开源的长期价值,重视开源社区的反馈与参与,同时也非常鼓励高校同学在早期参与到真实的开源项目中,体验开源社区的运作方式,提升个人能力。
在今年举办的 GLCC 编程夏令营中, Katalyst 发布的相关议题吸引了不少高校同学报名参与,项目过程中导师和项目同学积极沟通可行性方案,帮助同学参与项目开发。
为了延续字节跳动开源与高校的合作,鼓励更多对云原生感兴趣的高校学生参与到社区,我们计划将此与高校同学协作的开发模式在项目版本迭代过程中进行复用,为高校同学提供参与开源社区的路径与指导,同时帮助社区收集更多的反馈与需求。

活动介绍

Katalyst 开源社区【编程挑战】:社区根据未来新版本中的相关能力规划,发布议题任务,邀请高校同学参与项目部分 issue 的设计与开发,并为完成任务的同学提供一定的奖励。

Open Source
议题一
Support for OOM priority as a QoS enhancement

支持 OOM 优先级作为 QoS 增强

- GitHub issue -

github.com/kubewharf/katalyst-core/issues/216

请为 Katalyst 增加以下能力:

  • 用户可以指定 OOM 优先级作为 QoS 增强

  • 使用 oom_score_adj 实现 OOM 优先级

- 议题说明 -

目前,Kubernetes 为不同的 QoS 类配置不同的 oom_score_adj 值。然而,OOM 的顺序还取决于其他维度的因素,如容器的内存使用等。

在混部场景中,当集群内存资源变得稀缺时,必须严格确保批处理作业比 web 服务更早因 OOM 而终止。

Open Source
议题二
Support NUMA-granularity reporting for reclaimed resources

支持回收资源 NUMA 颗粒度上报

- GitHub issue -

github.com/kubewharf/katalyst-core/issues/217

请为 Katalyst 增加以下能力:

  • 增强资源上报机制,支持回收资源 NUMA 节点颗粒度的上报

- 议题说明 -

目前,回收资源的上报是在节点颗粒度级别进行的。然而,在具有 NUMA 架构的环境中,这种方法可能会导致次优调度结果和由于 NUMA 级别的干扰而导致潜在的 Pod 驱逐。

Open Source
议题三
Support inter-pod affinity and anti-affinity at NUMA level in Kubernetes

支持 Kubernetes 中 NUMA 级别 pod 间亲和性和反亲和性

- GitHub issue -

github.com/kubewharf/katalyst-core/issues/220

请为 Katalyst 增加以下能力:

  • 支持 Kubernetes 中 NUMA 级别 pod 间亲和性和反亲和性。

- 议题说明 -

目前,Kubernetes 在节点级别支持 pod 间亲和性和反亲和性。然而,将这种支持扩展到 NUMA 级别的需求逐渐增加。

例如,在 TensorFlow 训练中,高内存带宽消耗 worker,会影响同一 NUMA 节点上的参数服务器。将这些 pod 分配给不同的 NUMA 节点可以减轻这种干扰。

预期收获
1. 体验真实开源项目,熟悉开源社区运作流程,积累开发实践经验
2. 参与 community meeting,与开源爱好者交流,了解社区动态
3. 项目 mentor 一对一辅导,面对面答疑

4. 完成项目的优秀 contributor 还可获得社区激励奖金 5000 元(等额京东卡)

参与要求

1. 18 岁以上高校在校学生

2. 热爱开源文化,接受开源协作模式

*非高校学生如果对议题感兴趣,欢迎联系小助手参与社区一起共建开发~
参与方式
联系人

 唐同学

邮   箱

 [email protected]

1. 从以下 GitHub issue 中选择 1 个议题:
    a. github.com/kubewharf/katalyst-core/issues/216
    b. github.com/kubewharf/katalyst-core/issues/217
    c. github.com/kubewharf/katalyst-core/issues/220

2. 发送个人简历+议题 proposal 给相关联系人

3. 通过后将由项目导师联系沟通具体开发任务,启动开发

4. 完成任务后,需写一篇参与开源项目的经验与感受,在第三方社区(掘金/InfoQ/知乎/开源中国等)或校园 blog 上发布

活动时间

报名时间:9 月 01 日 - 9 月 22 日
入选通知:9 月 23 日
开发时间:9 月 24 日 - 10 月 30 日
文章发布时间:11 月 10 日之前
优秀议题&同学公布:11 月 10 日 - 11 月 15 日
如有疑问,欢迎联系字节跳动云原生小助手
注明【姓名 + 学校/公司】

加入云原生交流群


文章来源: https://mp.weixin.qq.com/s?__biz=MzI1MzYzMjE0MQ==&mid=2247504060&idx=1&sn=34a389ac023e37562868cc2c92661bea&chksm=e9d31b5edea492483e3820b1ca29c8591178f75b630afd31587dc8147509c9348eb346c60df6&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh