跳转至

基础模块(Base Module)

概述

基础模块定义参数服务器的核心抽象接口和数据结构,为不同协议实现提供统一的编程接口。

核心接口

BaseParameterServer

服务器抽象基类,所有具体实现(gRPC、bRPC)继承此类。

方法 说明
Init(const json& config) 初始化服务器配置
Run() 启动服务器主循环(阻塞)

BasePSClient

客户端抽象基类,定义参数操作接口。

方法 参数 返回值 说明
GetParameter keys, values int 同步获取参数
PutParameter keys, values int 设置参数初值
UpdateParameter table_name, keys, grads int 更新参数
InitEmbeddingTable table_name, config int 初始化嵌入表
AsyncGetParameter keys, values int 异步获取参数
PrefetchParameter keys uint64_t 预取参数,返回 ID
IsPrefetchDone prefetch_id bool 检查预取是否完成
WaitForPrefetch prefetch_id void 等待预取完成
GetPrefetchResult prefetch_id, values bool 获取预取结果
Command command void 执行控制命令

数据结构

ParameterCompressItem

参数压缩存储格式:

字段 类型 说明
key uint64_t 参数键
dim int 参数维度
embedding float[] 可变长度数据

相关类型: - ParameterPack - 压缩打包工具 - ParameterCompressor - 压缩器 - ParameterCompressReader - 解压读取器

EmbeddingTableConfig

嵌入表配置结构:

字段 类型 说明
num_embeddings uint64_t 嵌入数量
embedding_dim uint64_t 嵌入维度

PSCommand

系统控制命令枚举:

命令 说明
CLEAR_PS 清空参数服务器
RELOAD_PS 重新加载参数
LOAD_FAKE_DATA 加载测试数据

文件组织

文件 说明
base_ps_server.h 服务器抽象基类
base_client.h / .cc 客户端抽象基类
parameters.h / .cpp 参数数据结构
config.h / .cc 配置管理
cache_ps_impl.h 缓存实现
Postoffice.h / .cc 进程间通信
shard_manager.h 分片管理