parameter server 源码剖析

首先调用Start(int customer_id, const char* argv0 =nullptr)。这个函数其实就是把进程block,直到所有的node准备完毕。


Postoffice:负责初始化相关的操作

全局维护一个static对象,

Postoffice::InitEnvironment():该函数主要是读取配置文件,获取work/server数量,以及通过DMLC_ROLE得到该node的类型(work/server/scheduler),

Postoffice::Start:该函数会block住,初始化相关的环境,包括配置信息,以及node信息,把node进行注册

WorkerRankToID:把node的id转化为worker的rank,worker的rank都是奇数;

ServerRankToID:把node的id转化为server的rank,server的rank都是偶数;

为什么server的rank最小值为8,worker为9呢?因为kServerGroup=2,kWorkerGroup=4,kScheduler=1,这几种组合起来是1-7。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容