Tensorflow分布式原理理解分布式原理理解
实现原理
图1.1 TensorFlow单机版本和分布式版本的示例图
TensorFlow计算图的运行机制
客户
客户端基于TensorFlow的编程接口,构造计算图。此时,TensorFlow并未执行任何计算。直至建立会议会话,并以会议为桥
梁,建立客户端与后端运行时的通道,将的Protobuf格式的GraphDef发送至分布式Master。也就是说,当客户对OP结果进行
求值时,将触发Distributed Master的计算图的执行过程。如下图所示,Client构建了一个简单计算图。它首先将w与x进行矩阵
相乘,再与截距b按位相加,最后更新至第
图1.2简单的TensorFlow计算图分布式主
在分布式的运行时环境中,Distributed Master根据Session.run的Fetching参数,从计算图中反向遍历,找到所依赖的最小子
图。然后Distributed Master负责将该子图再次分裂为多个「子图片段“,以便在不同的进程和设备上运行这些”子图片段“。最
后,分布式大师将这些图片段派发给工作服务。随后工作服务启动「本地子图」的执行过程.Distributed Master将会缓存「子
图片段」,以便后续执行过程重复使用这些「子图片段」,避免重复计算。