根据整体的架构图,GetFunc和UpdateFunc是Angel中,最基本的2个psf类。我们不建议用户直接继承它们,从头开始写自定义的psFunc,但是了解它们的功能和运行,对于写出合理而高效的psFunc,有一定的帮助。
Pull类的请求,分为3个阶段:
请求划分
参数服务器的接口,操作的是整个模型参数。而模型参数是被划分成多个分区存储在不同的PS实例中的,因此在请求阶段,就要进行划分了
PS Client(参数服务器客户端)进行请求划分,生成一个请求列表,这个请求列表中,每一个请求都和一个模型参数分区对应
Update类的请求,也分为3个阶段:
请求划分
PSClient进行请求划分,生成一个请求列表,这个请求列表中的每一个请求都和一个模型参数分区对应。
请求发送
等待完成 等待所有请求完成后返回
无论是Get还是Update,具体的这3个阶段,其过程都是可以自定义的,从而实现千变万化的psFunc。