Skip to content

Ascend/mind-cluster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,287 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MindCluster

Zread     DeepWiki

最新消息

  • [2026.01.13]: 🚀 NPU Exporter支持输出SN序列号
  • [2026.01.13]: 🚀 支持基于AIBrix vLLM服务化实例级重调度
  • [2026.01.13]: 🚀 基于AIBrix定义的PD分离CRD一键部署vLLM推理服务
  • [2026.01.13]: 🚀 基于OME定义的PD分离CRD一键部署SGLang推理服务
  • [2026.01.13]: 🚀 支持SGLang OME部署与实例级重调度
  • [2026.01.13]: 🚀 调度与资源控制对象解耦
  • [2026.01.13]: 🚀 调度资源占用优化,任务入队一定时间后未调度则重新入队
  • [2026.01.13]: 🚀 支持公共故障预隔离
  • [2026.01.13]: 🚀 NPU Exporter支持自定义指标
  • [2026.01.13]: 🚀 支持A3推理多实例任务调度
  • [2026.01.13]: 🚀 A3兼容A2 accelerator-type资源类型
  • [2026.01.13]: 🚀 volcano1.10、1.11、1.12;k8s 1.31、1.32、1.34;docker 28.5.1、containerd 2.1.4兼容性验证
  • [2026.01.13]: 🚀 一体机推理任务容器守护进程参考设计
  • [2026.01.13]: 🚀 一体机的NPU故障检测与恢复
  • [2026.01.13]: 🚀 调度器支持StatefulSet功能
  • [2026.01.13]: 🚀 支持MindSpore框架下亚健康热切
  • [2026.01.13]: 🚀 训练快恢易用性增强
  • [2026.01.13]: 🚀 新增A3 AI服务器故障模式

简介

MindCluster(AI集群系统软件)是支持NPU(昇腾AI处理器)训练和推理硬件的深度学习组件,使能构建集群全流程运行,提供NPU集群作业调度、运维监测、故障恢复等功能。深度学习平台开发厂商可以减少底层资源调度相关软件开发工作量,快速使能合作伙伴基于MindCluster开发深度学习平台。

目录结构

├─ build
└─ component
   ├─ ascend-common
   │  ├─ api
   │  │  ├─ ascend-operator
   │  │  │  ├─ apis      
   │  │  │  │  └─ batch
   │  │  │  │     └─ v1
   │  │  │  └─ client
   │  │  │     ├─ clientset
   │  │  │     │  └─ versioned
   │  │  │     │     ├─ scheme            
   │  │  │     │     └─ typed
   │  │  │     │        └─ batch   
   │  │  │     │           └─ v1
   │  │  │     ├─ informers
   │  │  │     │  └─ externalversions
   │  │  │     │     ├─ batch
   │  │  │     │     │  └─ v1
   │  │  │     │     └─ internalinterfaces
   │  │  │     └─ listers
   │  │  │        └─ batch
   │  │  │           └─ v1
   │  │  └─ slownet                               
   │  ├─ common-utils
   │  │  ├─ cache   
   │  │  ├─ ethtool  
   │  │  ├─ hwlog
   │  │  ├─ limiter
   │  │  ├─ rand  
   │  │  └─ utils  
   │  └─ devmanager
   │     ├─ common   
   │     ├─ dcmi   
   │     └─ hccn   
   ├─ ascend-device-plugin
   │  ├─ build
   │  ├─ doc
   │  │  └─ figures   
   │  └─ pkg
   │     ├─ common
   │     ├─ device   
   │     │  └─ deviceswitch
   │     ├─ kubeclient 
   │     ├─ next 
   │     │  └─ deviceswitch    
   │     │      └─ customname
   │     └─ server
   ├─ ascend-docker-runtime
   │  ├─ assets
   │  ├─ build
   │  │  ├─ libboundscheck
   │  │  ├─ makeself-header
   │  │  └─ scripts   
   │  ├─ cli
   │  │  ├─ src
   │  │  └─ test
   │  │     ├─ dt
   │  │     └─ dt_go   
   │  ├─ destroy
   │  │  └─ src   
   │  ├─ hook 
   │  │  └─ process   
   │  ├─ install
   │  │  └─ process   
   │  ├─ mindxcheckutils           
   │  ├─ opensource           
   │  ├─ output           
   │  ├─ platform           
   │  └─ runtime           
   │     ├─ dcmi     
   │     └─ process     
   ├─ ascend-faultdiag-online
   │   └─ pkg
   │       ├─algo_src
   │       │  ├─ netfault
   │       │  └─ slownode
   │       ├─ core
   │       ├─ model
   │       ├─ register
   │       ├─ service
   │       └─ utils
   ├─ ascend-faultdiag
   │  ├─build
   │  ├─platform
   │  ├─src
   │  │  ├─ascend_fd
   │  │  │  ├─configuration
   │  │  │  ├─controller
   │  │  │  ├─lib
   │  │  │  ├─model
   │  │  │  ├─module
   │  │  │  │  └─mindie_trace_parser
   │  │  │  ├─pkg
   │  │  │  │  ├─customize
   │  │  │  │  │  ├─custom_config
   │  │  │  │  │  └─custom_entity
   │  │  │  │  ├─diag
   │  │  │  │  │  ├─knowledge_graph
   │  │  │  │  │  │  ├─kg_engine
   │  │  │  │  │  │  │  ├─graph
   │  │  │  │  │  │  │  └─model
   │  │  │  │  │  ├─network_congestion
   │  │  │  │  │  ├─node_anomaly
   │  │  │  │  │  │  ├─npu_anomaly
   │  │  │  │  │  │  └─resource_preemption
   │  │  │  │  │  │      └─utils
   │  │  │  │  │  └─root_cluster
   │  │  │  │  ├─parse
   │  │  │  │  │  ├─blacklist
   │  │  │  │  │  ├─knowledge_graph
   │  │  │  │  │  │  ├─parser
   │  │  │  │  │  │  └─utils
   │  │  │  │  │  ├─network_congestion
   │  │  │  │  │  ├─node_anomaly
   │  │  │  │  │  └─root_cluster
   │  │  │  ├─sdk
   │  │  │  ├─utils
   │  │  │  │  ├─constant
   │  │  │  │  ├─fast_parser
   │  │  │  │  └─timehub
   │  │  │  └─wrapper
   │  ├─test
   │  │  ├─custom_operation
   │  │  ├─dt
   │  │  └─st
   │  ├─scripts
   │  │   ├─exp_covert
   │  │   │  └─exp_lib_dir
   │  │   └─local_diag
   │  └─toolkit_src
   ├─ ascend-for-volcano
   │  ├─ build           
   │  ├─ common
   │       ├─ k8s             
   │       └─ util             
   │  ├─ config           
   │  ├─ doc
   │       └─ figures              
   │  ├─ internal
   │  │    ├─ npu   
   │  │    │  ├─ ascend310   
   │  │    │  │  ├─ card310x4              
   │  │    │  │  └─ chip310x4              
   │  │    │  ├─ ascend310p  
   │  │    │  │  ├─ card310px2              
   │  │    │  │  ├─ chip310px2                  
   │  │    │  │  └─ vnpu                  
   │  │    │  ├─ ascend910
   │  │    │  │  ├─ ascend910a3              
   │  │    │  │  │  ├─ module910a3x16              
   │  │    │  │  │  └─ superpod              
   │  │    │  │  ├─ ascend910b 
   │  │    │  │  │  ├─ module910bx16              
   │  │    │  │  │  └─ vnpu                    
   │  │    │  │  └─ ascend910old
   │  │    │  │     └─ module910x8                        
   │  │    │  ├─ base              
   │  │    │  └─ vnpu
   │  │    ├─ nslb                 
   │  │    ├─ rescheduling                 
   │  │    └─ test                 
   │  ├─ output           
   │  ├─ plugin           
   │  ├─ test           
   │  └─ testdata  
   │     └─ tor
   ├─ ascend-operator
   │  ├─ build                
   │  └─ pkg
   │    ├─ api
   │    │  └─ v1       
   │    ├─ controllers
   │    │  ├─ scaling      
   │    │  └─ v1       
   │    ├─ ranktable 
   │    │  ├─ common      
   │    │  ├─ generator      
   │    │  ├─ utils      
   │    │  ├─ v1      
   │    │  └─ v1dot2      
   │    ├─ testtool    
   │    └─ utils    
   ├─ clusterd
   │  ├─ build                
   │  └─ pkg
   ├─ container-manager
   │  ├─ build                
   │  └─ pkg
   │    ├─ command
   │    ├─ common
   │    ├─ container
   │    │  ├─ app   
   │    │  └─ domain   
   │    ├─ devmgr
   │    ├─ fault
   │    │  ├─ app   
   │    │  └─ domain   
   │    ├─ reset
   │    │  ├─ app   
   │    │  └─ domain   
   │    └─ workflow
   ├─ noded
   │  ├─ build                
   │  └─ pkg
   ├─ npu-exporter
   │  ├─ build                
   │  ├─ cmd                
   │  ├─ collector                
   │  ├─ platforms                
   │  ├─ plugins                
   │  ├─ tuils                
   │  └─ versions                                 
   ├─ taskd
   │  ├─ build   
   │  ├─ plugins   
   │  ├─ taskd   
   │  ├─ tests   
   │  ├─ venv   
   │  └─ Scripts   

版本说明

MindCluster版本配套详情请参考:版本配套详情

兼容性信息

MindCluster基础调度特性与断点续训特性支持的框架:Pytorch、MindSpore。

环境部署

介绍MindCluster的编译及安装方式。

MindCluster集群调度

编译

  1. 拉取mind-cluster整体源码,例如放在/home目录下。

  2. 修改组件版本配置文件service_config.ini中mind-cluster-version字段值为所需编译版本,默认值如下:

    mind-cluster-version=6.0.0
    
  3. 执行以下命令,进入/home/mind-cluster/build目录,选择构建脚本执行:

    cd /home/mind-cluster/build

    dos2unix *.sh && chmod +x *.sh
    
    ./build_all.sh $GOPATH
    
  4. 执行完成后进入/home/mind-cluster,在各组件“output”目录下生成编译完成的文件。

  5. 此处使用的go版本为1.21。

组件安装

在安装和使用集群调度组件前,用户需要提前了解集群调度组件的特性,并根据具体特性的特点和功能,选择需要使用的特性并安装相应的组件

MindCluster Ascend FaultDiag

MindCluster Ascend FaultDiag支持的Python版本需≥3.7。在安装MindCluster Ascend FaultDiag前,请检查依赖的Python版本是否满足要求。

编译与构建

环境要求

  • Python版本≥3.7.5
  • scikit-learn>=1.3.0
  • pandas>=1.3.5
  • numpy>=1.21.6,<2.0.0
  • joblib>=1.2.0,<1.5.0
  • ply>=3.11

构建

请先克隆仓库,然后在项目根目录执行构建脚本:

git clone https://gitcode.com/Ascend/mind-cluster.git
cd mind-cluster/component/ascend-faultdiag
./build/build.sh

组件安装

详细请参见安装MindCluster Ascend FaultDiag

快速入门

MindCluster集群调度

MindCluster将以单台Atlas 800T A2 训练服务器(同时作为管理节点和计算节点)为例,指导开发者快速完成NodeD、Ascend Device Plugin、Ascend Docker Runtime、Volcano、ClusterD、Ascend Operator组件的安装及使用整卡调度特性快速下发训练任务。具体操作请参考:快速入门

MindCluster Ascend FaultDiag

MindCluster Ascend FaultDiag(故障诊断工具)主要功能如下:提供日志清洗和故障诊断功能,提取训练及推理过程相关日志的关键信息,并根据集群所有节点清洗后的关键信息,分析故障根因节点以及故障事件。具体操作请参考:使用指导

特性介绍

MindCluster具体特性介绍如下:

MindCluster集群调度

特性名称 介绍 Released
容器化支持特性 link
资源监测特性 link
虚拟化实例特性 link
基础调度特性 link
断点续训特性 link
一体机特性 link
MindIE Motor推理任务最佳实践 link
SGLang推理任务最佳实践 link
vLLM推理任务最佳实践 link

MindCluster Ascend FaultDiag

特性名称 介绍 Released
日志清洗与转储 link
故障诊断 link
单机故障诊断 link
超节点故障诊断 link
清洗业务流日志 link
根因节点清洗及诊断 link
故障事件清洗及诊断 link
自定义配置文件 link

API参考

MindCluster集群调度API参考请参见:API参考

MindCluster Ascend FaultDiag API参考请参见:API参考

FAQ

MindCluster集群调度相关FAQ请参见:FAQ

MindCluster Ascend FaultDiag相关FAQ请参见:FAQ

安全声明

MindCluster集群调度

  • 当前容器方式部署本组件,本组件的认证鉴权方式为ServiceAccount,该认证鉴权方式为ServiceAccount的token明文显示,建议用户自行进行安全加强。
  • 当前特权容器方式部署,该容器权限具有一定风险,建议用户自行进行安全加强。
  • 其他安全声明详见:安全声明
  • 通信矩阵详见:通信矩阵
  • 公网地址详见:公网地址

MindCluster Ascend FaultDiag

分支维护策略

版本分支的维护阶段如下:

状态 时间 说明
计划 1-3个月 计划特性
开发 3个月 开发新特性并修复问题,定期发布新版本
维护 3-12个月 常规分支维护3个月,长期支持分支维护12个月。对重大BUG进行修复,不合入新特性,并视BUG的影响发布补丁版本
生命周期终止(EOL) N/A 分支不再接受任何修改

版本维护策略

版本 维护策略 当前状态 发布日期 后续状态 EOL日期
master 长期支持 开发 在研分支,不发布 2025-10-27 -
v7.3.0 长期支持 开发 在研分支,未发布 2025-10-27 -
v7.2.RC1 常规分支 维护 2025-10-25 预计2026/1/25起进入无维护状态 2025-10-27
v7.1.RC1 常规分支 EOL 2025-07-24 2025-10-24
v7.0.RC1 常规分支 EOL 2025-04-27 2025-07-27
v6.0.0 长期支持 维护 2024-12-31 预计2025-12-31起进入无维护状态
v6.0.RC3 常规分支 EOL 2024-11-20 2025-02-20
v6.0.RC2 常规分支 EOL 2024-11-20 2025-02-20
v6.0.RC1 常规分支 EOL 2024-11-20 2025-02-20
v5.0.0 长期支持 EOL 2023-11-20 2024-11-20

免责声明

  • 本仓库代码中包含多个开发分支,这些分支可能包含未完成、实验性或未测试的功能。在正式发布前,这些分支不应被应用于任何生产环境或者依赖关键业务的项目中。请务必使用我们的正式发行版本,以确保代码的稳定性和安全性。 使用开发分支所导致的任何问题、损失或数据损坏,本项目及其贡献者概不负责。
  • 正式版本请参考release版本 https://gitcode.com/ascend/mind-cluster/releases

License

MindCluster以Apache 2.0许可证许可,对应许可证文本可查阅LICENSE文件

介绍MindCluster docs目录下的文档适用CC-BY 4.0许可证,具体请参见LICENSE文件

贡献声明

  • 贡献前,请先签署开放项目贡献者许可协议(CLA)
  • 如果您遇到bug,请提交issue
  • 如果您计划贡献bug-fixes,请提交Pull Requests,参见具体要求
  • 如果您计划贡献新特性、功能,请先创建issue与我们讨论。写明需求背景/目的,如何设计,对现有API等的影响。未经讨论提交PR可能会导致请求被拒绝,因为项目演进方向可能与您的想法存在偏差。
  • 更详细的贡献流程,请参考贡献指南

建议与交流

欢迎大家为社区做贡献。如果有任何疑问或建议,请提交issue,我们会尽快回复。感谢您的支持。

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors