目录
Cluster、Job、Task 概念
Job是Task的集合. Cluster是Job的集合
Task
Task就是主机上的一个进程,在大多数情况下,一个机器上只运行一个Task.
Job
在分布式深度学习框架中,我们一般把Job划分为Parameter和Worker。
- Parameter Job是管理参数的存储和更新工作.
- Worker Job是来运行ops.如果参数的数量太大,一台机器处理不了,这就要需要多个Tasks.
Cluster
Cluster 是 Jobs 的集合: Cluster(集群),就是我们用的集群系统了
代码
Task代码
tf.train.ClusterSpec({
"worker": [
"worker_task0.example.com:2222",# /job:worker/task:0 运行的主机
"worker_task1.example.com:2222",# /job:worker/task:1 运行的主机
"worker_task2.example.com:2222"# /job:worker/task:3 运行的主机
],
"ps": [
"ps_task0.example.com:2222", # /job:ps/task:0 运行的主机
"ps_task1.example.com:2222" # /job:ps/task:0 运行的主机
]})
In-graph 和 Between-graph
同步更新、异步更新
参考
- https://blog.csdn.net/u012436149/article/details/53140869
- 分布式原理理解
- https://blog.csdn.net/tiangcs/article/details/85952007