章节 01
Splinter:无锁零拷贝共享内存KV与向量存储库核心导读
Splinter 核心导读
Splinter 是一款极简主义的高性能键值(KV)与向量存储系统,通过共享内存和原子操作实现进程间零延迟通信。其核心代码仅766行,却能支持每秒数百万次操作和768维向量存储,为本地LLM推理和数据密集型应用提供了全新架构思路——告别socket连接与memcpy开销,直接在用户态共享内存。
正文
Splinter 是一款极简主义的高性能键值与向量存储系统,通过共享内存和原子操作实现进程间零延迟通信,核心代码仅 766 行,却能支持每秒数百万次操作和 768 维向量存储,为本地 LLM 推理和数据密集型应用提供了全新的架构思路。
章节 01
Splinter 是一款极简主义的高性能键值(KV)与向量存储系统,通过共享内存和原子操作实现进程间零延迟通信。其核心代码仅766行,却能支持每秒数百万次操作和768维向量存储,为本地LLM推理和数据密集型应用提供了全新架构思路——告别socket连接与memcpy开销,直接在用户态共享内存。
章节 02
现代AI应用中,传统IPC方案(如Redis、SQLite及各类向量数据库)依赖内核网络协议栈、socket连接、序列化/反序列化及内存拷贝,成为延迟敏感场景的性能瓶颈。Splinter的诞生源于开发者对现有工具链的挫败感:传统数据库的架构局限(内核网络层与仲裁服务的不必要耦合)无法通过调优解决。其核心理念是:本地进程通信可直接在用户态共享内存,绕过内核层层包装。
章节 03
Splinter的架构可用游泳馆类比:
此外,被动式设计(无守护进程,仅共享内存区域)、DRYD原则(数据发布而非发送,直接访问)、静态几何结构(避免碎片化与垃圾回收)、无锁原子操作(seqlock支持INCR/DECR等原地操作)、NUMA亲和性(写入速度可达5亿次/秒)也是核心架构亮点。
章节 04
章节 05
章节 06
适用场景:
与传统向量数据库对比:
| 特性 | Splinter | 传统向量数据库 |
|---|---|---|
| 传输层 | memfd优雅降级到mmap(L3速度) | TCP/gRPC(网络协议栈) |
| 守护进程 | 无(被动式) | 活跃服务(重量级) |
| 内存占用 | 静态且可预测 | 动态且不稳定 |
| 代码复杂度 | 766行C(核心) | 10万行以上 |
章节 07
平台:现代GNU/Linux;Windows可通过WSL(略有性能损失);macOS需变通方案(无memfd支持)。
可选依赖:
纯KV模式:构建时WITH_EMBEDDINGS=0(无向量分区)。
章节 08
Splinter代表回归效率的系统开发姿态:在CPU周期与内存带宽被视为无限的今天,它提醒我们本地IPC可绕过socket层与内核仲裁。它不是万能方案,而是为追求极致延迟的工程师提供的利器。
项目作者Tim Post(前Stack Overflow员工)称:Splinter假设“知情的意图”——不试图比内核更聪明,而是提供元数据与内存区域后让开道路。
项目采用Apache 2.0许可证,代码托管于GitHub,文档站点正在建设中。