docs: 更新PPT和演示视频
ShmRPC 是一套基于共享内存的高性能跨节点进程间通信系统,通过共享内存重构 RPC 数据路径,在虚拟化环境下实现亚微秒级延迟和百万级 QPS 吞吐。
本系统基于共享内存机制实现跨节点通信,已在以下环境中完成验证:
/dev/shm
本系统已在 openEuler 24.03 LTS 和 Fedora 39 上完成测试,其他 Linux 发行版理论上兼容。
git clone https://gitlink.org.cn/IAA3CqSP9m/jykjhlzxdgxnrxt.git cd jykjhlzxdgxnrxt mkdir build && cd build cmake .. && make -j4
终端 1 — 启动服务端
./server_demo
终端 2 — 运行客户端
./client_demo
终端 3 — 启动 Web 监控面板
python3 tools/dashboard.py
浏览器打开 http://localhost:5000
http://localhost:5000
jykjhlzxdgxnrxt/ # 仓库根目录 ├── benchmark/ # 性能测试程序 │ ├── benchmark.cpp # ShmRPC 性能基准测试(混合负载/纯整数/大字符串) │ └── tcp_benchmark.cpp # TCP 环回对比测试(用于性能对比) │ ├── examples/ # 示例程序 │ ├── client_demo.cpp # 客户端演示程序(调用所有 RPC 接口) │ ├── server_demo.cpp # 服务端演示程序(注册 add/mul 等函数) │ └── kv_client.cpp # KV 存储命令行工具(供 Web 监控调用) │ ├── include/ # 公共头文件 │ └── rpc_common.h # 共享内存布局、槽位结构、状态机、通信协议定义 │ ├── src/ # 核心源码 │ ├── rpc_client.cpp # 客户端核心实现(连接、请求发送、结果等待) │ ├── rpc_client.h # 客户端接口声明 │ ├── rpc_server.cpp # 服务端核心实现(初始化、槽位处理、僵尸回收) │ └── rpc_server.h # 服务端接口声明 │ ├── tools/ # 辅助工具 │ └── dashboard.py # Web 实时监控面板(Flask + Chart.js) │ ├── CMakeLists.txt # CMake 编译配置文件 ├── README.md # 项目说明文档 └── 作品原创承诺书.docx # 参赛承诺书
本项目采用迭代增量模型进行开发,各版关键本核心演进节点如下:
各版本均对应本地开发过程中的迭代快照,当前提交的 v17.0 版本整合了上述所有演进成果。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
基于CXL共享内存的高性能跨节点 RPC 系统
ShmRPC 是一套基于共享内存的高性能跨节点进程间通信系统,通过共享内存重构 RPC 数据路径,在虚拟化环境下实现亚微秒级延迟和百万级 QPS 吞吐。
核心特性
性能数据
快速开始
运行环境
本系统基于共享内存机制实现跨节点通信,已在以下环境中完成验证:
/dev/shm)编译
运行
终端 1 — 启动服务端
终端 2 — 运行客户端
终端 3 — 启动 Web 监控面板
浏览器打开
http://localhost:5000目录结构
jykjhlzxdgxnrxt/ # 仓库根目录 ├── benchmark/ # 性能测试程序 │ ├── benchmark.cpp # ShmRPC 性能基准测试(混合负载/纯整数/大字符串) │ └── tcp_benchmark.cpp # TCP 环回对比测试(用于性能对比) │ ├── examples/ # 示例程序 │ ├── client_demo.cpp # 客户端演示程序(调用所有 RPC 接口) │ ├── server_demo.cpp # 服务端演示程序(注册 add/mul 等函数) │ └── kv_client.cpp # KV 存储命令行工具(供 Web 监控调用) │ ├── include/ # 公共头文件 │ └── rpc_common.h # 共享内存布局、槽位结构、状态机、通信协议定义 │ ├── src/ # 核心源码 │ ├── rpc_client.cpp # 客户端核心实现(连接、请求发送、结果等待) │ ├── rpc_client.h # 客户端接口声明 │ ├── rpc_server.cpp # 服务端核心实现(初始化、槽位处理、僵尸回收) │ └── rpc_server.h # 服务端接口声明 │ ├── tools/ # 辅助工具 │ └── dashboard.py # Web 实时监控面板(Flask + Chart.js) │ ├── CMakeLists.txt # CMake 编译配置文件 ├── README.md # 项目说明文档 └── 作品原创承诺书.docx # 参赛承诺书
开发历程
本项目采用迭代增量模型进行开发,各版关键本核心演进节点如下:
各版本均对应本地开发过程中的迭代快照,当前提交的 v17.0 版本整合了上述所有演进成果。