Paper
Scaling Distributed Machine Learning with the Parameter Server
Arch
逻辑架构

物理架构

物理架构
- resource manager:资源分配及管理器,参数服务器使用业界现有的资源管理系统。
- training data:几十上百亿的训练数据一般存储在分布式文件系统上(比如HDFS),resource manager会均匀的分配到每个worker上。
- 参数服务器的节点被划分到一个 server group 和多个 worker group。
- server group:一次训练任务中申请的servers,用于模型参数的更新和pull应答。
- server group 中的每个 server 只负责自己分到的部分全局共享参数(server 共同维持一个全局共享参数),一般优化器在此实现。
- server 之间相互通信以便进行参数的备份/迁移。
- server group 有一个 server manager node,负责维护 server 元数据的一致性,例如节点状态,参数的分配情况。一般不会有什么逻辑,只有当有server node加入或退出的时候,为了维持一致性哈希而做一些调整。
- worker group:一次训练任务中申请的workers,用于前向过程和梯度计算。
- 每个 worker group 运行一个计算任务,worker group 中的 每个worker 使用部分数据进行训练。
- 分成多个group,这样就可以支持多任务的并行计算。
- 每个 worker group 有一个 task scheduler,负责向 worker 分配任务,并监控他们的运行情况,当有 worker 进入或者退出时,task scheduler 重新分配未完成的任务。
- worker 之间没有通信,只和对应的 server 通信进行参数更新。