1. 概述

本文档包含了此次发布的MXMACA K8s软件包的特性,已知问题和使用限制等。

此次发布是MXC500 GPU的MXMACA-C500-K8s-0.11.0版本交付,适用于曦云® C500、C500-P、C500X、C550 OAM1.5、C550 OAM2.0和曦思® N260。

下表列出了系统测试覆盖率和通过率。

表 1.1 系统测试覆盖率及通过率

系统

测试覆盖率/通过率

MXMACA-C500-K8s-0.11.0

Full regression with release quality

1.1. 交付内容

此次发布的软件包包含以下内容:

  • MXMACA-C500-K8s-0.11.0 K8s软件栈

2. 新增特性及变更

本章列出历次发布的新增特性及变更。

2.1. MXMACA-C500-K8s-0.11.0

模块

特性说明

Operator

operator支持extensions功能

operator支持轻量化模式,类似extensions部署,支持extensions功能

配置全局toleration功能已弃用,取而代之的是工作负载Pod参数配置规范

内核驱动配置新增V2版本,支持对单颗GPU粒度的虚拟化及驱动绑定选择

metax-driver 新增 deviceAsRootGroup 选项

mxcmake

新增 --add-user NAME[:uid] 的参数支持,用于制作non-root容器镜像

新增opts参数,构建镜像时可执行额外的命令

mx-exporter

新增捕捉EID报错

新增通过docker启动exporter方式

metax-docker

支持sGPU功能

volcano

新增调度参数 tomic-gpu-group-size

2.2. MXMACA-C500-K8s-0.10.2

模块

特性说明

sGPU

新增支持sGPU分配

Operator

podTemplateSpec

新增工作负载pod参数配置

2.3. MXMACA-C500-K8s-0.10.1

无新增特性。

2.4. MXMACA-C500-K8s-0.10.0

模块

特性说明

mxcmaker

新增mxcmaker工具

2.5. MXMACA-C500-K8s-0.9.2

模块

特性说明

dlrover

新增超级节点网络检查

2.6. MXMACA-C500-K8s-0.9.1

模块

特性说明

Operator

引入一个vfio-manager组件,该组件将协调KubeVirt虚拟机与GPU Operator之间的资源共享。vfio-manager的引入将确保在k8s集群中,既能满足虚拟化环境对GPU的需求,又能保持GPU Operator的高效管理,从而实现GPU资源在Kubernetes集群中的双重利用

Extensions

volcano、dlrover

训练任务,支持自动故障恢复

2.7. MXMACA-C500-K8s-0.9.0

模块

特性说明

Operator

ConfigMap

支持配置全局toleration

支持配置内核驱动参数

支持配置内核驱动灰度发布

支持固件升级

2.8. MXMACA-C500-K8s-0.8.2

模块

特性说明

Extensions

topoDiscovery

config模式:config模式适用于集群拓扑无法自动发现的场景,在安装GPU Extensions时通过配置 --set topoDiscovery.mode=config 开启,支持自定义分组,拓扑组件部署到集群上后,会生成一个名为topo-master-config的ConfigMap,用户可以通过修改其内容控制集群节点的拓扑分组信息

topoDiscovery

dragonfly模式:dragonfly模式下也支持通过ConfigMap方式配置集群拓扑,通过ConfigMap配置的集群拓扑具有更高的优先级。配置方式参见config模式

Operator

ConfigMap

用户可以通过修改driver-config内容控制集群节点上的内核驱动参数。内核驱动参数分为集群级别(module-params)和节点级别(node-module-params)

2.9. MXMACA-C500-K8s-0.8.1

模块

特性说明

Extensions

volcano

volcano提供了丰富的调度策略,增强型的Job管理能力及良好的生态支持

gpu-aware

自定义权重,通过计算分数来进行资源调度

2.10. MXMACA-C500-K8s-0.8.0

模块

特性说明

Operator

driverpolicy

资源部署策略,支持选择使用node driver还是container driver。

用户容器镜像优化

MXMACA®由GPU Operator统一管理并部署在每个工作节点上,用户的作业运行时将使用节点上已部署的MXMACA SDK。

此过程在操作层面对用户透明,尽管用户能够感知到容器在运行时自动安装了MXMACA SDK这一变化,但无需为此做任何额外操作。

驱动自动部署

GPU Operator方案提供了自动部署驱动及配置GPU虚拟化规格的能力。管理员可配置 driver.deployPolicy 选取不同部署策略,或关闭内核态驱动的自动部署功能。

MXMACA清理策略

Never:不执行任何操作

OlderVersionFirst:根据版本号排序,优先清理老版本

OlderTimestampFirst:根据使用时间排序,优先清理未被使用的版本

Extensions

gpu-device

gpu-device包含了资源分配器的逻辑实现,对于确定份数的GPU资源请求,gpu-device总是确保从避免资源碎片,卡间互联拓扑角度进行最优分配。gpu-device会定期检查沐曦GPU设备的健康状态,识别出故障的GPU资源,并将其从可分配资源中移除。

gpu-label

负责监控k8s节点上沐曦GPU及MXMACA软件栈的状态信息,并以标签的形式对节点进行标记。用户提交任务时,可通过在 nodeSelector 字段设置节点标签的形式来筛选符合预期的节点。

3. 已知问题和使用限制

模块

问题和限制说明

Operator

在划分VF时,dmesg会有error报错: MXCD.EVENT.ERROR Proceess(PID xxxxx) got unhandled exception,send SIGTERM 。报错原因是执行unloaddriver时进程没有注册相关的event,由于K8s driver-manager组件只负责驱动管理,并不需要注册事件。因此会出现该错误。该错误不影响功能

对于CentOS系统,绑定VFIO,内核需高于4.18.0-348.el8.x86_64,否则在将VFIO分配给虚拟机时会失败并导致host机器重启

CentOS系统,operator部署,无法自动加载vfio-pci驱动,需要手动 modprobe vfio-pci 加载

volcano调度的时候,如果传入的参数有误,会导致 volcano scheduler pod error,此时将参数修改正确即可恢复

operator划分VF时,dmesg会有error报错(no device to the associated with pasid)(failed to get pasid)(process create fail)

operator继承extensions功能,cluster-manager存在问题,如果设置了cluater-manager变量进行了加密,operator部署的时候会再次进行加密,导致cluster-manager pod报错