博文
Kubernetes 下的 DLRover 工作流程分析
· ☕ 13 分钟
本文使用的 DLRover 版本是 0.3.7 1. DLRover Operator 1.1 启动 ElasticJob 和 ScalePlan 的控制器 实现代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // 创建 ElasticJob 的控制器 if err = controllers.NewElasticJobReconciler(mgr, masterImage).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "ElasticJob") os.Exit(1) } // 创建 ScalePlan 的控制器 if err = controllers.NewScalePlanReconciler(mgr).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "ScalePlan") os.Exit(1) } // 启动控制器 if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil { setupLog.Error(err, "problem running manager") os.Exit(1) } 这部分代码是

使用 DLRover 托管作业进行弹性、容错训练
· ☕ 12 分钟
1. 分布式训练面临的问题 预估训练资源困难,无法自动化 需要多少算力、需要多少时间、需要多少带宽、需要多少 CPU、需要多少内存,如果没有足够的积累,很难估算准确。导致的结果就是,超额申请、超额分配,造成极大的资源浪费。 需要去沉淀和提供解决方案。 故

开发了一个 Copilot 用来处理运维故障
· ☕ 9 分钟
本篇内容主要来自内部的一次分享,也是最近工作的一些总结。 1. 常见的故障处理流程 如上图是一次典型的运维异常处理流程。 按照时间线,有如下关键时间点: 发生故障 发现故障 响应故障 定位故障 恢复故障 发生故障到发现故障,指的是被系统检测到,主要涉及到指标的采

将 JuiceFS 元数据从 Redis 迁移到 PGSQL
· ☕ 2 分钟
1. 为什么将元数据存储从 Redis 迁移到 PGSQL PGSQL 成本低 Redis 使用内存存储元数据,PGSQL 使用磁盘存储元数据,成本差异显而易见。 PGSQL 性能可调节 不同的 PGSQL 提供了不同的性能 IOPS。如果对性能没有持续高的要求,使用 PGSQL 是不错的选择。 PGSQL 存储上限更高 如果按照元数据大小估算

使用 Volcano 运行 hccl-test
· ☕ 2 分钟
1. 制作 hccl-test 镜像 下载依赖包 Python-3.8.18.tgz Ascend-cann-toolkit_8.0.RC2_linux-x86_64.run Ascend-cann-kernels-910b_8.0.RC2_linux.run mpich-3.2.1.tar.gz 如果不方便下载,也可以直接从我打包的镜像中拷贝出来。 编写 Dockerfile 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 FROM ubuntu:22.04 WORKDIR /home RUN sed -i -e 's/^APT/# APT/' -e 's/^DPkg/# DPkg/' /etc/apt/apt.conf.d/docker-clean RUN apt-get update && apt-get install