请选择 进入手机版 | 继续访问电脑版

Angel的架构

2019-1-29 12:36
1280
angel worker的架构如下:
Angel的架构-1.jpg
LRLearner不断读取DataBlock,训练得到PSModel
ConsistencyController提供BSP,SSP,ASYNC三种一致性
MatrixClientAdapter 一个user请求(比如pull请求)对应到多个ps的rpc请求,合并多个rpc请求结果
MatrixTransportClient 用事件触发Get,Put等请求,启动heartbeat线程检查灰度ps
MatriceCache存储matrix的各个partition
MatrixStore存储一个Matrix


angel master启动MasterService,这是一个rpc server
Angel的架构-2.jpg
Client,Parameter Server, Worker的PSAgent分别通过rpc调用,和MasterService传递控制信息
数据传输走netty的channel,不通过rpc


Parameter Server中的组件:
PSLocationManager 有一个LocationManager,里面记录ParameterServerId到Location的映射,WorkerId到Location的映射,以及masterLocation
WorkerPool 在handleRpc函数中处理GET_ROWSPLIT,GETROWSSPLIT,GET_PART,PUT_PARTUPDATE,GET_CLOCKS,UPDATER,RECOVER_PART,UPDATE_CLOCK等消息
MatrixStorageManager 用一个map记录matrixId到MatrixStorage的映射,MatrixStorage管理一个Matrix,用一个map记录Rowid到Row(TVector)的映射
ClockVectorManager 用一个map记录matrixId到MatrixClockVector的映射,MatrixClockVector用一个map记录partId到PartClockVector的映射,PartClockVector记录每个task的clock,并维护一个minclock
PSMatrixMetaManager 用一个map记录matrixId到MatrixMeta的映射
MasterClient 向MasterService发送rpc调用
ParameterServerService 一些psThreadStack,psToken等简单rpc服务
MatrixTransportServer 基于netty实现的server,注册MatrixTransportServerHandler处理请求,最终请求调用WorkerPool.handlerRpc处理
PeriodPusher 多个ps副本直接异步复制
SnapshotDumper 定时dump矩阵到hdfs,调用MatrixStorageManager.save
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翁笔

Powered by Discuz! X3.3 © 2001-2018 Comsenz Inc.

返回顶部