节点容错#

一个 Ray 集群由一个或多个工作节点组成,每个节点包含工作进程和系统进程(例如 raylet)。其中一个工作节点被指定为头节点,并具有额外的进程,如 GCS。

在这里,我们描述节点故障及其对任务、参与者和对象的影响。

工作节点故障#

当一个工作节点失败时,所有正在运行的任务和角色都将失败,并且该节点的工作进程拥有的所有对象都将丢失。在这种情况下,任务角色对象 的容错机制将会启动,并尝试使用其他工作节点来恢复失败。

头节点故障#

当头节点失败时,整个 Ray 集群也会失败。为了容忍头节点故障,我们需要使 GCS 容错,以便在启动新的头节点时,我们仍然拥有所有集群级别的数据。

Raylet 故障#

当一个 raylet 进程失败时,相应的节点将被标记为死亡,并被视为节点故障。每个 raylet 都关联一个唯一的 ID,因此即使 raylet 在同一台物理机上重新启动,它也会被 Ray 集群视为一个新的 raylet/节点。