Kubernetes上启动分布式TensorFlow作业的主要方式之一是使用Google Cloud开源的Kubeflow。Kubeflow是Kubernetes的一个插件,它负责安排分布式作业中各个进程在哪些机器上运行,并为每个进程提供其他进程的IP地址和端口号。这对于满足基于TensorFlow ps-based distribution方式(即左上角中的方式)的要求非常重要。在TensorFlow 1.x中,原生的分布式训练功能使得作业中的所有进程执行TensorFlow 1.x runtime程序。这些进程之间通过通信和协调,形成一个分布式运行时,用于解释和执行表示深度学习计算过程的计算图。在分布式训练开始时,TensorFlow运行时将计算图拆分为多个子图,每个进程负责执行一个子图。如果任何一个进程失败(可能由于更高优先级作业的抢占),整个大图的执行都将失败。