本篇文章,是学习记录笔记,并不涉及相关概念,如果需要了解该主题的内容,请购买书籍《深入理解tensorflow架构设计与实现原理》。
一、tensorflow 通信机制
tensorflow的通信机制,主要服务于运行时核心组件间的数据交换和流程控制,在数据交换方面,通信的内容主要是数据流图上节点之间传输的张量,通信的源和目标主体一般是本地进程管理的不同设备,或是参与分布式计算的不同进程。
根据单机和分布式这两种场景对通信需求的不同,将通信机制分为 进程内通信 和 进程间通信
进程内通信,主要是用于本地cpu于gpu内存之间,以及多个gpu内存之间的内存复制。
进程间通信,主要是用于跨进程的数据传输,其中涉及GPU内存的数据传输血药经过Cpu内存中转,除非使用支持RDMA协议的高性能网络且启用了第三方贡献的GDR特性。
公共的: sendop 和recvop =====> 会合点
进程间通信 ,grpc ,落实RDMA
进程内通信,内存复制
gRPC通信图:
二、数据流程图相关概念
##1.数据流图的调用栈
##2.数据流图的创建
数据流图的创建过程,全图构造、子图提取、图切分、图优化。
##3.单机会话运行
tensorflow 的核心业务逻辑的是数据流图计算,承载这一逻辑的运行时机制是会话的运行,单机会话运行流程
##4.分布式会话运行
UML类图
##5.操作节点执行
&&1.核函数
&&2.cpu上额执行流程
&&3.gpu上执行的流程