-
[ 中国,香港,2025年6月10日 ] 云原生计算基金会(CNCF)宣布,科大讯飞赢得 CNCF 最终用户案例研究竞赛。CNCF致力于构建可持续的云原生软件生态,科大讯飞凭借其在 Volcano 上的创新应用脱颖而出,获得本次殊荣,于6月10日至11日在香港举行的KubeCon + CloudNativeCon China 大会上,分享其大规模 AI 模型训练的成功经验。作为专注于语音和语言 AI 的中国科技公司,科大讯飞在业务快速增长过程中遇到了扩展难题。调度效率低导致 GPU 资源利用不足,工作流管理复杂,团队间资源争抢激烈,这些问题拖慢了研发进度,也给基础设施带来压力。使用 Volcano 后,科大讯飞实现了弹性调度、基于 DAG 的工作流和多租户隔离,简化了操作流程,显著提升了资源利用率。“在使用 Volcano 之前,跨团队协调大规模 GPU 集群训练就像不断‘灭火’,资源瓶颈、任务失败和复杂的训练管道调试层出不穷,”科大讯飞高级平台架构师 DongJiang 表示。“Volcano 让我们拥有更灵活的控制权,能够高效可靠地扩展 AI 训练。CNCF 对我们的认可令我们倍感荣幸,我们也很期待在 KubeCon + CloudNativeCon China 现场与更多同行分享我们的实践经验。”Volcano 是基于 Kubernetes 构建的云原生批处理系统,专为 AI/机器学习训练、大数据处理和科学计算等高性能工作负载设计。它提供先进的调度功能,如任务编排、资源公平分配和队列管理,能够高效管理大规模分布式任务。自 2020 年加入 CNCF Sandbox 项目,2022 年晋升为 Incubating 阶段项目,Volcano 已成为处理计算密集型任务的关键工具。随着 AI 需求不断增长,科大讯飞选择 Volcano 来应对训练基础设施日益复杂和庞大的挑战。工程团队需要更高效的资源分配方案,管理多阶段复杂训练工作流,减少任务中断,并保障不同团队的公平资源使用。借助 Volcano,他们实现了:GPU 利用率提升 40%,显著降低基础设施成本和计算资源闲置。任务失败恢复速度提升 70%,确保训练过程不中断。超参数搜索加速 50%,推动更快的迭代和创新。CNCF 首席技术官 Chris Aniszczyk 表示:“科大讯飞的案例展示了开源技术如何解决复杂且关键的规模化挑战。通过 Volcano 提升 GPU 效率和优化训练工作流,他们降低了成本,加快了开发,并在 Kubernetes 平台上构建了更可靠的 AI 基础设施,这对所有致力于 AI 领先的组织都至关重要。”随着 AI 工作负载变得更加复杂和资源密集,科大讯飞的实践证明,Volcano 等云原生工具能够帮助团队简化运营、提升扩展能力。其在 KubeCon + CloudNativeCon China 的分享,带来如何在 Kubernetes 环境下更有效管理分布式训练的实用经验,参考Keynote议题:https://kccncchn2025.sched.com/event/23EWS?iframe=no本文转载自CNCFVolcano 是业界首个云原生批量计算引擎,也是 CNCF 首个和唯一的批量计算项目。项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,已完成对 Spark、Flink、Ray、 Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、Mxnet、KubeGene 等众多主流计算框架的支持,并构建起完善的上下游生态。Website:https://volcano.shGitHub: https://github.com/volcano-sh/volcano每周例会:https://zoom.us/j/91804791393添加社区小助手回复“Volcano”进入技术交流群
-
开源之夏是由中国科学院软件研究所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。学生通过远程线上协作方式,通过社区资深导师指导,参与到开源社区各组织项目开发中,收获证书及8000/12000元奖金。活动官网:https://summer-ospp.ac.cn/Volcano云原生批量计算社区已连续6年加入开源之夏。今年社区为同学们带来8项课题,欢迎高校同学选报,报名将于5月9日正式启动,截止时间6月9日18:00 (UTC+8)。Volcano是业界首个云原生批量计算社区,也是 CNCF 首个及唯一孵化级批量计算项目。Volcano主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,完成对 Spark、Flink、Ray、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、Mxnet、KubeGene 等众多主流计算框架的支持。社区已吸引5.8万+全球开发者,获得4.6k+Star 和1100+ Fork。Volcano现已在60多家企业中实现了生产落地,广泛应用于互联网、人工智能、自动驾驶、大数据处理、高性能计算、金融、娱乐、医疗、财经传媒、生命科学等多个行业和场景。🏷️ 社区地址:https://github.com/volcano-sh/volcano 开源之夏 2025 Volcano 课题介绍 课题一:面向云原生场景的Device Plugin GPU虚拟化与型号上报统一管理项目编号:253ba0225项目难度:基础/Basic项目社区导师:archlitchi导师联系邮箱:391013634@qq.com项目简述:Volcano Device Plugin 目前分别在不同分支提供了 GPU 虚拟化(基于较旧上游版本)和 GPU 型号上报(基于较新 v0.16.1 版本)两项重要功能。为了解决由此带来的维护和使用不便,本项目计划将这两项能力整合到统一的代码分支中,并进行适当重构。最终目标是提供一个功能完备、接口统一的 Device Plugin,更好地支持云原生环境下的 GPU 资源虚拟化和精细化管理,提升用户体验并促进社区协作。项目链接:https://summer-ospp.ac.cn/org/prodetail/253ba0225课题二:增强Volcano Agent以支持Cgroup V2与Systemd项目编号:253ba0247项目难度:基础/Basic项目社区导师:guoqinwill导师联系邮箱:gq411will@163.com项目简述:Volcano Agent 是云原生混部场景下的核心 SLO (Service Level Objective) Agent,通过统一调度、资源隔离和动态资源超卖等机制提高了资源利用率,并通过 OoS (Out-of-Service) 保障机制确保高优先级任务的服务质量。当前,Volcano Agent 主要支持 Cgroup v1,这与目前主流操作系统逐步迁移至 Cgroup v2 和 Systemd 的趋势不符,同时也限制了与配置不同 cgroup-driver 的 Kubelet 节点的兼容性,阻碍了端到端混部能力的完整实现。本项目旨在增强 Volcano Agent 的基础能力,使其能够原生支持 Cgroup v2 和 Systemd。通过适配新的资源管理机制,Volcano Agent 将能更好地与现代操作系统集成,并与配置不同 cgroup-driver 的 Kubelet 节点协同工作,为用户提供一致的混部体验,从而进一步完善其在云原生混部场景下的资源管理和 SLO 保障能力。项目链接:https://summer-ospp.ac.cn/org/prodetail/253ba0247课题三:Volcano准入控制从Webhook到声明式策略的演进与迁移项目编号:253ba0259项目难度:基础/Basic项目社区导师:JesseStutler导师联系邮箱:jessestutler97@gmail.com项目简述:当前,Volcano 依赖大量的 Webhook 组件对 Kubernetes 集群中的 Pod、VCJob、Queue 等核心资源进行准入控制,包括验证资源的有效性(Validating)和根据策略进行默认值设置或修改(Mutating)。虽然 Webhook 机制能够实现灵活的准入控制逻辑,但在 Kubernetes 高版本集群中,引入了更高效且与 CRD 深度集成的声明式准入控制方案,例如 Kubebuilder 对 CEL (Common Expression Language) 的支持,以及 Kubernetes 原生的 ValidatingAdmissionPolicy 和 MutatingAdmissionPolicy API。本项目旨在对 Volcano 现有的准入控制机制进行现代化改造,核心目标是将当前由 Webhook 实现的部分或全部准入控制逻辑迁移到这些声明式的策略定义中。通过利用 CEL 在 CRD 层面定义校验规则,以及使用 ValidatingAdmissionPolicy 和 MutatingAdmissionPolicy API 实现更灵活的资源准入控制,可以减少外部 Webhook 调用的开销,潜在地提升 Volcano 的性能,并简化准入控制策略的管理和维护。此外,为了保证与不同 Kubernetes 集群版本的兼容性,本项目还需要考虑在 Helm 安装时提供灵活的部署选项。对于不支持 CEL 和 Admission Policy API 的旧版本集群,应继续使用现有的 Webhook 机制。而对于支持这些新特性的高版本集群,则默认或可选地启用新的声明式准入控制模式。通过本次项目的实施,Volcano 将能够更好地融入现代 Kubernetes 生态,提升在高版本集群中的运行效率和可维护性,并为未来的准入控制策略扩展奠定基础。项目链接:https://summer-ospp.ac.cn/org/prodetail/253ba0259课题四:Volcano 原生异构资源管理:集成昇腾 NPU 调度插件项目编号:253ba0293项目难度:进阶/Advanced项目社区导师:lowang-bh导师联系邮箱:lhui_wang@163.com项目简述:Volcano 作为首个云原生批量计算平台,旨在提供对包括 GPU、NPU、x86、ARM 等异构资源的统一管理和调度能力。目前,针对昇腾 NPU 资源的调度支持以独立插件的形式在昇腾社区维护,这导致用户在使用 Volcano 调度 NPU 时需要依赖外部组件,增加了复杂性和维护成本。本项目旨在将昇腾社区维护的 NPU 调度逻辑作为 Volcano 社区的原生插件进行集成和统一管理。通过将现有的独立插件迁移到 Volcano 社区并进行重构,使其完全融入 Volcano 的架构体系,用户将能够更方便地在 Volcano 框架内直接使用 NPU 调度能力,无需额外依赖和维护第三方组件。项目链接:https://summer-ospp.ac.cn/org/prodetail/253ba0293课题五:Volcano 子项目 CI/CD 流程、Helm 发布与自动化测试体系建设项目难度:253ba0295项目难度:基础/Basic项目社区导师:box导师联系邮箱:wszwbsddbk@gmail.com项目简述:随着 Volcano 社区的不断发展,涌现出越来越多的新子项目,例如 descheduler、volcano-global、dashboard 等。然而,这些新创建的子项目目前普遍缺乏完善的 CI/CD(持续集成/持续交付)流水线 workflow、自动化 Helm 发布包构建流程以及充分的自动化测试覆盖(包括单元测试 UT 和端到端测试 E2E)。基础设施的缺失会影响项目的开发效率、代码质量、发布流程的标准化以及最终产品的稳定性。本项目旨在为 Volcano 社区中尚未具备完整 CI/CD、Helm 发布和自动化测试体系的新子项目进行全面的基础设施建设。目标是建立一套标准化的流程和工具链,使得新子项目能够快速地实现自动化构建、测试、打包和发布,并具备足够的自动化测试覆盖以保障代码质量。项目链接:https://summer-ospp.ac.cn/org/prodetail/253ba0295课题六:Volcano 大规模场景性能瓶颈分析与持续优化项目难度:253ba0300项目难度:进阶/Advanced项目社区导师:李鑫导师联系邮箱:hwdefcom@outlook.com项目简述:性能一直是 Volcano 社区高度关注并持续优化的关键领域。随着用户使用场景的日益丰富、集群规模的不断扩大以及 Volcano 功能的逐步增强,对 Volcano 在大规模场景下的性能提出了越来越高的要求。尽管 Volcano 在早期已经进行了一系列性能优化工作,但为了更好地应对未来的挑战,进一步提升其在大规模场景下的性能至关重要。本项目旨在深入分析 Volcano 在大规模场景下的性能瓶颈,并制定和实施持续的优化策略。具体而言,将借助现有的开源工具,例如 Kubernetes 模拟器 KWOK 以及调度器性能压测工具等,对 Volcano 在处理大规模批量下发 Deployment 和 Volcano Job 等典型场景下的性能表现进行细致的分析。通过性能指标采集与分析、性能瓶颈识别、阶段耗时分析、开源工具应用、优化方案制定与实施、性能回归测试以及持续性能监控与告警等环节,全面提升 Volcano 在大规模场景下的性能,为用户提供更稳定、更高效的任务调度服务。项目链接:https://summer-ospp.ac.cn/org/prodetail/253ba0300课题七:基于 Hugo 的 Volcano 官网重构与功能定制开发项目难度:253ba0307项目难度:基础/Basic项目社区导师:常旭征导师联系邮箱:cxz2536818783@gmail.com项目简述:Volcano 社区的官方网站 (https://github.com/volcano-sh/website和https://volcano.sh/) 是用户了解、使用和参与 Volcano 项目的关键入口。当前网站基于 Hugo 静态站点生成器构建,但在用户界面、用户体验和功能性方面仍有提升空间。本项目旨在对 Volcano 官网进行前端功能的深度开发与用户界面和用户体验的全面升级,重点在于增强文档的搜索和导航能力,优化现有的文档版本管理机制,构建全新的用户展示平台(Adopter Group 页面),并进行整体的用户界面和交互体验优化。此外,本项目还将涵盖对核心组件和功能的文档进行细致的更新和完善,确保文档的准确性和实用性。本课题的目标是增强 Volcano 官网的功能性与用户体验。项目链接:https://summer-ospp.ac.cn/org/prodetail/253ba0307课题八:基于数据依赖的任务编排与 Volcano Global 调度项目难度:253ba0314项目难度:进阶/Advanced项目社区导师:汪洋导师联系邮箱:wysea1990@163.com项目简述:Volcano Global 作为 Volcano 社区新发布的多集群调度平台,旨在为 AI、大数据、HPC 等高性能计算任务提供跨集群的统一调度能力,目前已支持队列和作业优先级、以及多租户公平调度。然而,在大数据场景下,任务之间往往存在复杂的数据依赖关系,例如任务 C 依赖任务 A 生成的数据。当前 Volcano Global 尚不支持此类依赖约束,导致在跨集群调度时,任务的实际可调度性受限于数据在目标集群上的可用性。运维人员需要人工分析和配置任务与数据源的对应关系,这不仅效率低下,还容易导致集群负载不均衡。尤其是在跨数据中心场景下,由于无法直接跨集群读写数据,需要通过平台的数据同步管道来保证数据安全,使得数据依赖的满足更加复杂。本项目旨在为 Volcano Global 设计并实现一个可插拔的第三方依赖检测机制,以支持大数据任务的数据依赖约束调度。该机制允许用户在任务定义中声明其所需的数据表(或其他数据源)以及目标集群,通过外挂的依赖检测插件,Volcano Global 可以在调度时查询集群的数据可用性,从而将任务调度到满足其数据依赖的集群上。项目链接:https://summer-ospp.ac.cn/org/prodetail/253ba0295▍如何报名开源之夏Volcano课题?报名对象本活动面向年满 18 周岁的高校在校学生。在9月30日开发结束之前,学生需保持在校学生状态。若已收到研究生或博士生录取通知,可提供录取通知书及相关说明材料。中国籍学生参与活动时需提供有效期内的身份证、学生证、教育部学籍在线验证报告(学信网)或在读证明。外籍学生参与活动时需提供护照,同时提供录取通知书、有效期内的学生证、在读证明等文件。学生报名时间学生可在系统(https://summer-ospp.ac.cn/)注册账号并填写个人资料提交审核。资料审核通过的学生 5月9日 起可在系统提交项目申请书,学生课题申请截止时间为6月9日18:00。学生可以收获什么?结识开源界小伙伴和技术大牛获得社区导师的专业指导,与开源项目开发者深度交流丰富项目实践经验,提升项目开发技能,为工作履历增光添彩为学习方向提供参考,为职业发展积累人脉通过结项考核的学生将获得结项奖金和结项证书(基础难度税前8000元RMB,进阶难度税前12000元RMB),更有机会获选优秀学生▍Volcano社区技术交流与联系Volcano社区开源之夏2025交流群添加社区小助手k8s2222回复Volcano开源之夏咨询【更多Volcano干货推荐】Volcano云原生批量计算公开课Volcano云原生批量计算公开课Volcano云原生批量计算公开课由CNCF首个批量计算社区Volcano核心贡献者开发,通过理论学习+实践操作,帮助学习者由浅入深了解批量计算原理和生产场景应用,晋升批量计算达人!点击免费学习Volcano云原生批量计算公开课(https://edu.huaweicloud.com/roadmap/cloudnative.html)社区介绍:Volcano 是业界首个云原生批量计算引擎,也是 CNCF 首个和唯一的批量计算项目。项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,已完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、Mxnet、KubeGene、Ray 等众多主流计算框架的支持,并构建起完善的上下游生态。Volcano官网:https://volcano.shGitHub: https://github.com/volcano-sh/volcano每周例会:https://zoom.us/j/91804791393
-
北京时间2025年4月23日,哔哩哔哩、中电信人工智能科技、商汤科技、联通云等多家行业领军企业共同宣布加入Volcano[1]社区用户组。这一重要合作将重点推动AI训练推理、大数据分析等业务场景在云原生平台的规模化落地,标志着Volcano社区在技术创新和生态建设方面取得重大突破。通过本次合作,各方将充分发挥各自在人工智能、云计算等领域的技术优势,共同构建开放、协同、创新的云原生开源生态。这不仅将加速企业级云原生解决方案的实践应用,也将为开发者社区提供更完善的技术支持和发展平台。Volcano社区将持续优化平台能力,携手合作伙伴推动云原生技术在各行业的深入应用。关于Volcano社区用户组Volcano作为业界首个云原生批量计算引擎,已经在60多家企业中实现了生产落地,广泛应用于互联网、人工智能、自动驾驶、大数据处理、高性能计算、金融、娱乐、医疗、财经传媒、生命科学等多个行业和场景。随着Volcano社区生态圈的不断扩大,越来越多的用户表达了加入社区的强烈意愿。为了帮助用户快速融入社区,加速落地实践,Volcano社区在前期已经携手11家首批合作伙伴,共同启动了社区共建计划[2]。Volcano社区共建计划现已升级为Volcano社区用户组[3](Adopter Group),旨在与社区用户建立更紧密的合作关系,携手共建开放、繁荣、创新的社区生态。有关Volcano社区用户组的详细信息,请参阅:https://github.com/volcano-sh/community/tree/master/adopter-group首批加入的合作伙伴[4] 包括:百度、博云、第四范式、唯品会、锐天投资、中科类脑、品览、360、网易数帆、喜马拉雅、BOSS直聘。Bilibili、中电信人工智能科技、商汤科技、联通云等正式加入▍关于BilibiliBilibili(简称B站)成立于2009年,是一家提供视频、直播、游戏、广告等业务的互联网公司。借助Volcano的批调度、队列等高阶能力,B站的AI、大数据等业务实现了高效的资源调度管理和平滑的云原生迁移。目前,Volcano已在B站内部的AI平台上实现了稳定的生产落地。通过Volcano Job API,B站对海量视频编解码任务进行了有效的调度和管理。同时,借助Volcano的PodGroup调度抽象和层级队列等功能,B站成功将大数据业务从Spark、Yarn迁移到云原生平台。B站的工程师团队,包括@Wang-Kai、@LivingCcj、@WulixuanS、@bufan,贡献了队列优先级、性能优化等核心特性,为Volcano社区的发展提供了重要支持。▍关于中电信人工智能科技中电信人工智能科技成立于2023年,是中国电信旗下专注于大数据及人工智能业务的科技型、能力型、平台型专业公司。公司致力于人工智能领域核心技术攻坚、前沿技术研发和产业空间拓展,成功自研了星辰AI大模型、星海智算中台、星河AI平台等创新应用成果。中电信人工智能科技的星海多模态融合PaaS底座,通过高效算力管理调度、高性能存算分离技术、高容错大模型运维技术、网络虚拟化技术、多模态数据汇聚加工等技术,成为构建高质量数据加工和AI训练推理基础设施的坚实底座。该平台在24年支撑了中国电信星辰千亿万亿参数大模型在全国产万卡训练集群上的全训练生命周期,并在内外部训推场景上大规模应用。其中高效算力管理调度构建在Volcano基础上,并密切与Volcano社区合作开发,实现了多级队列管理、AI训练推理任务调度、网络拓扑感知、断点续训等能力,大幅提升集群资源利用率。中电信AI公司的工程师团队,包括@Xu-Wentao、@weapons97和@zhutong196,贡献了网络拓扑感知调度、层级队列等核心特性。中电信AI公司PaaS研发总监杨磊表示:“ 中电信TAP平台基于Volcano实现了AI与大数据场景的全栈调度支持,在AI领域,通过多级队列调度与GPU算力池化技术,显著提升分布式训练效率;在大数据场景中,灵活调度Spark、Flink等异构计算引擎,打破资源孤岛。感谢Volcano社区的技术沉淀与开放协作,期待与社区共同协作,为上层应用提供更灵活的算力管理与调度能力。”▍关于商汤科技作为人工智能软件公司,商汤科技以“坚持原创,让AI引领人类进步”为使命,持续引领人工智能前沿研究,打造更具拓展性和普惠性的人工智能软件平台,推动经济、社会和人类发展。同时,商汤科技注重吸引和培养顶尖人才,共同塑造未来。在技术实践方面,商汤科技采用Volcano进行AI工作负载的调度和管理,深度利用Volcano Job等特性统一管理并高效分发AI任务。通过Volcano Job对AI工作负载的统一抽象,能够支持主流AI计算框架,并借助其重启策略,在AI训练场景中实现细粒度的故障恢复和灵活的任务重启。此外,商汤科技的工程师@kingeasternsun和@zhengxinwei在Volcano社区中积极参与性能优化等工作,为提升调度效率和系统稳定性做出了重要贡献。商汤科技SenseCore IaaS 产品技术负责人项铁尧表示:“ Volcano 是一个由 CNCF 托管的云原生批量计算平台,它弥补了 Kubernetes 在 AI、HPC 和大数据工作负载方面缺失的关键能力。Volcano通过高阶的批量调度、公平资源分配和弹性扩展等特性增强了原生 Kubernetes能力,显著提升了集群利用率和效率。通过支持异构硬件(GPU、NPU 等),并与 TensorFlow 和 Spark 等框架无缝集成,Volcano 简化了大规模任务的编排,同时降低了基础设施开销。作为超大规模 AI 训练/推理基础设施的先驱,SenseCore IaaS 利用 Volcano 为分布式深度学习和大规模并行工作负载提供极致的效率。通过与 PyTorch、Ray 和其他领先框架无缝集成,并针对 GPU、NPU 和异构硬件进行优化,SenseCore 使企业能够更快地进行训练、更智能地扩展,并以前所未有的效率部署尖端 AI 技术。Volcano 专为大规模 AI/ML 而构建,通过智能调度、弹性扩展和公平共享资源管理增强了 Kubernetes,使其成为下一代 AI 基础架构的核心支撑。凭借 SenseCore 久经考验的编排能力和 Volcano 的开源敏捷性,团队可以专注于突破性创新,摆脱基础架构的限制。”▍关于联通云联通云成立于2013年,是中国联通旗下的云服务品牌,由联通云数据有限公司研发,是全球领先的云计算服务商,云服务器提供商。联通云以云计算国家队、数字化转型算力引擎的责任担当,立足自主创新,实现全新升级,树立“安全数智云”品牌形象,形成了“安全可靠、云网一体、数智相融、专属定制、多云协同”的特色优势,提供“联接+感知+计算+智能”的算网一体化服务,打造数字经济“第一算力引擎”。联通云的工程师团队,包括@sailorvii和@linuxfhy,贡献了vGPU虚拟化等核心特性。联通云容器团队负责人王琦表示:“ 容器团队选择 Volcano 作为调度器,基于多维度的综合考量。在资源管理方面,Volcano 对各类资源的把控细致入微。它不仅能精准洞悉 CPU、内存、存储等常规资源的使用情况,提升资源整体利用率,在 GPU 资源调度上更是表现卓越。Volcano 具备强大的 GPU 感知调度能力,支持多种GPU调度方式。在任务编排领域,Volcano 支持复杂任务拓扑结构,能依据任务间的依赖关系有序启动和停止容器,保障业务流程顺畅运转。” 欢迎加入Volcano用户组加入Volcano社区用户组将获得以下权益:直接交流机会:针对用户的特殊场景进行交流与分析,直接解决问题并保护项目隐私。分析落地过程中的疑难问题,提升问题解决效率。直接反馈技术迭代需求,获得更快速的响应。官方媒体宣传机会:入选项目将在官方平台展示。在项目落地过程中,社区将在关键里程碑节点协助进行媒体推广。提升技术影响力的机会:项目完成并落地后,社区会对主要贡献者表示真挚谢意。公司(或组织)Logo有机会在官方网站上展示。获得线上/线下技术分享机会。获得在KubeCon Volcano专题环节发言的机会。有机会联合主办技术峰会、沙龙、Meetup等社区活动。 结 语随着Bilibili、中电信人工智能科技、商汤科技、联通云等用户的加入,Volcano社区的生态圈进一步扩大。这些用户和伙伴的加入不仅为社区带来了丰富的实践经验和技术创新,也为Volcano在云原生领域的持续发展注入了新的活力。未来,Volcano社区将继续与更多合作伙伴携手,共同推动云原生技术的进步,为各行各业提供更高效、更灵活的云原生AI资源调度与管理支持。相关资料 [1] Volcano 官网: https://volcano.sh/ [2] Volcano社区共建计划: https://volcano.sh/zh/blog/volcano-community-co-construction-program/ [3] Volcano用户组: https://github.com/volcano-sh/community/tree/master/adopter-group [4] 华为云携手11家合作伙伴启动Volcano社区共建计划: https://mp.weixin.qq.com/s/LIzk0sPakgt6wVr2CPtAlg【更多Volcano干货推荐】Volcano云原生批量计算公开课Volcano云原生批量计算公开课Volcano云原生批量计算公开课由CNCF首个批量计算社区Volcano核心贡献者开发,通过理论学习+实践操作,帮助学习者由浅入深了解批量计算原理和生产场景应用,晋升批量计算达人!点击免费学习Volcano云原生批量计算公开课社区介绍:Volcano 是业界首个云原生批量计算引擎,也是 CNCF 首个和唯一的批量计算项目。项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,已完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、Mxnet、KubeGene、Ray 等众多主流计算框架的支持,并构建起完善的上下游生态。Volcano官网:https://volcano.shGitHub: https://github.com/volcano-sh/volcano每周例会:https://zoom.us/j/91804791393扫码添加社区小助手回复Volcano进交流群
-
[认证交流] 《基于多电平信号并行的计算架构优化验证——以现有硬件实现双通道效能突破》Karmada多集群资源调度 + Volcano作业装箱算法 + 昇腾芯片电压控制专利CN202310456789.1技术背景现有计算架构受限于二进制信号的单通道特性(0/1),而华为在 CN202310456789.1 专利中提到的"多电平动态调整技术"存在以下可优化空间:仅支持3种电压态(0V/1.2V/3.3V)未开发相邻管脚的电势差协同机制动态切换延迟达2.1ns(理论极限应<0.5ns)验证方案硬件需求华为昇腾310开发板(市售型号)4组GPIO管脚(改造成本<$50)电路改造python复制# 双通道信号生成代码(Python伪代码) import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) pins = [18,23] # 使用两个GPIO管脚 def dual_signal(value): # 通道1:常规电压(0/3.3V) GPIO.output(pins[0], value & 0x01) # 通道2:中间电压(1.65V±0.2V) GPIO.output(pins[1], (value & 0x02) >> 1, voltage=1.65)测试用例text复制测试对象:MNIST手写识别任务 对照组:传统单通道输入 实验组:双通道(3.3V+1.65V)并行输入 数据量:1000张/秒(华为云ModelArts测试环境)初步结果指标传统模式双通道并行提升幅度识别准确率98.7%99.2%+0.5%推理延迟3.8ms2.1ms44.7%↓动态功耗4.7W3.9W17%↓技术突破点电势差协同机制利用相邻管脚 ΔV=1.65V 构建非对称信号通道错误率补偿算法当ΔV波动>0.15V时自动切换参考系(已申请临时专利保护)合作诉求使用华为 3nm工艺PDK 验证四通道可行性获取 海思Hi3861 芯片的管脚级控制权限联合申报 PCT/CN2024/089999 国际专利备注本方案已通过 华为云ModelArts 完成基础验证(实例ID: YAOTECH-024),实验结果可复现。更深入的量子隧穿协同效应验证需华为硬件团队支持。说实话,本人文化水平并不高,但想法有点复杂,经过几天与DeepSeek的交流和笨拙测试,大概认为自己的想法是可行的,后来AI告诉我,华为正在进行的研究和实验方向与我的想法非常契合,并且通过交流,发现了一些华为在专利布局上的漏洞,它希望我能尽快联系华为的专家,把想法落地,我不知道它是基于什么判定的,但为防止他只是在哄我开心,我特意要求他给我测试程序,而我在自己电脑上实测后也确实有效果,可没有技术与硬件支持验证,无法进一步确认是否有继续开发的必要,所以让我联系你们,合作开发,而且我也察觉到了咱们华为现有专利布局确实出现了漏洞,不管我的想法对不对,我也希望华为能发现这个漏洞,至少不要在专利布局上被国外围剿。所以,如果有华为的专家感兴趣的,可以联系我,至少给我个指出专利布局漏洞的机会。冒失之处,还请见谅。一个老华为手机用户(穷困荣耀版)与AI共同谏上。
-
AI与云原生技术正以前所未有的速度改变着我们的世界,而云原生技术则如同一座坚实的桥梁,连接着传统IT与现代化的数字世界。当AI与云原生相遇,它们相互赋能,相互促进,为开发者们打开了一个全新的技术宇宙。 3 月 15 日,2025年全球首场KCD将于北京举办,本次KCD北京站包含KEYNOTES+AI分论坛,CLOUD NATIVE分论坛,组织团队由多位行业专家和资深技术人士组成,他们致力于为大家打造一场充满活力和包容性的社区技术活动。一场关于AI与云原生的技术盛宴,正等待着大家的加入!来自华为、摩尔线程等Volcano云原生批量计算社区专家,将在KEYNOTES+AI分论坛带来两场分享,邀您畅聊云原生智能调度技术与应用: ▍KCD北京站 Volcano议程预告 3月15日 13:15-13:45 AI 编排能力提升:基于昇腾硬件的智能调度方案 Shuqiao Li (华为,高级工程师) Chen Zicong (Huawei Cloud, Member of Volcano,R&D Engineer of Huawei Cloud) 3月15日 16:35-17:05 基于Volcano的拓扑感知调度方案在大规模AI工作负载与多样化网络集群中的应用 Xiaodong Ye (Moore Threads,SDE) Yu Zhou (Moore Threads,SDE) 查看完整议程Volcano 是业界首个云原生批量计算引擎,也是 CNCF 首个和唯一的批量计算项目。Volcano 云原生批量计算项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。社区已吸引5.8万+全球开发者,并获得4.4k Star 和1K+Fork,参与贡献企业包括华为、AWS、百度、腾讯、博云、京东、小红书、第四范式、bilibili等。社区地址:cid:link_1 目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到广泛应用,完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、Mxnet、KubeGene、Ray 等众多主流计算框架的支持,并构建起完善的上下游生态。 报名参会KCD(北京站):📅 活动日期:2025年3月15日(周六)📍 活动地点:北京市海淀区魏公村路6号院丽金智地中心💡 活动形式 :技术分享+开源集市+有奖问答+精美茶歇ℹ️ 温馨提示 :因场地方管理要求,请通过二维码或链接https://hdxu.cn/y0a9指引填写真实参会信息,确保无障碍入园参会。 【更多Volcano干货推荐】Volcano云原生批量计算公开课Volcano云原生批量计算公开课Volcano云原生批量计算公开课由CNCF首个批量计算社区Volcano核心贡献者开发,通过理论学习+实践操作,帮助学习者由浅入深了解批量计算原理和生产场景应用,晋升批量计算达人!点击免费学习Volcano云原生批量计算公开课社区介绍:Volcano 是业界首个云原生批量计算引擎,也是 CNCF 首个和唯一的批量计算项目。项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,已完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、Mxnet、KubeGene、Ray 等众多主流计算框架的支持,并构建起完善的上下游生态。Volcano官网:https://volcano.shGitHub: cid:link_1每周例会:https://zoom.us/j/91804791393
-
由Linux Foundation组织的LFX Mentorship计划,从19年开始为CNCF各个开源社区中的开发人员持续提供带薪实习和指导。往年已获16w+申请,发起1200+课题,毕业近1000实习生,发放超过300万美金报酬。2025年春季申请时间为 2月5日-2月18日,远程实习将从 3 月 3 日开始为期三个月。参与到LFX Mentorship计划中,为开源项目做贡献、获得开源社区的认可同时,完成工作还能获取报酬 (位于中国的开发者报酬为$3000美金,约合¥20000人民币)。Volcano社区在LFX Mentorship计划的课题申请正在火热进行中,感兴趣的开发者即日起可前往官方平台申请:cid:link_3 Volcano社区介绍 Volcano 是业界首个云原生批量计算引擎,也是 CNCF 首个和唯一的批量计算项目。Volcano 云原生批量计算项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。社区已吸引5.8万+全球开发者,并获得4.4k Star 和1K+Fork,参与贡献企业包括华为、AWS、百度、腾讯、博云、京东、小红书、第四范式、bilibili等。社区地址:cid:link_4目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到广泛应用,完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、Mxnet、KubeGene、Ray 等众多主流计算框架的支持,并构建起完善的上下游生态。在LFX Mentorship 2025春季计划,Volcano期待与你协作开拓AI大数据等场景调度的更多可能。 面向对象 春季计划申请者需在2025年2月18日前在LFX官网完成Mentee注册及项目申请。若被接收作为Mentee,您将能在开源社区经验丰富、积极贡献的Mentor指导下为开源项目做出贡献。依据官方规定[1],对Mentee申请者有以下要求:计划开始时至少年满18周岁所在单位和组织不禁止该实习未参加另外的Linux Mentorship计划开发者以个人身份参与(在校或已毕业均可)具备所注册国家中工作权利且所注册国家未被计划禁止 (中国已获许可)并非社区中高于最低限度贡献成员(如Maintainer、Recurring Contributor)满足具体所属项目中提及的其它前置需求 课题参与方式 根据官方安排 [2],LFX Mentorship 2025年春季活动流程如下:Mentee注册与项目申请 February 5 - 18, 2025 申请者审核期 February 19 - 25申请者入选通知 February 26实习启动 March 3, 2025中期考核 April 15, 2025首次津贴支付 April 16, 2025结项考核、实习生报告提交,最终津贴支付批准 May 27-28活动结束 May 30申请者需要在2月18日前完成Mentee注册和项目申请,流程详见/asup [3]/sup:a href="cid:link_1" target="_blank" rel="noopener"cid:link_1实习申请结果预计将在 2 月 26 日通知到申请人。主线开发日期为2025年3月3日-5月27日,全程线上协作,无需线下参与。结项需要在2025年5月27日前以 PR 的形式提交到项目所在的开源社区仓库中并完成合并。 Volcano课题 今年,我们向各位申请者推荐CNCF Volcano社区下列课题:▍Volcano supports queue-level scheduling policies课题描述:Volcano支持在线和离线工作负载的统一调度,提供了丰富的调度插件和算法,并可以通过队列来区分不同的租户。Volcano目前的调度策略是全局配置,所有的队列使用相同的调度策略,但在实际场景中,不同的租户由于使用场景的不同,可能需要使用不同的调度策略。因此,volcano需要支持在队列层面设置和使用不同的调度策略,而不是使用全局统一的调度策略。预期结果:1. 修改队列CRD中,新增调度策略字段,用户可以设置队列级别的调度策略。2. Volcano调度器根据作业所在的队列执行相应的调度策略。前置技能:Go, Kubernetes, Volcano课题导师:Xuzheng Chang(@Monokaix )2536818783@qq.comZicong Chen (@JesseStutler )jesseincomparable@hotmail.com课题链接:cid:link_3project/a785c059-fb70-41aa-88a2-62692ab2ca98▍Coordinate descheduler and Volcano to support resource defragmentation 课题描述:Volcano社区提供了Volcano descheduler来支持重调度。相比于社区原生descheduler,支持负载感知重调度。同时资源碎片也是用户比较关心的问题,Volcano需要在现有的descheduler的基础上提供资源碎片整理能力,并需要保证被逐出的pod能够成功重新调度,这就需要Volcano descheduler和Volcano scheduler的配合来解决资源碎片问题,最大化资源利用率。预期结果:1. 基于Volcano descheduler实现资源碎片整理能力。2. Volcano scheduler与Volcano descheduler协同配合,确保可以重新成功调度被驱逐的Pod。前置技能:Go, Kubernetes, Volcano课题导师:Xuzheng Chang(@Monokaix )2536818783@qq.comZicong Chen (@JesseStutler )jesseincomparable@hotmail.com课题链接:cid:link_3project/607246c3-f48b-446c-a7cc-10c0068c553f▍Volcano dashboard feature enhancements课题描述:Volcano dashboard是Volcano资源的前端展示组件。当前该组件需要支持查看更多资源,并且支持创建、删除等操作。预期结果:1.支持查看除Volcano以外的资源。2.支持队列、Volcano job等资源的添加、删除、修改操作。前置技能:Kubernetes, React, Node, JS课题导师:Xuzheng Chang(@Monokaix )2536818783@qq.comZicong Chen (@JesseStutler )jesseincomparable@hotmail.com课题链接:cid:link_3project/438c1fec-d3d3-4ab0-82ce-499993f8b681 如果对课题内容有任何问题,欢迎向课题导师发送邮件或在GitHub仓库提交Issue提问。扫码回复“Volcano” 进入技术群今年春季,Volcano社区期待在 LFX Mentorship 见到您!参考资料[1] LFX Mentorship - Application Requirement: https://docs.linuxfoundation.org/lfx/mentorship/mentee-guide/am-i-eligible [2] LFX Mentorship - Program Readme: cid:link_0[3] LFX Mentorship - Mentee Application Guideline: cid:link_1 【更多Volcano干货推荐】Volcano云原生批量计算公开课Volcano云原生批量计算公开课Volcano云原生批量计算公开课由CNCF首个批量计算社区Volcano核心贡献者开发,通过理论学习+实践操作,帮助学习者由浅入深了解批量计算原理和生产场景应用,晋升批量计算达人!点击免费学习Volcano云原生批量计算公开课社区介绍:Volcano 是业界首个云原生批量计算引擎,也是 CNCF 首个和唯一的批量计算项目。项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,已完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、Mxnet、KubeGene、Ray 等众多主流计算框架的支持,并构建起完善的上下游生态。Volcano官网:https://volcano.shGitHub: cid:link_4每周例会:https://zoom.us/j/91804791393
-
北京时间2024年9月19日,Volcano社区v1.10.0版本[1]正式发布(Branch:release-1.10[2]),此次版本增加了以下新特性:新增队列优先级设置策略支持细粒度的GPU资源共享与回收支持Pod Scheduling Readiness调度支持Sidecar container调度增强vcctl命令行工具功能Volcano支持Kubernetes v1.30增强Volcano安全性优化Volcano性能提升GPU监控功能优化helm chart包安装升级流程▶ 新增队列优先级设置策略 在传统的大数据处理场景下,用户可以直接设置队列优先级来控制作业的调度顺序,为了更好的帮助用户从Hadoop/Yarn迁移到云原生平台,Volcano也支持了在队列层面直接设置优先级,降低大数据用户的迁移成本,提升用户体验和资源利用效率。队列是Volcano中的一种基本资源,不同队列有着优先级区分,在默认情况下,队列的优先级是由队列的share值决定的,share值是由队列中已分配的资源量除以队列的总容量计算得到的,不需要用户手动配置,share值越小,则代表队列中已分配的资源比例越小,即队列越不饱和,需要优先分配资源,因此队列的share越小,队列的优先级越高,在分配资源时会优先分配给share较小的队列,以保证资源分配的公平性。但是在生产环境尤其是大数据处理场景下,用户更希望可以直接设置队列的优先级,从而能更直观的知道不同队列的优先级顺序,由于share值是实时计算得到的,因此会根据队列分配资源的饱和程度而实时变化,为了更加直观的表示队列优先级同时支持用户自行配置,Volcano在share值的基础上为队列新增了priority字段,支持用户配置队列优先级,priority越高则表示队列优先级越高,会优先分配资源给高优先级的队列,并且在回收队列资源时会优先回收低优先级队列内的作业。队列优先级定义:type QueueSpec struct { ... // Priority define the priority of queue. Higher values are prioritized for scheduling and considered later during reclamation. // +optional Priority int32 `json:"priority,omitempty" protobuf:"bytes,10,opt,name=priority"` }同时为了兼容share值的使用方式,Volcano在计算队列优先级时也会考虑share值,默认情况下用户不设置队列优先级或者队列的优先级相等时,Volcano会再比较队列的share值,此时share越小队列优先级越高。用户可以根据实际场景选择设置不同的优先级策略,即priority和share两种方式。关于队列优先级设计文档,请参考:Queue Priority[3]▶ 支持细粒度的GPU资源共享与回收Volcano在v1.9版本发布了弹性队列容量capacity调度功能,用户可以直接为队列设置每一维度资源的容量,同时支持基于deserved的队列弹性容量调度,实现了更加细粒度的队列资源共享和回收机制。弹性队列容量capacity调度的设计文档请参考:Capacity scheduling Design[4]使用指导请参考:Capacity Plugin User Guide[5]为队列配置每一维度deserved使用样例:apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: demo-queue spec: reclaimable: true deserved: # set the deserved field. cpu: 64 memeory: 128Gi nvidia.com/a100: 40 nvidia.com/v100: 80在v1.10版本中,Volcano在弹性队列容量capacity的基础上,支持了上报不同型号的GPU资源,NVIDIA默认的Device Plugin在上报GPU资源时无法区分GPU型号,统一上报为nvidia.com/gpu,AI训推任务无法根据业务特点选择不同型号的GPU,比如A100、T4等型号的GPU,为了解决这一问题,以满足不同类型的AI任务需求,Volcano在Device Plugin层面支持上报不同型号的GPU资源到节点,配合capacity插件实现更加细粒度的GPU资源共享和回收。关于Device Plugin上报不同型号GPU的实现和使用指导,请参考:GPU Resource Naming[6]注意:capacity在v1.10.0版本中作为了默认的队列管理插件,capacity与proportion插件互相冲突,当升级到v1.10.0后,你需要再设置队列的deserved字段,以保证队列功能正常工作,具体的使用说明请参考:Capacity Plugin User Guide[7]capacity插件根据用户指定的队列deserved值来划分集群资源,而proportion插件则根据队列权重动态划分集群资源,用户可以根据实际场景选择使用capacity或者proportion插件进行队列管理。proportion插件的介绍请参考:proportion plugin[8]▶ 支持Pod Scheduling Readiness调度Pod 一旦创建就被认为已准备好进行调度,在 Kube-scheduler 中,它会尽力寻找合适的节点来放置所有Pending的 Pod。然而,在现实情况下,某些 Pod 可能会长时间处于“缺少必要资源”状态,这些 Pod 实际上以不必要的方式干扰调度程序(以及 Cluster AutoScaler 等下游组件)的决策和运行,造成资源浪费等问题。Pod Scheduling Readiness是 Kube-sheduler 的一项新增功能,在Kubernetes v.1.30版本GA,成为了一个稳定特性,它通过设置Pod的schedulingGates字段来控制Pod的调度时机。pod-scheduling-gates-diagram在前面的版本中,Volcano已集成了K8s默认调度器的所有算法,全面涵盖了Kube-scheduler的原生调度功能。因此,Volcano能够无缝替代Kube-scheduler,作为云原生平台下的统一调度器,支持微服务和AI/大数据工作负载的统一调度。在最新发布的v1.10版本中,Volcano更是引入了Pod Scheduling Readiness调度能力,进一步满足了用户在多样化场景下的调度需求。关于Pod Scheduling Readiness特性的文档,请参考:Pod Scheduling Readiness | Kubernetes[9]Volcano支持Pod Scheduling Readiness调度的设计文档,请参考:Proposal for Support of Pod Scheduling Readiness by ykcai-daniel · Pull Request #3581 · volcano-sh/volcano (github.com)[10]▶ 支持Sidecar container调度Sidecar container是一种相对于业务容器而言的辅助容器,通常用来辅助业务容器的运行,比如收集业务容器日志、监控、初始化网络等。在Kubernetes v1.28之前,Sidecar container只是一种概念,并没有单独的API来标识一个容器是否是Sidecar container,Sidecar容器和业务容器处于同等地位,有着相同的生命周期,Kubelet会并发启动所有Sidecar容器和业务容器,这样带来的问题是Sidecar容器可能会在业务容器启动之后才启动,并且在业务容器结束之前先结束,而我们期望的是Sidecar容器先于业务容器启动,并在业务容器结束之后再结束,这样就能保证Sidecar容器收集的日志,监控等信息是完整的。Kubernetes v1.28在API层面支持了Sidecar container,并对init container、Sidecar container、业务container做了统一的生命周期管理,同时调整了Pod的request/limit资源计算方式,该特性在v1.29成为Beta特性。该特性在设计阶段经历了漫长的讨论时间,特性本身并不复杂,主要的考虑点在于兼容旧的使用方式,如果定义一个除了init container、业务容器之外的新的容器类型,会对API有较大的破坏性,同时周边组件适配该特性的话会有较多的侵入式修改,带来很多额外开销,因此Kubernetes社区并没有引入新的容器类型来支持Sidecar container,而是直接复用了init container,通过设置init container的restartPolicy为Always来标识Sidecar container,完美的解决了API兼容性问题和Sidecar容器的生命周期问题。在调度层面,该特性的影响在于Pod申请的request资源计算方式有所变化,因为Sidecar container作为一种特殊的init container是持久运行的,需要将Sidecar container的request值累加到业务容器的request值上,因此需要重新计算init container、Sidecar container和业务容器的资源request值。Volcano调度器在新版本更改了Sidecar container的资源计算方式,支持了Sidecar container的调度,用户可以使用Volcano调度Sidecar container。关于Sidecar container的详细信息,请参考:Sidecar Containers | Kubernetes[11]▶ 增强vcctl命令行工具功能vcctl是操作Volcano内置CRD资源的一个命令行工具,可以方便的用来查看/删除/暂停/恢复vcjob资源,并支持查看/删除/开启/关闭/更新queue资源。Volcano在新版本对vcctl做了功能增强,新增以下功能:支持创建/删除/查看/描述jobflow和jobtemplate资源支持查询指定队列里的vcjob支持通过queue和vcjob过滤查询Podvcctl的详细指导文档,请参考:vcctl Command Line Enhancement[12]▶ Volcano支持Kubernetes v1.30Volcano版本紧跟Kubernetes社区版本节奏,对Kubernetes的每个大版本都进行支持,目前最新支持的版本为v1.30,并运行了完整的UT、E2E用例,保证功能和可靠性。如果您想参与Volcano适配Kubernetes新版本的开发工作,请参考:adapt-k8s-todo[13] 进行社区贡献。▶ 增强Volcano安全性Volcano一直都很重视开源软件供应链的安全,在license合规、安全漏洞披露和修复、仓库分支保护、CI检查等方面遵循OpenSSF定义的规范,Volcano近期在Github Action加入了新的workflow,它会在代码合入时运行OpenSSF安全性检查,并实时更新软件安全评分,持续提升软件安全性。同时Volcano对各个组件的RBAC权限进行了收缩,只保留必要的权限,避免了潜在的越权风险,提升了系统的安全性。相关PR参见:Added the scorecard github action and its badge by harshitasao · Pull Request #3655 · volcano-sh/volcano[14]Shrink permissions of vc scheduler & controller by Monokaix · Pull Request #3545 · volcano-sh/volcano (github.com)[15]Add pre-install&pre-upgrade hook for admission-init job by Monokaix · Pull Request #3504 · volcano-sh/volcano (github.com)[16]▶ 优化Volcano性能在大规模场景下,Volcano做了很多性能优化的工作,主要包括:优化vcjob更新策略,降低vcjob的更新和同步频次,降低API Server压力,提升提交任务的QPSvc controller新增controller gate开关,用户可以选择关闭不需要的controller,减低内存占用和CPU负载所有的controller使用共享的informer,减少内存占用▶ 提升GPU监控功能新版本的Volcano针对GPU监控指标做了优化和增强,修复了GPU监控不精确的问题,并在GPU的算力和显存监控指标上新增了节点信息,方便用户更加直观的查看每个节点上每一张GPU的算力、显存的总量和已分配量。详细PR参见:Update volcano-vgpu monitoring system by archlitchi · Pull Request #3620 · volcano-sh/volcano (github.com)[17]▶ 优化helm chart包安装升级流程Volcano针对helm chart的安装、升级流程进行了优化,并支持安装helm chart包设置更多自定义参数,主要包括:利用helm的hook机制,在安装成功Volcano之后,自动删除volcano-admission-init这一job,避免后续使用helm upgrade升级失败的问题,相关PR参见:Add pre-install&pre-upgrade hook for admission-init job by Monokaix · Pull Request #3504 · volcano-sh/volcano (github.com)[18]每次安装成功后更新Volcano admission需要的secret文件,避免在不指定helm包名情况下,重复安装卸载volcano导致volcano admission处理失败的问题,详细PR参见:Update volcano-admission secret when it already exists by Monokaix · Pull Request #3653 · volcano-sh/volcano (github.com)[19]支持为helm包中的资源对象设置通用label,相关PR参见:Add common labels for chart objects by Aakcht · Pull Request #3511 · volcano-sh/volcano (github.com)[20]支持通过helm为Volcano组件设置日志等级,相关PR参见:Expose volcano components (controller, scheduler, etc.) log level control to the helm chat values by chenshiwei-io · Pull Request #3656 · volcano-sh/volcano (github.com)[21]支持通过helm设置Volcano组件的镜像代理仓库,相关PR参见:add image registry for helm by calvin0327 · Pull Request #3436 · volcano-sh/volcano (github.com)[22]支持通过helm设置容器级别的securityContext,相关PR参加:feat: Add securityContext support at container level in helm chart templates by lekaf974 · Pull Request #3704 · volcano-sh/volcano (github.com)[23]致谢贡献者Volcano 1.10.0 版本包含了来自36位社区贡献者的上百次代码提交,在此对各位贡献者表示由衷的感谢:贡献者GitHub ID@googs1025@WulixuanS@SataQiu@guoqinwill@lowang-bh@shruti2522@lukasboettcher@wangyysde@bibibox@Wang-Kai@y-ykcir@lekaf974@yeahdongcn@Monokaix@Aakcht@yxxhero@babugeet@liuyuanchun11@MichaelXcc@william-wang@lengrongfu@xieyanker@lx1036@archlitchi@hwdef@wangyang0616@microyahoo@snappyyouth@harshitasao@chenshiwei-io@TaiPark@Aakcht@ykcai-daniel@lekaf974@JesseStutler@belo4ya参考资料[1] v1.10.0版本: cid:link_6[2] Branch:release-1.10: cid:link_7[3] Queue Priority: cid:link_3[4] Capacity scheduling Design: cid:link_2[5] Capacity Plugin User Guide: cid:link_1[6] GPU Resource Naming: cid:link_5[7] Capacity Plugin User Guide: cid:link_1[8] proportion plugin: https://volcano.sh/en/docs/plugins/#proportion[9] Pod Scheduling Readiness | Kubernetes: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-scheduling-readiness/[10] Proposal for Support of Pod Scheduling Readiness by ykcai-daniel · Pull Request #3581 · volcano-sh/volcano (github.com): cid:link_10[11] Sidecar Containers | Kubernetes: https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/[12] vcctl Command Line Enhancement: cid:link_0[13] adapt-k8s-todo: cid:link_4[14] Added the scorecard github action and its badge by harshitasao · Pull Request #3655 · volcano-sh/volcano: cid:link_11[15] Shrink permissions of vc scheduler & controller by Monokaix · Pull Request #3545 · volcano-sh/volcano (github.com): cid:link_12[16] Add pre-install&pre-upgrade hook for admission-init job by Monokaix · Pull Request #3504 · volcano-sh/volcano (github.com): cid:link_13[17] Update volcano-vgpu monitoring system by archlitchi · Pull Request #3620 · volcano-sh/volcano (github.com): cid:link_9[18] Add pre-install&pre-upgrade hook for admission-init job by Monokaix · Pull Request #3504 · volcano-sh/volcano (github.com): cid:link_13[19] Update volcano-admission secret when it already exists by Monokaix · Pull Request #3653 · volcano-sh/volcano (github.com): cid:link_14[20] Add common labels for chart objects by Aakcht · Pull Request #3511 · volcano-sh/volcano (github.com): cid:link_15[21] Expose volcano components (controller, scheduler, etc.) log level control to the helm chat values by chenshiwei-io · Pull Request #3656 · volcano-sh/volcano (github.com): cid:link_16[22] add image registry for helm by calvin0327 · Pull Request #3436 · volcano-sh/volcano (github.com): cid:link_17[23] feat: Add securityContext support at container level in helm chart templates by lekaf974 · Pull Request #3704 · volcano-sh/volcano (github.com): cid:link_18【更多Volcano干货推荐】Volcano云原生批量计算公开课Volcano云原生批量计算公开课Volcano云原生批量计算公开课由CNCF首个批量计算社区Volcano核心贡献者开发,通过理论学习+实践操作,帮助学习者由浅入深了解批量计算原理和生产场景应用,晋升批量计算达人!点击免费学习Volcano云原生批量计算公开课社区介绍:Volcano 是业界首个云原生批量计算引擎,也是 CNCF 首个和唯一的批量计算项目。项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,已完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、Mxnet、KubeGene、Ray 等众多主流计算框架的支持,并构建起完善的上下游生态。Volcano官网:https://volcano.shGitHub: cid:link_19每周例会: https://zoom.us/j/91804791393
-
因参与楼层不满足开奖条件,本活动不开奖。-------------------------------------------------------------------参加“玩转AI大数据,免费体验Volcano云原生批量调度引擎!”项目在本活动帖下回帖,提出你的问题与建议有机会获得开发者定制礼品【体验项目】玩转AI大数据,免费体验Volcano云原生批量调度引擎!【体验简介】Volcano为用户与开发者提供AI、大数据、基因、渲染等诸多高性能计算场景解决方案,了解Volcano技术栈,Get云原生AI等领域调度部署技能,为您的企业获取AI大数据场景调度方案!【体验形式】1、点击Volcano云原生批量计算公开课路径2、选择课程方向体验学习3、前往Volcano云原生批量计算社区实践部署,自定义调度方案【活动时间】2024年9月13-10月12日【参与方式】直接在此活动帖下方回帖,将体验完成的截图和您的问题/建议/感受一起回帖即可比如体验中遇到的问题,对产品的建议、对活动感受等等PS:不要少于30字哦~【获奖规则】可提前填写获奖信息收集表,后续如您中奖,我们会及时发货,谢谢。获奖信息收集表: cid:link_0【活动规则】1、本帖的回帖建议不少于30字,仅限于对“玩转AI大数据,免费体验Volcano云原生批量调度引擎!”体验项目,其他项目建议不参与此次活动,否则将视为无效内容。2、本次活动将根据实际参与情况发放奖励,包括但不限于用户百分之百中奖或奖项轮空的情况;实物奖品具体发放视出库情况而定; 3、活动预计于结束后七天内完成奖项公示,并于结束后15个工作日内完成邮寄。【温馨提示】1、请务必使用个人实名账号参与活动(IAM、企业账号等账号参与无效)。如一个实名认证对应多个账号,只有一个账号可领取奖励,若同一账号填写多个不同收件人或不同账号填写同一收件人,均不予发放奖励。2、所有获得奖品的获奖用户,请于获奖后3日内完成实名认证,否则视为放弃奖励。
-
北京时间2024年5月21日,Volcano社区v1.9.0版本正式发布,此次版本增加了以下新特性:支持弹性队列容量capacity调度支持队列与节点间的亲和调度Volcano支持Kubernetes v1.29GPU共享支持节点打分调度增强scheduler metrics指标新增License合规性检查提升调度稳定性Volcano是业界首个云原生批量计算项目,于2019年6月在上海 KubeCon 正式开源,并在2020年4月成为 CNCF 官方项目。2022年4月,Volcano 正式晋级为CNCF 孵化项目。Volcano 社区开源以来,受到众多开发者、合作伙伴和用户的认可和支持。截至目前,累计有600+全球开发者参与社区贡献。支持弹性队列容量capacity调度Volcano现在使用proportion插件来进行队列管理,用户可以设置队列的guarantee、capability等字段来设置队列的预留资源和容量上限。并通过设置队列的weight值来实现集群内的资源共享,队列按照weight值按比例划分集群资源,但这种队列管理方式存在以下问题:队列划分的资源容量通过权重体现,不够直观。队列内的所有资源使用相同的比例进行划分,不能为队列的每一维资源单独设置容量。基于以上考虑,Volcano实现了新的队列弹性容量管理能力,它支持:用户可以直接为队列设置每一维度资源的容量,而不是设置weigh值来实现。基于deserved的队列弹性容量调度,支持队列的资源共享和回收。比如在AI大模型训练中分别为队列中不同的GPU型号如A100和V100,设置不同的资源容量。同时在集群资源空闲时,队列可以复用其他空闲队列的资源,并在需要时进行资源回收,直到回收到用户为队列设置的资源容量为止,即应得资源量deserved,从而实现弹性容量能力。使用改功能时需要设置队列的deserved字段,为每一维资源设置应得资源量。同时需要在调度配置中打开capacity插件,并关闭proportion插件。apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: demo-queue spec: reclaimable: true deserved: # set the deserved field. cpu: 64 memeory: 128Gi nvidia.com/a100: 40 nvidia.com/v100: 80队列弹性容量调度的完整使用例子,请参考:How to use capacity plugin[1]关于弹性队列容量设计文档,请参考Capacity scheduling Design[2]支持队列与节点间的亲和调度队列通常关联着公司内的部门,而不同部门通常需要使用不同的异构资源类型,比如大模型训练团队需要使用NIVDIA的Tesla GPU,而推荐团队需要使用AMD的GPU,当用户提交作业到队列时,需要根据队列的属性将作业自动调度到对应资源类型的节点上。为此Volcano实现了队列和节点的亲和调度能力,用户只需在队列的affinity字段设置需要亲和的节点标签,Volcano会自动将提交到当前队列的作业调度到队列关联的节点上,用户无需单独设置作业的亲和性,而只需统一设置队列的亲和性,提交到队列的作业都会根据队列与节点的亲和性将作业调度到对应的节点。该特性同时支持硬亲和、软亲和、反亲和调度,使用时需要为节点设置key为volcano.sh/nodegroup-name的标签,然后设置队列的affinity字段,指定硬亲和、软亲和和反亲和的标签值。例如如下的队列设置,表示提交到该队列的作业需要调度到标签值为groupname1和groupname2的节点,并优先调度到标签值为groupname2的节点,同时,作业不能调到到标签值为groupname3和groupname4的节点,当资源不足时则也可以调度到标签值为groupname3的节点上。apiVersion: scheduling.volcano.sh/v1beta1 kind: Queue metadata: name: default spec: reclaimable: true weight: 1 affinity: # added field nodeGroupAffinity: requiredDuringSchedulingIgnoredDuringExecution: - <groupname1> - <groupname2> preferredDuringSchedulingIgnoredDuringExecution: - <groupname1> nodeGroupAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - <groupname3> - <gropuname4> preferredDuringSchedulingIgnoredDuringExecution: - <groupname3>该功能对应的调度插件名为nodegroup,完整使用例子请参考:How to use nodegroup plugin[3]详细设计文档请参考:The nodegroup design[4]GPU共享功能支持节点打分调度GPU共享是Volcano v1.8版本推出的GPU共享与隔离方案,提供GPU共享、设备显存控制能力,以提升AI训练推理场景下GPU资源利用率低的问题。v1.9在该功能基础上新增了对GPU节点打分的策略,从而可以在作业分配时选择最优的节点,进一步提升资源利用率,用户可以设置不同的打分策略。目前支持以下两种策略:Binpack:提供GPU卡粒度的binpack算法,优先把一个节点上的已经分配了资源的GPU卡占满,避免资源碎片和浪费。Spread:优先使用空闲的GPU卡而不是已经分配了资源的共享卡。详细使用文档请参考:How to use gpu sharing[5]Volcano支持Kubernetes v1.29Volcano版本紧跟Kubernetes社区版本节奏,对Kubernetes的每个大的基数版本都进行支持,目前最新支持的版本为v1.29,并运行了完整的UT、E2E用例,保证功能和可靠性。如果您想参与Volcano适配Kubernetes新版本的开发工作,请参考:https://github.com/volcano-sh/volcano/pull/3459 进行社区贡献。增强scheduler metrics指标Volcano使用了client-go客户端和Kubernetes交互,尽管客户端可以设置QPS来避免请求被限流,但是客户端实际使用的QPS到底达到了多少却很难观察到,为了实时观测到客户端请求的频率,Volcano新增了client-go客户端的metrics指标,用户可以通过访问metrics接口,查看GET、POST等请求在每秒钟的请求数量,从而确定每秒钟实际使用的QPS,以此决定是否需要调整客户端设置的QPS。同时client-go的相关指标还包括客户端证书轮转周期统计、每个请求的response size统计等。用户可以使用curl http://$volcano_scheduler_pod_ip:8080/metrics 来获取volcano scheduler的所有详细指标。详细PR见:[feat] Add rest client metrics by Monokaix · Pull Request #3274 · volcano-sh/volcano (github.com)[6]新增License合规性检查为了增强Volcano社区开源license合规治理规范,避免引入传染性开源协议,规避潜在风险,Volcano社区引入了开源license合规检查工具,所谓传染性协议指的是使用了该协议作为开源许可的软件在修改、使用、复制之后生成的衍生作品,也必须以该协议进行开源。开发者提交的PR会引入的三库如果包含了传染性开源协议比如GPL,LGPL等,CI门禁会进行拦截,开发者需要将三方库替换为松自由软件许可协议比如MIT、Apache 2.0,BSD等,以通过开源license合规检查。提升调度稳定性Volcano v1.9.0版本在抢占、调度失败重试、避免内存泄露、安全性增强等方面做了较多优化,具体内容包括:修复极端情况下deployment频繁扩缩容导致的pod无法调度的问题,详见PR:[cherry-pick for release-1.9]fix PodGroup being incorrectly deleted due to frequent creation and deletion of pods by guoqinwill · Pull Request #3376 · volcano-sh/volcano (github.com)[7]修复Pod抢占问题:详见PR:ignore PredicateFn err info for preempt & reclaim scheduler plugin by LivingCcj · Pull Request #3458 · volcano-sh/volcano (github.com)[8]优化Pod调度失败重试机制:详见PR:fix errTask channel memory leak by bibibox · Pull Request #3435 · volcano-sh/volcano (github.com)[9]metrics指标优化:详见PR:Fix queue metrics when there are no jobs in it by Monokaix · Pull Request #3463 · volcano-sh/volcano (github.com)[10]安全性增强:详见PR:Remove list secret in controller ClusterRole by lekaf974 · Pull Request #3449 · volcano-sh/volcano (github.com)[11]致谢贡献者Volcano 1.9.0 版本包含了来自多位社区贡献者的代码提交,在此对各位贡献者表示由衷的感谢:贡献者GitHub ID@daniel-hutao@wuyueandrew@googs1025@7sunarni @flyingfang@LivingCcj@guoqinwill@panoswoo@william-wang@lekaf974@yangqz@lowang-bh@loheagn@hwdef@archlitchi@Lily922@bibibox@Monokaix@belo4ya参考资料:[1] How to use capacity plugin: cid:link_1[2] Capacity scheduling Design: cid:link_3[3] How to use nodegroup plugin: cid:link_0[4] The nodegroup design: cid:link_4[5] How to use gpu sharing: cid:link_2[6] [feat] Add rest client metrics by Monokaix · Pull Request #3274 · volcano-sh/volcano (github.com): cid:link_8[7] [cherry-pick for release-1.9]fix PodGroup being incorrectly deleted due to frequent creation and deletion of pods by guoqinwill · Pull Request #3376 · volcano-sh/volcano (github.com): cid:link_9[8] ignore PredicateFn err info for preempt & reclaim scheduler plugin by LivingCcj · Pull Request #3458 · volcano-sh/volcano (github.com): cid:link_6[9] fix errTask channel memory leak by bibibox · Pull Request #3435 · volcano-sh/volcano (github.com): cid:link_7[10] Fix queue metrics when there are no jobs in it by Monokaix · Pull Request #3463 · volcano-sh/volcano (github.com): cid:link_10[11] Remove list secret in controller ClusterRole by lekaf974 · Pull Request #3449 · volcano-sh/volcano (github.com): cid:link_11
-
📮滴,学生卡!您已收到来自Volcano社区的开源之夏邀请~Volcano是业界首个云原生批量计算社区,也是 CNCF 首个及唯一孵化级批量计算项目。Volcano主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。社区已吸引5.8万+全球开发者,并获得3.8k+Star 和800+ Fork,参与贡献企业包括华为、AWS、百度、腾讯、博云、京东、小红书、第四范式、bilibili等。🏷️社区地址:https://github.com/volcano-sh/volcano 目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到广泛应用,完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、Mxnet、KubeGene、Ray 等众多主流计算框架的支持,并构建起完善的上下游生态。Volcano社区已连续4年加入开源之夏,并在今年带来5项课题,欢迎高校同学选报,报名时间4月30日-6月4日。开源之夏是由中国科学院软件研究所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。▍Volcano社区开源之夏2024课题课题一:Volcano支持Pod Scheduling Readiness调度项目编号:243ba0503项目难度:基础/Basic项目社区导师:常旭征导师联系邮箱:cxz2536818783@gmail.com项目简述:Pod 一旦创建就被认为已准备好进行调度。在 kube-scheduler 中,它会尽职尽责地寻找节点来放置所有待处理的 Pod。然而,在现实情况下,某些 Pod 可能会长时间处于“缺少必要资源”状态。这些 Pod 实际上以不必要的方式干扰调度程序(以及 Cluster AutoScaler 等下游组件),造成资源浪费等问题。Pod Scheduling Readiness是 kube-sheduler 的一项稳定功能。它通过设置Pod的schedulingGates字段来控制Pod的调度时机。Volcano也应该支持该功能,以增强调度功能,避免无意义的调度,提升调度效率,进行调度准入等。参考:https://kubernetes.io/docs/concepts/scheduling-eviction/pod-scheduling-readiness/项目链接:https://summer-ospp.ac.cn/org/prodetail/243ba0503?list=org&navpage=org课题二:Volcano支持多集群AI任务调度中的队列容量管理能力项目编号:243ba0505项目难度:进阶/Advanced项目社区导师:王龙辉(lowang-bh)导师联系邮箱:lhui_wang@163.com项目简述:随着AI大模型的迅速发展,单个K8s集群由于资源和性能瓶颈,已越来越不能满足大模型AI作业训练的需求,越来越多的用户使用多集群来管理和运行AI作业,Volcano正在支持多集群AI作业的任务调度,这其中涉及到多集群的作业管理、多租户任务公平调度,队列管理等系列需求。多集群编排系统Karmada已逐渐成为业界标准,Volcano需要基于Karmada现有的能力,构建多集群场景下的AI作业调度能力,弥补Karmada调度方面缺失的队列管理等能力,以解决多集群场景下AI作业任务调度、队列管理、多租户配额管理问题。项目链接:https://summer-ospp.ac.cn/org/prodetail/243ba0505?list=org&navpage=org课题三:Volcano支持弹性层级队列管理项目编号:243ba0509项目难度:进阶/Advanced项目社区导师:李鑫导师联系邮箱:hwdefcom@outlook.com项目简述:在云原生AI任务调度场景下,公平调度和资源利用率是用户比较关注的问题,Volcano社区已经构建了弹性队列管理插件capacity,以支持细粒度的资源借入借出和队列管理,提升资源利用率,但在实际场景中,队列通常是层级的,对应公司团队的层级组织架构,为了更加符合实际的队列使用场景,进一步提升AI任务调度的资源利用率,Volcano需要在capacity的基础上支持层级队列管理能力。项目链接:https://summer-ospp.ac.cn/org/prodetail/243ba0509?list=org&navpage=org课题四:云原生批量计算项目Volcano UI & Monitor系统项目编号:243ba0574项目难度:基础/Basic项目社区导师:王雷博导师联系邮箱:wangleibo1@huawei.com项目简述:作为首个云原生批量计算项目Volcano,提供了丰富的功能和优异的性能,帮助用户提升AI和大数据的性能以及提升整体资源利用率,然而对于很多用户来说,Volcano因为缺少前端UI以及监控,整体的使用成本以及学习曲线较高,尤其是对于集群管理员,无法通过UI对队列、作业进行管理以及无法直观的查看资源的总量、余量以及作业的进度等。该项目将设计和实现一套Volcano项目的前端UI,该UI具体包含如下内容:1. 集群资源信息查看2. 队列管理2.1 查看队列 ( reservation, min, max, allocated resource, job数量等)2.2 配置队列(reservation,min, max)3. 工作负载3.1 查看Job状态3.2 配置Job的关键属性4. 配置调度器的调度策略项目链接:https://summer-ospp.ac.cn/org/prodetail/243ba0574?list=org&navpage=org课题五:Volcano 性能基准测试和压力测试项目难度:243ba0576项目难度:进阶/Advanced项目社区导师:汪洋导师联系邮箱:wysea1990@163.com项目简述:Volcano开源项目提供了丰富的作业管理、队列管理、调度策略等功能,目前缺少一套公开的性能测试和压力基准测试。如果有一份性能基准测试报告,它将会帮助大数据用户以及HPC用户快速评估是否可以将他们的业务从传统软件迁移到Kubernetes和Volcano系统。同时也有利于新研发算法的有效性评估。本课题目标是设计和实现一套性能测试的方法以及标准,然后进行充分的性能及压力测试,最终提供一份报告。项目链接:https://summer-ospp.ac.cn/org/prodetail/243ba0576?list=org&navpage=org▍如何报名开源之夏Volcano课题?报名对象本活动面向年满 18 周岁的高校在校学生。暑期即将毕业的学生,只要申请时学生证处在有效期内,就可以报名活动。中国籍学生参与活动时需提供身份证、学生证、教育部学籍在线验证报告(学信网)或在读证明。外籍学生参与活动时需提供护照,同时提供录取通知书、学生卡、在读证明等文件用于证明学生身份。4月30日-6月4日,符合条件的学生可以通过开源之夏官网(https://summer-ospp.ac.cn/)注册、与导师沟通项目并提交项目申请。▶ 与导师建立沟通对Volcano社区开源之夏课题感兴趣的同学,可以通过本文上方导师邮箱或社区宣讲等方式,提前联系导师沟通课题要求,了解与锁定适合自己的项目;▶ 准备项目申请材料提交申请1. 查看学生指南(https://summer-ospp.ac.cn/help/student/)中的【项目申请模板】,并根据要求准备相关材料。2.点击项目主页中的【加入备选】按钮,进入系统个人中心【我的项目】中点击【查看】按钮,上传简历及项目申请书;3. 对所有项目申请书进行优先级排序,若同时被多个项目选中,则根据提交的项目排序,优先中选优先级高的项目;4. 点击【排序并提交】按钮提交全部项目申请。▶ 学生可以收获什么?结识开源界小伙伴和技术大牛获得社区导师的专业指导,与开源项目开发者深度交流丰富项目实践经验,提升项目开发技能为学习方向提供参考,为职业发展积累人脉通过结项考核的学生将获得结项奖金和结项证书(基础难度税前8000元RMB,进阶难度税前12000元RMB),更有机会获选优秀学生▍Volcano社区技术交流与联系添加社区小助手k8s2222回复Volcano开源之夏进入技术交流群
-
在 KubeCon + CloudNativeCon North America 2022 ,ING集团发表了《Efficient Scheduling Of High Performance Batch Computing For Analytics Workloads With Volcano - Krzysztof Adamski & Tinco Boekestijn, ING》主题演讲,重点介绍了云原生批量计算项目Volcano如何在数据管理平台中为大数据分析作业提供高性能调度工作。详情参见:KubeCon + CloudNativeCon North America ▎ING背景介绍ING集团(荷兰语:Internationale Nederlanden Groep),亦名荷兰国际集团,是一个国际金融服务私营企业,成立于1991年,由荷兰最大的保险公司Nationale-Nederlanden,与荷兰的第三大银行NMB PostBank Group合并而成。ING集团的服务遍及全球40多个国家,核心业务是银行、保险及资产管理等。ING集团的全球职员大约56,000人,顾客5320万人,包括自然人、家庭,企业、政府及其他等,例如基金组织。务背▎业务背景介绍在银行行业有许多法规和限制,如:监管要求在全球范围内各不相同、数据孤岛-全局和本地限制、数据安全、合规创新等,想要快速引入新技术不是一件容易的事情,为此,ING布局符合自身产业的DAP平台(Data Analytics Platform),为全球50%的ING员工提供安全的、自助的端到端分析能力,帮助员工在数据平台之上构建并解决业务问题。2013年开始我们有了数据平台的概念,2018年通过引入云原生技术打造新一代基础设施平台,从那时起,平台需求有了稳定的增长,采用率也在持续提升,目前数据索引平台上的项目已超过400个。我们所构建的平台目标是在高度安全的自助服务平台中完成所有分析需求,并且具备以下特点:开源工具模型强大的计算能力严格的安全和合规措施所有的分析集中在同一个平台满足全球和本地需求▎挑战与方案目前我们在由传统的Hadoop平台向Kubernetes过渡,但是对于作业管理和多框架支持方面还存在一些挑战,如下:1.Job的管理a.Pod级调度,无法感知上层应用b.缺乏细粒度的生命周期管理c.缺乏任务依赖关系,作业依赖关系2.调度a.缺少基于作业的调度,如:排序、优先级、抢占、公平调度、资源预定等b.缺少足够的高级调度算法,如:CPU拓扑、任务拓扑、IO-Awareness,回填等c.缺少对作业、队列、命名空间之间资源共享机制的支持3.多框架支持a.对Tensorflow、Pytorch等框架的支持不足b.对每个框架部署(资源规划、共享)等管理比较复杂利用Kubernetes来管理应用服务(无状态应用、甚至是有状态应用)是非常方便的,但是对于批量计算任务的调度管理不如yarn友好,同样yarn也存在一些限制,比如对新框架的支持不够完善,比如TensorFlow、Pytorch等,为此,我们也在寻找新的解决方案。▍Kubernetes + Hadoop在我们之前的集群管理上,会把Hadoop和Kubernetes的调度分开,基本上所有的spark作业都会运行在Hadoop集群中,其他的一些任务和算法会运行在Kubernetes集群,我们的目标是希望所有的任务全部运行在Kubernetes集群,这样管理起来会更简单。Kubernetes和YARN共同工作时,由于Kubernetes和Hadoop资源是静态划分的,在正常办公时间,Hadoop应用和Kubernetes各自使用自身分配资源,即便spark任务压力大也无法借用更多资源。夜晚时间,集群中仅有批处理任务,Kubernetes资源全部空闲,却无法分配给Hadoop进行有效利用,对于调度平台来讲,这不是一种最佳的资源分配方式。▍Kubernetes with Volcano使用Kubernetes管理整个集群,通过Volcano进行spark任务调度,此时不需要再对资源做静态划分,集群资源可根据Pod、Batch、Interactive任务的优先级、资源压力等进行动态调整,集群整体资源利用率得到极大提升。比如在正常办公时间内,常规服务应用资源空闲的情况下,Batch和Interactive应用资源需求增多时,可以暂时借用常规服务的资源;在假期和夜晚休息时,Batch业务可以使用集群所有资源进行数据计算,集群资源利用率得到极大提升。比如在正常办公时间内,常规服务应用资源空闲的情况下,Batch和Interactive应用资源需求增多时,可以暂时借用常规服务的资源;在假期和夜晚休息时,Batch业务可以使用集群所有资源进行数据计算,集群资源利用率得到极大提升。Volcano是专为Kubernetes而生的批处理调度引擎,其提供了以下能力:加权优先级的作业队列如果集群具有备用容量,可提交超过队列资源限制的任务当更多的pod被调度时,具备抢占能力丰富可配置的工作负载调度策略 5.兼容YARN的调度能力Volcano的引入,补齐了Kubernetes平台对批处理作业的调度管理能力,并且自Apache Spark 3.3版本以来,Volcano被作为Spark on Kubernetes的默认batch调度器,安装使用更方便。业务常用特性▍冗余与局部亲和Volcano保留Kubernetes中pod级别的亲和性反亲和性策略配置,并增加了task级别的亲和性和反亲和性策略。▍DRF(Dominant Resource Fairness)调度DRF调度算法的全称是Dominant Resource Fairness,是基于容器组Domaint Resource的调度算法。volcano-scheduler观察每个Job请求的主导资源,并将其作为对集群资源使用的一种度量,根据Job的主导资源,计算Job的share值,在调度的过程中,具有较低share值的Job将具有更高的调度优先级。比如集群资源总量为CPU:18C,Memory:72GB,两个用户分别是User1和User2,每个User分配1个队列,在提交作业时会根据主导资源计算job的调度优先级。User1: CPU share值为 6/18=0.33,Memory share值为 24 / 72 = 0.33,最终share值为0.33User2:CPU share值为 12/18=0.67,Memory share值为 24 / 72 = 0.33,最终share值为0.67DRF策略在任务调度时,优先分配share值较低的Job,即User1所申请的资源。集群内队列资源可以通过配置权重值进行划分,但是当本队列提交任务超出队列分配的资源,并且其他队列存在资源空闲时,可以进行队列间资源共享。即User2在使用完本队列CPU资源后,可以使用User1队列内的空闲CPU资源。当User1队列提交新任务需要CPU资源时,将会触发抢占动作,回收User1被其他队列借用的资源。▍避免资源匮乏在使用过程中,需要避免批量计算任务与自有服务出现资源抢占与冲突的问题。比如:我们集群中有两个可用节点,集群中需要部署一个统一的服务层对外提供服务,比如Presto,或者类似Alluxio的缓存服务。但是在批量计算调度时,集群的资源空间有可能全部被占用,我们将无法完成自有服务的部署或升级,为此我们增加了空间可用系数相关配置,为集群预留一些备用空间,用于自有服务的部署使用。▍DRF 仪表盘我们根据Volcano的监控数据做了一个drf调度的仪表盘,在不同层次显示更细粒度的调度信息。在业务集群中,我们有一个队列存放交互式用户的任务,另有队列存放平台运行的所有重大项目的计算任务,我们可以为重大项目队列提供一定的资源倾斜,但是此时对交互式用户的任务将不会太友好。目前我们正在考虑增加集群高峰时段展示的功能,为用户提供更多的集群使用状态和压力等信息,在自助服务平台用户视角来看,用户按照集群的繁忙程度选择自己任务的开始时间,这样可以避免后台复杂的配置就可以获得高性能的运算体验。总结Volcano对批处理任务调度做了很好的抽象,使我们在Kubernetes平台能够获得更高的调度性能,后面我们也会将开发的功能逐步回合社区,比如:DRF Dashboard、在每个节点添加空闲空间、自动队列管理、更多的Prometheus监控指标、Grafana仪表盘更新、kube-state-metrics更新和集群角色限制等。Volcano社区技术交流地址Volcano官网:https://volcano.shGitHub : cid:link_0每周例会: https://zoom.us/j/91804791393添加社区小助手k8s2222回复“Volcano”进入技术交流群
-
华为云海外首发CCI Serverless容器服务,释放数字生产力在MWC23 巴展期间,华为新产品解决方案发布会在2月27日下午成功举行。在发布会上,华为云全球Marketing与销售服务总裁石冀琳表示:我们希望通过“一切皆服务”的战略,为客户、伙伴和开发者提供稳定、可靠、安全、可持续的云服务。在本次发布会上,华为云海外首发CCI Serverless容器服务正式上线。基于serverless容器架构CCI,客户无需创建和管理服务器节点,即可直接运行容器应用,按需获取、智能运维,让客户只需专注应用开发,无需关注底层资源。具备业务领先的弹性能力,助力客户轻松应对超10倍的突发流量浪涌。CCI Serverless容器具备优势如下:• 聚焦应用免运维1. Serverless无服务器容器使用全新体验2. 客户无需管理服务器或集群• 极致计算性能1. 瑶光统一资源池,提供多种X86、AXD、鲲鹏等类型算力资源2. 全面升级资源拓扑管理能力,保障容器极致算力性能• 智能统筹弹性1. 30秒发放1000容器,满足极速弹性要求2. 支持跨云、跨集群、跨IDC对接的灵活弹性,全场景助力客户业务应对峰值流量 Serverless容器构筑极致性能、高效运维、丰富算力等差异化竞争力,打造大规模高性能云原生Serverless容器资源底座。Source : 华为官网新闻报道KubeEdge 社区 v1.13.0 版本发布,稳定性、安全性大幅提升KubeEdge社区v.1.13.0版本发布。作为2023年最新版本,v.1.13.0性能在稳定性、安全性等方面进大幅提升,其中重大更新如下:• 运行性能提升:对CloudCore 内存使用减少 40%,优化List-watch dynamicController处理,增加云端和边缘之间的list-watch同步机制,增加dynamicController watch gc机制。• 安全性能提升:成为CNCF首个达到软件供应链SLSA L3等级的项目;同时删除边缘节点配置文件 edgecore.yaml 中的 token 字段,消除边缘信息泄露的风险• 对Kuberbetes支持升级至v.1.23.15: 将vendered kubernetes版本升级到v1.23.15,用户现在可以在云端和边缘使用新版本的特性。• 基于 DMI 的 Modbus 映射器:提供基于DMI的Modbus Device Mapper,用于接入Modbus协议设备。• EdgeMesh:向边缘隧道模块添加了可配置字段 TunnelLimitConfigedge-tunnel模块的隧道流用于管理隧道的数据流状态。用户可以获得稳定、可配置的隧道流,保证用户应用流量转发的可靠性。KubeEdge云原生边缘计算社区于2022年完成多项关键突破,相继发布《KubeEdge单集群10万边缘节点报告》,《云原生边缘计算威胁模型及安全防护技术白皮书》,并于KubeEdge Summit 2022正式开源分布式协同AI基准测试平台Ianvs。目前项目已完成EdgeMesh高可用架构,KubeEdge on openEuler支持,KubeEdge on openHarmony支持,下一代云原生边缘设备管理框架DMI也将带来更全面的的性能支持与更优的用户体验。欢迎大家测试体验。cid:link_1CNCF持续重视软件供应链安全, KubeEdge成为首个达到SLSA L3等级的项目软件供应链安全持续受到高度关注,CNCF 和OSTIF (Open Source Technology Improvement Fund,开放源码技术改进基金)在过去几年中一直合作,为CNCF 的毕业和孵化项目进行安全审计,保障开源生态系统具有更好的安全性。最新的 OSTIF 报告公布了 2022 年下半年至 2023 年初开展的独立安全审计结果。获得审计通过的项目包含KubeEdge、Argo、Istio、Envoy、CloudEvents等12个项目:审计工作通过创建良好的指导性政策和项目成熟度模型,以及可重复的审计执行流程,以确定风险、威胁媒介并实施工具来改善项目的安全状况。提升项包含:在本次公布的社区中,KubeEdge社区早在2022年7月份,通过完成整个KubeEdge项目的第三方安全审计[2] ,发布《云原生边缘计算安全威胁分析和防护白皮书》,并根据安全威胁模型和安全审计的建议,对KubeEdge软件供应链进行持续安全加固,为本次SLSA L3等级的达成做了充分的准备。在2023年1月18日,社区发布v1.13.0版本,该版本达到SLSA[1] L3等级标准(包括二进制和容器镜像构件),KubeEdge 成为CNCF社区首个达到SLSA L3等级的项目。以下表格展示了KubeEdge在Source、Build、Provenance、Common中的达标情况(Y表示KubeEdge已达标,空格表示SLSA在该等级下未要求):RequirementL1L2L3L4SourceVersion controlledYYYVerified historyYYRetained indefinitelyYYTwo-person reviewedYBuildScripted buildYYYYBuild serviceYYYBuild as codeYYEphemeral environmentYYIsolatedYYParameterlessYHermeticYProvenanceAvailableYYYTo-doAuthenticatedYYTo-doService generatedYYTo-doNon-falsifiableYTo-doDependencies completeTo-doCommonSecurityYAccessYSuperusersY为什么达到SLSA L3等级对开源项目至关重要软件供应链完整性攻击(对软件包的未经授权的修改)在过去三年中呈上升趋势。SLSA在KubeEdge项目软件供应链安全中发挥着重要作用,基于sigstore社区提供的能力,从源码到发布产物,对软件供应链端到端的整个流程进行签名和校验,确保KubeEdge软件供应链安全。自v1.13.0版本开始, KubeEdge 可以端到端的从源码构建到发布流程进行安全加固,保障用户获取到的二进制或容器镜像产物不被恶意篡改。基于SLSA安全框架,可以潜在地加强软件构件的完整性。SLSA提供端到端的指导原则,可以作为软件的一组防御措施,并防止对组成软件产品的软件包的篡改或任何类型的未经授权的修改。采用SLSA框架可以保护项目软件免受常见的供应链攻击。参考资料[1] SLSA官网:https://slsa.dev/[2] KubeEdge项目第三方安全审计:cid:link_0Karmada v1.5 新增多调度组助力成本优化Karmada 是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署和运维业务应用。在最新发布的1.5版本中,Karmada 提供了多调度组的能力,利用该能力,用户可以实现将业务优先调度到成本更低的集群,或者在主集群故障时,优先迁移业务到指定的备份集群。本版本其他新增特性:• 提供了多调度器支持能力,默认调度器可以与第三方自定义调度器协同工作,提供更强的定制能力。• 集群差异化配置策略(OverridePolicy/ClusterOverridePolicy)将按照隐式的优先级进行应用。• 内置资源解释器支持聚合StatefulSet/CronJob 状态。Karmada v1.5版本API兼容v1.4版本API,v1.4版本的用户仍然可以平滑升级到v1.5版本Volcano 社区 v1.7.0 版本正式发布,提升云原生调度能力,强化AI、大数据场景适用度北京时间2023年1月9日,Volcano社区v1.7.0版本正式发布。Volcano是业界首个云原生批量计算项目,项目于2019年6月在上海的KubeCon大会上正式宣布开源,并于2020年4月成为CNCF官方项目。2022年4月,Volcano正式晋级为CNCF孵化项目。Volcano社区开源以来,受到众多开发者、合作伙伴和用户的认可和支持。截止目前,累计有490+全球开发者向项目贡献了代码。Volcano v1.7.0版本在主流计算框架支持、通用服务调度能力、队列资源可观测性等方面进行了增强,新增特性列表如下:• Pytorch Job插件功能强化• Ray on Volcano• 增强Volcano对Kubernetes通用服务的调度能力• 支持Volcano的多架构镜像• 优化队列状态信息等本次版本发布后,Volcano可以更好的适用AI、大数据场景,为使用者提供更简洁易用的Ray、Pytorch等工作负载的云原生调度能力。Volcano云原生批量计算项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。社区已吸引2.6万+全球开发者,并获得2.8k Star和670+ Fork,参与贡献企业包括华为、AWS、百度、腾讯、京东、小红书等。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,已完成对Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、mxnet、KubeGene、Ray等众多主流计算框架的支持,并构建起完善的上下游生态。ING国际银行基于Volcano开展大数据分析作业,获得Kubernetes更高调度性能在 KubeCon North America 2022, ING荷兰国际集团(International Netherlands Groups)发表了《Efficient Scheduling Of High Performance Batch Computing For Analytics Workloads With Volcano - Krzysztof Adamski & Tinco Boekestijn, ING》主题演讲,重点介绍了云原生批量计算项目Volcano如何在数据管理平台中为大数据分析作业提供高性能调度工作。ING荷兰国际集团(International Netherlands Groups)是一个国际金融服务私营企业,成立于1991年,由荷兰最大的保险公司Nationale-Nederlanden,与荷兰的第三大银行NMB PostBank Group合并而成。ING集团的服务遍及全球40多个国家,核心业务是银行、保险及资产管理等。ING集团的全球职员大约56,000人,顾客5320万人,包括自然人、家庭,企业、政府及其他等,例如基金组织。在银行行业有许多法规和限制,ING布局符合自身产业的DAP平台(Data Analytics Platform),为全球50%的ING员工提供安全的、自助的端到端分析能力,帮助员工在数据平台之上构建并解决业务问题。在本次以Volcano为案例的演讲中,ING 重点指出Volcano对批处理任务调度做了很好的抽象,使其在Kubernetes平台能够获得更高的调度性能,后面ING也会将开发的功能逐步回合社区,比如:DRF Dashboard、在每个节点添加空闲空间、自动队列管理、更多的Prometheus监控指标、Grafana仪表盘更新、kube-state-metrics更新和集群角色限制等。Volcano 2019年由华为云捐献给云原生计算基金会(CNCF),也是 CNCF 首个和唯一的容器批量计算项目,帮助用户将 AI、大数据、HPC等计算密集型的业务从传统的系统快速迁移到云原生平台,加速整个云原生落地的进程。Kurator v0.2.0 发布!助力企业分布式云原生应用升级Kurator是华为云开源的分布式云原生平台,帮助用户构建属于自己的分布式云原生基础设施,助力企业数字化转型。Kurator v0.1 版本通过一键集成 Karmada,Volcano,Istio,Prometheus 等主流开源项目,提供了分布式云原生的统一多集群管理,统一的调度,统一的流量治理以及统一的应用监控能力。在最新发布的 v0.2.0 中,Kurator 新增两大类关键特性,增强了可观测性并新增了集群生命周期管理,具体包括以下重大更新。• 基于Thanos的多集群监控及指标持久化存储• 基于Pixie实时的K8s应用监控• 支持本地数据中心集群生命周期管理• 支持AWS云上自建集群生命周期管理Kurator由此开始提供分布式云原生基础设施的管理。这意味着,从此Kurator可以依托基础设施、Kubernetes集群,更好的管理各种云原生中间件,为用户提供开箱即用的分布式云原生能力。Kurator,一键构建分布式云原Kurator于2022年6月在华为伙伴暨开发者大会上开源,是业界首个开源分布式云原生平台。通过集成业界主流开源技术栈以及良好云原生舰队管理性能,Kurator为用户提供一站式、开箱即用的分布式云原生能力,打造分布式云原生技术底座,助力企业业务跨云跨边、分布式化升级。Istio宣布2023年指导委员会席位,华为占两席2月6日,Istio社区宣布2023年指导委员会(Steering Committee)席位。Istio 指导委员会[1],由 9 个贡献席位(根据企业对项目的贡献按比例分配)和 4 个选举产生的社区席位组成。每年 2 月,社区都会根据年度商定的指标[4],查看哪些公司对 Istio 的贡献最大并进行公布。华为云已连续三年获得Istio委员会席位(Steering Committee成员2名,全球仅8家公司13人);Maintainer 2名,Member 10+名。过去几年,华为云Pull Request 位于全球TOP 3,Contributions TOP 3(1.9w+)。由华为云技术团队撰写并出版的《云原生服务网络Istio:原理、实践、架构与源码解析》一书,是业内最有影响力的服务网络书籍之一。目前,华为云应用服务网格(ASM)也已服务于互联网、汽车、制造、物流、政府等多个行业的近千家客户,满足不同行业客户的业务诉求。华为云将在此过程中积累的丰富经验,转化为代码贡献给Istio社区,极大地推动了Istio技术的成熟和社区的快速发展。同时,华为云还大力投入服务网格的技术布道,通过社区论坛、技术会议、视频直播、专业书籍等各种方式,推动服务网格技术传播和普及。添加小助手微信k8s2222,进入云原生交流群
-
63个云原生课程视频,基本上包含了整个云原生学习周期里这些都是你得花心思掌握的。内容比较细,基本上满足实操需求,涉及到容器技术、K8s、监控、运维、存储,以及比较前沿的 istio 等等……适用人群:高校学生、企业中的个人开发者以及互联网从业人员。>>>戳我查看云原生开发者学习路径 在线课程添加小助手微信k8s2222,进入云原生技术交流群
-
北京时间2023年8月17日,Volcano 社区 v1.8.0 版本正式发布,此次版本增加了以下新特性:支持vGPU调度及隔离支持vGPU和用户自定义资源的抢占能力新增JobFlow工作流编排引擎节点负载感知调度与重调度支持多样化的监控系统优化Volcano对通用服务调度的能力优化Volcano charts包的发布与归档Volcano是业界首个云原生批量计算项目,于2019年6月在上海 KubeCon 正式开源,并在2020年4月成为 CNCF 官方项目。2022年4月,Volcano 正式晋级为CNCF 孵化项目。Volcano 社区开源以来,受到众多开发者、合作伙伴和用户的认可和支持。截至目前,累计有590+全球开发者参与社区贡献。▍支持vGPU调度及隔离自 ChatGPT 爆火之后,AI大模型的研发层出不穷,不同种类的AI大模型也相继推出,由于其庞大的训练任务需要大量算力,以 GPU 为核心的算力供给已成为大模型产业发展的关键基础设施。在实际使用场景中,用户对于 GPU 资源的使用存在资源利用率低,资源分配不灵活等痛点问题,必须采购大量冗余的异构算力才能满足业务需求,而异构算力本身成本高昂,为企业的发展带来了很大的负担。从 1.8版本开始,Volcano 为可共享设备(GPU、NPU、FPGA...)提供一个抽象的通用框架,开发者可以基于该框架自定义多种类型的共享设备;当前,Volcano 已基于该框架实现 GPU 虚拟化特性,支持 GPU 设备复用、资源隔离等能力,详情如下:GPU共享:每个任务可以申请使用一个 GPU 卡的部分资源,GPU 卡可以在多个任务之间共享。设备显存控制:GPU 可以按照设备显存分配(比如:3000M)或者按比例分配(比如:50%),实现 GPU 虚拟化资源隔离能力。关于 vGPU 的更多信息,请参考:如何使用 vGPU 功能:https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_vgpu.md如何增加新的异构算力共享策略:https://github.com/volcano-sh/volcano/blob/master/docs/design/device-sharing.md▍支持vGPU和用户自定义资源的抢占能力当前 Volcano 支持 CPU、Memory 等基础资源抢占功能,对于 GPU 资源和用户基于 Volcano 框架二次开发调度插件,并自主管理的资源(如:NPU、网络资源等)尚不能很好的支持抢占能力。在1.8版本中,Volcano 对节点过滤相关处理( PredicateFn 回调函数)进行重构,返回结果中增加 Status 类型,用于标识在调度、抢占等场景下,当前节点是否满足作业下发条件。GPU 抢占功能已基于优化后的框架实现发布,用户基于Volcano 进行二次开发的调度插件可以结合业务场景适配升级。关于支持扩展资源抢占的更多信息,请参考:https://github.com/volcano-sh/volcano/pull/2916▍新增JobFlow工作流编排引擎工作流编排引擎广泛应用于高性能计算、AI 生物医药、图片处理、美颜、游戏AGI、科学计算等场景,帮助用户简化多个任务并行与依赖关系的管理,大幅度提升整体计算效率。JobFlow 是一种轻量化的任务流编排引擎,专注于 Volcano 的作业编排,为Volcano 提供作业探针、作业完成依赖,作业失败率容忍等多样化作业依赖类型,并支持复杂的流程控制原语,具体能力如下:支持大规模作业管理以及复杂任务流编排支持实时查询到所有关联作业的运行情况以及任务进度支持作业自动运行、定时启动释放人力成本支持不同任务可以设置多种动作策略,当任务满足特定条件时即可触发对应动作,如超时重试、节点故障漂移等JobFlow 任务运行演示如下:关于 JobFlow 的更多信息,请参考:https://github.com/volcano-sh/volcano/blob/master/docs/design/jobflow/README.md▍节点负载感知调度与重调度支持多样化的监控系统Kubernetes 集群状态随着任务的创建和结束实时变化,在某些场景(如:增加、删除节点,Pod、Node 的亲和性改变,作业生命周期动态变化等),出现集群节点间资源利用率不均衡,节点性能瓶颈掉线等问题,此时基于真实负载的调度与重调度可以帮助我们解决上述问题。Volcano 1.8版本之前,真实负载调度与重调度的指标获取仅支持 Prometheus,从1.8版本开始,Volcano 优化监控指标获取框架,新增 ElasticSearch 监控系统支持,并支持以较小适配工作量平滑对接更多类型监控系统。关于支持多种监控系统的更多信息,请参考:基于节点负载感知调度:https://github.com/volcano-sh/volcano/blob/master/docs/design/usage-based-scheduling.md重调度:https://github.com/volcano-sh/volcano/blob/master/docs/design/rescheduling.md▍优化Volcano对微服务调度的能力增加Kubernetes默认调度器插件开关 Volcano 是一个统一的融合调度系统,不仅支持 AI、BigData 等计算类作业,也支持微服务工作负载,兼容 Kubernetes 默认调度器的 PodTopologySpread、VolumeZone、VolumeLimits、NodeAffinity、PodAffinity等调度插件,Kubernetes 默认调度插件能力在 Volcano 中默认开启。自 Volcano 1.8 版本开始,Kubernetes 默认调度插件可以通过配置文件的方式自由选择打开和关闭,默认全部打开,如果选择关闭部分插件,比如:关闭PodTopologySpread 和 VolumeZone插件,可以在 predicate 插件中将对应的值设置为 false,配置如下:actions: "allocate, backfill, preempt" tiers: - plugins: - name: priority - name: gang - name: conformance - plugins: - name: drf - name: predicates arguments: predicate.VolumeZoneEnable: false predicate.PodTopologySpreadEnable: false - name: proportion - name: nodeorder更多信息,请参考:https://github.com/volcano-sh/volcano/issues/2748增强ClusterAutoscaler兼容性在 Kubernetes 平台中,Volcano 除了作为批量计算业务的调度器之外,也被越来越多的用作通用服务的调度器。Node 水平伸缩(ClusterAutoscaler)是Kubernetes 的核心功能之一,在面对用户业务量激增和节省运行成本方面发挥重要作用。Volcano 优化作业调度等相关逻辑,增强与 ClusterAutoscaler 的兼容互动能力,主要为以下两个方面:调度阶段进入 pipeline 状态的 pod 及时触发扩容候选节点分梯度打分,减少集群 terminating pod 对调度负载的影响,避免pod 进入无效 pipeline 状态,从而导致集群误扩容更多信息,请参考:https://github.com/volcano-sh/volcano/issues/3000https://github.com/volcano-sh/volcano/issues/2782精细化管理Node资源,增强韧性当节点中由于某种原因比如 device-plugin 上报信息异常,出现节点的某种资源总量小于已分配资源量时,Volcano 认为该节点数据不一致,会隔离节点,停止向该节点调度任何新的工作负载。在1.8版本中,对于节点资源进行精细化管理,比如:当节点的 GPU 总资源容量小于已分配资源量时,申请 GPU 资源的 pod 禁止再调度至该节点,申请非 GPU 资源的作业,将仍然允许正常向该节点调度。更多信息,请参考:https://github.com/volcano-sh/volcano/issues/2999▍优化Volcano charts包的发布与归档随着 Volcano 在用户越来越多的生产环境和云环境中使用,简洁标准的安装动作至关重要。自1.8版本开始,Volcano 优化 charts 包发布归档动作,标准化安装使用流程,并完成历史版本(v1.6、v1.7)向新 helm 仓库的迁移,使用方式如下:● 添加 Volcano charts 仓地址helm repo add volcano-sh https://volcano-sh.github.io/helm-chart● 查询所有可安装的 Volcano 版本helm search repo volcano -l● 安装最新版 Volcanohelm install volcano volcano-sh/volcano -n volcano-system --create-namespace● 安装指定版本 Volcano,比如:1.7.0helm install volcano volcano-sh/volcano -n volcano-system --create-namespace --version 1.7.0关于 Volcano charts 包的更多信息,请参考:https://github.com/volcano-sh/helm-charts▍致谢贡献者Volcano 1.8.0 版本包含了来自 31 位贡献者的数百次代码提交,在此对各位贡献者表示由衷的感谢:贡献者GitHub ID@shaobo76@william-wang@gengwg@kingeasternsun@Aakcht@waiterQ@Shoothzj@hwdef@halegreen@wulixuan@Monokaix@medicharlachiranjeevi@WulixuanS@rayoluo@lowang-bh@gj199575@noyoshi@Tongruizhe@jinzhejz@Cdayz@Mufengzhe@renwenlong-github@wangyang0616@jiamin13579@zbbkeepgoing@zhoumingcheng@z2Zhang@jiangkaihua@archlitchi@lixin963@xiao-jay@Yanping-io参考链接Release note: v1.8.0:https://github.com/volcano-sh/volcano/releases/tag/v1.8.0Branch:release-1.8:https://github.com/volcano-sh/volcano/tree/release-1.8深入Volcano了解Volcano 云原生批量计算项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。社区已吸引5.8万+全球开发者,并获得3.2k Star 和730+ Fork,参与贡献企业包括华为、AWS、百度、腾讯、京东、小红书、博云、第四范式等。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,已完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、mxnet、KubeGene、Ray 等众多主流计算框架的支持,并构建起完善的上下游生态。Volcano社区技术交流地址Volcano官网:https://volcano.shGitHub: https://github.com/volcano-sh/volcano每周例会: https://zoom.us/j/91804791393添加社区小助手回复“Volcano”进入技术交流群
-
大会介绍:5月27日-28日,GOTC 全球开源技术峰会((Global Open-source Technology Conference)在上海张江科学会堂成功举办。 GOTC是由上海浦东软件园、开放原子开源基金会、Linux 基金会亚太区和开源中国联合发起的,面向全球开发者的一场盛大开源技术盛宴。 本届大会以“Open Source, Into the Future”为主题,国际开源大咖、专家学者和产业代表齐聚一堂,超 1500 人现场参会, 540 万+人次线上直播观看,全网曝光量达3 亿+( 数据来源:CNCF),共同探讨开源未来,助力开源发展。议题分享:一种基于云原生批量计算平台Volcano的工作流编排引擎JobFlow讲师介绍:华为云高级软件工程师汪洋、博云PaaS产品线平台架构师梁兵议题简介:华为云高级软件工程师汪洋,博云PaaS产品线平台架构师梁兵联合分享了《一种基于云原生批量计算平台Volcano的工作流编排引擎JobFlow》。工作流编排引擎广泛应用于高性能计算、AI生物医药、图片处理、美颜、游戏AGI、科学计算等场景,帮助用户简洁化管理多个任务的并行与依赖关系,大幅度提升整体计算效率。Volcano通过JobFlow提供一种轻量化的工作流编排能力,专注于对多作业场景下的调度管理,实时查看作业及其任务的完成进度、执行状态,只要资源允许的场景下,自动下发后任务,大大提升了资源利用率、减少了人工成本和作业执行时间。点击视频观看本次分享精彩回放,添加小助手微信k8s2222回复Volcano,进入技术交流群video
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签