C++项目:分布式大模型基础架构

1、底层通信组件方案
通信模式封装
支持兼容多种通信模式
普通消息模式:PUB/SUB(发布订阅)、PUSH/PULL(点对点通信)
RPC 模式:通过ZMQ_REP、ZMQ_REQ 封装 RPC 功能
RPC功能
支持 RPC 方法的动态注册
提供默认的 RPC 方法列表查询
支持 RPC 调用
2、Master模块(实现思路:类似ROS1 Master功能, 更轻量化)
背景:分布式大模型系统中,多个节点(如llm/vlm, asr,tts, camera,yolo)需要动态发现彼此并高效通信,外部用户可以动态管理节点内任务调度
​​节点注册与发现​
实现轻量化内存kv缓存数据库:存储节点元信息;并提高sql查询接口,供节点动态通信
节点启动时向Master模块注册,上报自身元信息;节点通信时自动匹配
动态任务调度分配
设计用户请求-任务匹配机制:外部用户仅封装简易数据包请求,可实现动态控制各个模块(启停/llm推理等)
3、Channel模块
封装上层发布-订阅(PUB/SUB)和点对点通信(PUSH/PULL)混合通信模式
设计闭包,通过闭包将​​网络层​​(ZeroMQ)与​​业务层​​(用户回调)解耦,同时隐式维护了通信上下文状态。
4、Infra基础架构模块
rpc分布式控制指令下发+异步​事件驱动架构​
​注册rpc_setup/rpc_pause等分布式控制接口->注册eventpp事件监听->上层触发rpc调用 -> 添加eventpp事件队列中-> 异步事件驱动->各子类Setup/Pause等功能接口
标准化控制协议​​
基于抽象接口(Setup/Pause等)实现跨模块统一管控,支持LLM/ASR/TTS等异构节点无缝集成
5、TASK模块
与Infra模块关系:类似与进程和线程之间关系,Infra模块负责资源分配和流程管控,TASK模块是真正干活的,干的活如下:
各模块中模型生命周期管理(加载/卸载)
infra推理
包装回调输出
等等
#C++要学到什么程度#  #实习#  #项目#  #c++方向#  #c++项目#
全部评论
多个项目评价都不错
点赞 回复 分享
发布于 2025-06-15 10:47 江苏
项目设计方案
点赞 回复 分享
发布于 2025-06-15 10:42 江苏
C++分布式大模型基础架构项目-初版 代码仓库地址:https://github.com/superxiaobai-1/Edge-LLM-Infra/tree/master 后续会完善代码,更新详细视频文档解析
点赞 回复 分享
发布于 2025-06-15 10:39 江苏

相关推荐

昨天 19:06
已编辑
西北工业大学 Java
点赞 评论 收藏
分享
白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
2
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务