AI宝库

AI宝库首页 › AI 资讯 › College GPU 集群的自动修复:从 GPU 断层到健康节点

College GPU 集群的自动修复:从 GPU 断层到健康节点

来源:Together AI · 发布时间:10-27 · 由 AI宝库每小时自动聚合

GPU Clusters 自动修复检测 GPU,主机和织物断层,选择最轻的修复,并让您决定每个断层和 Xid 代码哪个修复运行

在集群尺度上,GPU断层是一个现实。 Xid出错,双位ECC出错,GPU从PCIe总线上掉出,或者将InfiniBand链接相扇会拖住分布式训练工作,或者将推想复制到下。 发现什么是错的通常是容易的难点在于断层与健康节点之间的一切

今年早些时候,我们宣布我们完全自动节点补救功能的发布。 我们的GPU集群客户和我们的内部推论平台一直利用这种能力来帮助驱动工作量回升并尽量减少下行时间。 我们的客户喜欢这种能力,我们想花一些时间打破系统,解释它是如何工作的,为什么我们是这样设计的。

我们首先实施了“大规模健康”检查制度,在你的VM内部和在它的下方的宿主上持续观察每个节点。 当一次检查发现一个故障时,自动修复建议最轻的修复动作,显示你支持推荐背后的证据。 你当面决定,过失决定,修理是等待批准还是自行进行。 您也决定汽车修理需要多久等待运行工作量完成。 你自己的探测器可以通过在节点上写出单个注释来打开同一管道的修复。

可用性

今天普遍可以使用:被动健康检查,修复建议,自动补救政策(包括每个故障和每个节点的同意),等待控制,升级阶梯,安全rails,以及API和控制台修复。

预览:基于节点标签的补救合同,可以带来自己的检测系统,如NVSentinel或自定义控制器。

我们不断增加新的探测信号和补救行动,以确保恢复的最大覆盖面和最低时间。

何以不备也?

单个信号上大多数节点自动修复密钥:节点不留。 这个信号看起来是相同的无论一个节点是断了还是短暂的无法到达。 当一个存储器或网络事件同时触及到许多节点时,每个被撞击的节点都会掉入"不留". 我们的系统有一个断路器用来防止节点的大量更换 NotReady也没有说节点为什么会出故障,所以在重开机和新机之间没有选择的依据。

因此,汽车修理遵循了一条规则:节点修理发生时,后面没有进行失败的健康检查,每一次修理都带有其佐证证据。

输油管

管道有四个阶段:检测出一个断层,决定是否和何时行动,修复节点,并重新验证机器。 前三个阶段都与你的集群相对立第四个运行在我们的一边,在物理主机你的节点刚刚空出。 节点标签请求您自己的检测工具进入决定阶段并得到完全相同的治疗我们的。

1. 从超视线两侧探测

GPU在GPU Cluster中直接传递到你的VM,用于光金属性能。 这意味着GPU断层从VM内部可见,而主机和布料断层则从主机可见。 因此,探测器和获得的两侧运行在一个地方。

在你的VM,出口商观看:

- 内核日志,用于Xid出错和从PCIe总线上掉下来的GPU

- DCGM,用于ECC双位错误、行重映射失败、PCIe重放率和热减速

- 节点问题探测器,用于只读文件系统、XFS关闭、内核僵局和重复的Kubelet或容器重启

在Slurm上,出口商报告标有下标或DRAIN的节点。

在主机上,我们观看了InfiniBand铁路状态和连接相拍,这归功于拥有这些rails的VM. 我们还观察宿主的可达性,所以一个死去的宿主显示作为一个问题在你的节点上,而不是沉默。

每艘警戒舰都有一个稳定的概要,一个简单的语言描述,和一个机器可读的证据有效载荷。 对于一个Xid,这是每个代码和它的NVIDIA mnemonic. 对于高温节流,是最高温度和节流阀计数。 控制平面通过未触动的字符串,所以控制台,API(作为链接的提醒),你的通知总是这么说。

我们观察与可行动性分开每一个与修复有关的警报都被记录下来,并标记出你的节点降解。 只有带有动作映射的信号才产生修复。 例如:显示向上但不会触发重开,因为重开不会修复。 一个没有地图的警报被统计和记录,从来没有默默投放,并引导到我们的支援团队调查。

2. 政策:我们决定什么,你决定是否以及何时

由平台拥有的每一个信号映射到最轻的动作来修正它,所以你不需要知道Xid的意思是什么:

是否由你决定。 在修补分页中,自动补救政策默认在修补前批准:每条建议都等待一个人,他可以接受或推翻操作。 你可以将默认切换为全能自动,但它不是一个被子开关。 修补动作核对表通过它们触发的修补来组合出故障,你选择了您信任的运行无人关注的缺陷。 在Xid集团内部,你可以设定同意每个代码。 常见的设置自动批复为Xid 119和95,并保持出行门。 Xid 检查表在修复前也会在批准下工作,如果您想要在其它一切等待您的审查时自动运行简短的断层列表。

什么时候也是你的。 修补会排出节点,所以等闲置后再保留到节点实际闲置。 在Kubernetes上,这意味着节点上没有运行的吊舱请求一个GPU. Slurm上,指调度器报告节点没有分配。 最大等值会约束被扣,默认为2小时,上限为24. 不中断运行任务会完全去除束缚。 将等待设定为至少您的检查站间隔。 如果捆绑期满,则记录修复进度和超时。

每一份要求修复的修复记录(将健康检查器联合起来进行自动修复),谁批准它(一个命名的用户或自动批准),谁决定,什么时候决定。

3. 携带自己的探测器

运行大型GPU车队的团队已经有他们信任的检测:DCGM仪表板,NVSentinel,内部扫描仪,工作级别检查。 每一次修理,无论来源如何,都成为我们控制飞机的同一记录。 这样就可以进行能力检查审计安全rails 完全一个家

有三个方法:

- API。 - API。 建立对一个有模式的实例的修复,一个可选择的客户端提供的ID来进行一能,以及可选择的健康检查运行或提醒你引用作为证据。 您也可以列出、获取、批准、拒绝和取消修复。

- 指挥台任意节点上的 QQ 菜单会打开包含检测出的问题和建议的动作的修复对话框。

- 节点标签(审查)。 任何经RBAC许可写出节点元数据的探测器,可以通过在节点上添加一个注释和一个标签来打开一个修复。 注释带有探测器名称,稳定的请求ID,修复模式,当断层被检测出时,以及人可读的理由。

我们的集群操作员将节点标签映射到控制平面。 修复时会以探测器作为外部请求器被记录下来,因此它总是可以归属,永远不能冒充一个用户。 探测器名称外加请求ID是整个集群的等效键,包括了已完成的修复,因此在每次扫描中重新加固相同断层的探测器无法重开两次节点。 授权是你们自己的RBAC,没有API密钥和登机票。

注释请求可以请求再启动,快速再提供,或者Migrate. 仅限人类删除就像控制台点击,这些请求跳过批准队列,但他们仍然通过相同的证据门,能力检查,和预算和其他一切。 每组盖指窃听探测器造成的破坏有限,而不是灾难。

4. 修理行动和升级梯子

每一次修理都遵循同样的生命周期:警戒线,等待(按照你的政策),排水,行动,重新加入。 控制台显示节点通过 Cordoning Draining 修补/Migrating 加入跑道。

从轻到重的行动:

- 重新开始。 重新启用越战队本地/切和/tmp数据能活下来。

- 快速再补给。 从一个健康的宿主上一个干净的形象重建 VM. 本地数据已丢失。

- 搬去新主机在不同的硬件上重建VM,并发去旧主机重新验证。

- 拿开为RMA拉出节点。 总是由人类引起的。

相同的修补不会循环。 如果在同一个动作已经运行了两次之后,同一机器上又出现了一个故障,则下一个建议会移动一跑。 第三轮"西德回放"成为再提供,第三轮再提供成为移民。 梯子被跟踪到每个机器,集群,警报,和Xid代码。 超过一周的尝试不算,取消或自行解决的建议也不算。

移民是有证据的。 迁移是消耗实际能力的一个动作。 这需要在过去十天内对节点进行紧急警报,或对同一机器进行紧急警报。 满足两个条件的请求都以快速重置方式运行。

主机动力循环(预览). 一些故障,其中Xid 79,需要GPU失去动力,尽管硬件可能很好,但VM重启还是无法做到。 而不是消耗一个新的宿主,我们可以用电循环你正在运行的。 系统中任何地方都没有业连管证书。 启动ID检查阻止重试循环已经返回的主机。

需要有保证的替换窗口的集群可以保留热余能,因此迁移可以吸收储备而不是一般可用。 问问你的帐务组详细情况

5. Rails 假设警报风暴将发生

糟糕的驱动推力,存储中断,或网络分区可以让几十个节点一看就恶心。 节点级修复无法修复集群级原因,因此rails被分层并独立:

- 坚持下去信号在成为建议之前必须保持每个信号的持续时间。

- 冷静经过任何修复后,一个节点在生成新建议前约需要30分钟。

- 货币预算。 预算规模取自集群节点计数,操作员每次运行每个节点池一次修复。

- 断路器当一个集群产生一个相通的自动修复的爆发时,断路器会出行。 许多节点一次失败就指向一个集群级的原因,一个接一个地修复节点不会修复。

-每次修理一个目标计划执行,所以一个虫子不能在节点之间扇出。

- 自动解决。 一条建议,在任何人的行为自行消失之前,警报就解除了。

控制平面被复制,每个书写都具有"一能"并对照所期望的状态检查。 两个复制品在同一节点上赛跑,产生一个修复,而不是两个。

6. 机器重新验证本身

当一个节点从一个机器上移出,或者从一个机器上移出,那台机器不应该直接回到游泳池里,它不应该坐在排队里等待别人看诊断。 老VM一去不复返,机器就自动进入验证。 一个测试VM运行着相同的GPU,NCCL,InfiniBand,并且存储检查每个全新的机器在加入舰队之前都会通过。 在节点离开和判决落地之间没人碰机器

有三项判决:

-通过机还入池。 没有罚单,也没有任何人被呼叫,所以一个瞬间断层仍然处于瞬间。

-失败了自动提交硬件票,并附上每个测试结果和记录。 机器一直待到修好再通过

- 已经中止了检查无法运行,例如因为主机被重新定位或者测试VM无法被放置。 该机被恢复到以前的状态,没有任何被谴责。

只有明显的失败才会产生罚单。

用于延长一个加速器

修复关于提醒、节点和机器的决定密钥,而不是GPU ve

本文由 AI宝库自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。

相关 AI 工具

相关免费羊毛

同源资讯

阅读原文(together.ai)

标题、摘要与正文均来自该信源的公开页面,版权归原作者所有;本站自动聚合与翻译,仅作出处跳转。

← 返回 AI 资讯列表AI工具图鉴首页

返回 AI宝库首页 · 提交工具 · 商务合作 · 关于本站 · 595 款 AI 工具分类导航 · 每日 AI 热门项目与动态