C++项目|分布式大模型基础架构
1. 项目背景:
针对端侧设备(树莓派、昇腾、RK系列)的低资源环境,设计一套轻量化分布式框架,实现大模型(LLM/ASR/TTS等)的高效协同推理,解决端侧设备算力分散、通信受限、动态扩展难等问题。
技术栈:Linux、C++、ZMQ、设计模式、分布式架构、主从Reactor模式、docker、cmake、shell
3. 项目设计方案
1. 双模式部署设计:设计Docker与裸机双部署方案,通过自动化镜像部署和容器操作脚本,环境部署效率提升70%
2. 底层混合通信组件:
- 设计基于ZMQ的多模式通信中间件,通过工厂模式统一创建PUB/SUB、PUSH/PULL、RPC等6种通信策略,结合策略模式实现动态通信方式切换,降低业务层网络代码复杂度70%;
- 构建高可用RPC框架,支持方法动态注册与服务发现,通过设置双端超时控制与自动重连机制提高通信可靠性;
- 设计ZMQ消息封装模块,开发轻量级序列化协议,采用长度前缀+紧凑存储结构设计实现多参数打包/解包
3. channel模块设计:
- 统一管理底层多模式通信中间件的ZMQ连接,支持动态URL绑定,信道注册
- 设计观察者模式和闭包方案,实现网络层与业务逻辑的解耦
- 通过动态work_id路由和连接池技术,实现多unit单元通信隔离
- JSON协议设计,用于节点间/外部用户消息交互
4. 分布式任务调度框架设计-与业务节点关系(继承)
- 采用 Reactor模式,设计异步事件驱动的任务调度框架,通过eventpp实现毫秒级事件响应
- 动态RPC服务注册,支持跨业务节点 setup/exit 等指令的远程调用
- 统一管理 work_id-channel 连接池,对上层业务节点屏蔽底层通信复杂性
- 提供标准化setup等虚函数接口,支持业务节点自定义任务处理逻辑
5. unit-manager模块
- 设计RPC服务注册,实现信道自动注册/释放,SQL处理;并解析 action 实现动态分发请求
- 实现轻量化内存kv缓存数据库 存储 unit 元信息;并提供线程安全SQL查询接口,供节点动态通信
- 设计多协议网关,实现TCP/ZMQ协议转换,支持外部用户-内部业务节点通信交互
- 设计主从多Reactor TCP通信框架,实现压测10000+TCP并发连接
6. Node业务层接口设计
- TASK任务管理:实现单任务实例管理,模型加载/推理/流式输出回调机制等
- 服务层控制:自定义实现setup等接口,对业务节点进行生命周期管理,实现节点间相互订阅
#简历中的项目经历要怎么写# #项目# #C++方向# #c++项目# #cpp还是java# #后端开发#
针对端侧设备(树莓派、昇腾、RK系列)的低资源环境,设计一套轻量化分布式框架,实现大模型(LLM/ASR/TTS等)的高效协同推理,解决端侧设备算力分散、通信受限、动态扩展难等问题。
技术栈:Linux、C++、ZMQ、设计模式、分布式架构、主从Reactor模式、docker、cmake、shell
3. 项目设计方案
1. 双模式部署设计:设计Docker与裸机双部署方案,通过自动化镜像部署和容器操作脚本,环境部署效率提升70%
2. 底层混合通信组件:
- 设计基于ZMQ的多模式通信中间件,通过工厂模式统一创建PUB/SUB、PUSH/PULL、RPC等6种通信策略,结合策略模式实现动态通信方式切换,降低业务层网络代码复杂度70%;
- 构建高可用RPC框架,支持方法动态注册与服务发现,通过设置双端超时控制与自动重连机制提高通信可靠性;
- 设计ZMQ消息封装模块,开发轻量级序列化协议,采用长度前缀+紧凑存储结构设计实现多参数打包/解包
3. channel模块设计:
- 统一管理底层多模式通信中间件的ZMQ连接,支持动态URL绑定,信道注册
- 设计观察者模式和闭包方案,实现网络层与业务逻辑的解耦
- 通过动态work_id路由和连接池技术,实现多unit单元通信隔离
- JSON协议设计,用于节点间/外部用户消息交互
4. 分布式任务调度框架设计-与业务节点关系(继承)
- 采用 Reactor模式,设计异步事件驱动的任务调度框架,通过eventpp实现毫秒级事件响应
- 动态RPC服务注册,支持跨业务节点 setup/exit 等指令的远程调用
- 统一管理 work_id-channel 连接池,对上层业务节点屏蔽底层通信复杂性
- 提供标准化setup等虚函数接口,支持业务节点自定义任务处理逻辑
5. unit-manager模块
- 设计RPC服务注册,实现信道自动注册/释放,SQL处理;并解析 action 实现动态分发请求
- 实现轻量化内存kv缓存数据库 存储 unit 元信息;并提供线程安全SQL查询接口,供节点动态通信
- 设计多协议网关,实现TCP/ZMQ协议转换,支持外部用户-内部业务节点通信交互
- 设计主从多Reactor TCP通信框架,实现压测10000+TCP并发连接
6. Node业务层接口设计
- TASK任务管理:实现单任务实例管理,模型加载/推理/流式输出回调机制等
- 服务层控制:自定义实现setup等接口,对业务节点进行生命周期管理,实现节点间相互订阅
#简历中的项目经历要怎么写# #项目# #C++方向# #c++项目# #cpp还是java# #后端开发#
全部评论
项目适用岗位:互联网C++后端,大模型端侧应用开发,自动驾驶/机器人C++开发
⚠️加入星球服务|获取所有项目视频/文档/答疑;免费1对1视频会议简历辅导/职业规划/学习路线指导⚠️
mark
相关推荐
06-23 18:17
重庆大学 C++ 某公司一颗钉子:可以看看这几个项目
web多人聊天:https://www.bilibili.com/video/BV1iYtrezEkA/
仿微信聊天:https://www.bilibili.com/video/BV1XukbYmEY5/
多线程任务队列系统:https://www.bilibili.com/video/BV1XS9dYsE9d/
RPC项目:https://www.bilibili.com/video/BV176Niz8ENj/
云存储:https://www.bilibili.com/video/BV1XPfTY8EGD/
点赞 评论 收藏
分享
06-09 19:55
郑州大学 算法工程师 点赞 评论 收藏
分享
07-03 12:15
广州应用科技学院 golang 点赞 评论 收藏
分享