angel

PSF简介


作为标准的参数服务器系统,一般会提供基本的参数获取(pull)和更新(push)功能。

但实际应用中,各个算法对参数服务器上的参数获取和更新,却远远不只这么简单,尤其是当算法需要实施一些特定的优化的时候。

举个例子,有时候要得到矩阵中某一行的最大值,如果只有基本的参数获取的Pull接口,那么Client只能先将该行的所有列,都从参数服务器上拉取回来,然后在Worker上计算得到最大值,这样会产生很多的网络通信开销,对性能会有影响。

为了解决类似的问题,Angel对参数获取和更新的流程进行了抽像,提出了PSF的概念。

1. 步骤

Angel参数的获取和更新都是有固定的步骤,具体如下:

2. 接口

根据这两个共有流程Angel实现了两个通用的接口

而一些与具体流程相关的部分:

等部分都可以交给应用程序实现。从而在不更改PS的前提下,用户可以方便的实现了对PS功能进行扩展。