Angel的架構

Angel的架構

4 人贊了文章

angel worker的架構如下:

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

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


推薦閱讀:

自動駕駛的技術架構和生態發展
個人門戶系統技術架構

TAG:系統架構 | 技術架構 | 架構 |