🔄Latest News
-
[2026/06] MemCache使能推理PrefixCache加速案例实践,请关注wiki主页案例库获取最新案例
-
[2025/12] MemCache已作为vllm-ascend backend使能大模型推理加速,详情查看vllm-ascend开源社区,使用示例
-
[2025/11] MemCache项目于2025年11月开源,开源社区地址为:https://gitcode.com/Ascend/memcache
🔜 Roadmap&发布策略
MemCache roadmap详见: Roadmap MemCache 分支发布策略:分支发布策略
🎉概述
MemCache是针对LLM推理、GR推理场景设计的高性能分布式KVCache存储引擎,其主要特性包括:
- 基于对象操作的API:支持批量和非批量的put/get/exist/remove操作,支持多层结构的KV Block读写接口。
- 多层缓存池:支持HBM,DDR,SSD组成多级缓存池,多级之间通过淘汰和预取进行数据冷热交换。
- 高带宽低时延:使用 MemFabric 作为多级内存和异构网络传输的底座,在Ascend硬件上,基于device_rdma(A2)、device_sdma(A3)、host_rdma(A2/A3)、device_urma(A5)、device_uboe(A5) 等路径提供OneCopy跨机跨介质数据直接访问能力,满足高带宽,低时延的读写性能述求。在鲲鹏硬件上,支持host_urma(K5)。支持host_shm实现同节点共享内存通信。
- 支持扩缩容:支持LocalService动态加入和移除
- HA能力:在K8S集群中,MetaService支持多活能力,支持元数据恢复,提供尽力而为的HA能力。
🧩核心组件
MemCache包含LocalService和MetaService两大核心组件:
-
MetaService:
- 负责管理整个集群中内存池空间的分配和管理,处理LocalService的加入与退出。
- MetaService作为独立进程运行,提供两种启动方式:python API启动;二进制启动,详见 whl安装使用 和 run安装使用
- MetaService支持两种部署形态: 1、单点模式:MetaService由单个进程组成,部署方式简单,但存在单点故障的问题。如果MetaService进程崩溃或无法访问,系统将无法继续提供服务,直至重新恢复为止。 2、HA模式:该模式基于K8S的的ClusterIP Service和Lease资源构建,部署较为复杂,该模式会部署多个MetaService进程实例,实现多活高可用。部署详见怎么部署一个MemCache的HA集群
-
LocalService:负责承担如下功能:
- 客户端:作为客户端,以whl/so形式作为共享库被应用进程加载调用API
- 内存提供者:负责提供一段连续的内存区域作为内存池空间的一部分,其内存可以被其他LocalService实例基于地址直接访问。
🔥性能表现
MemCache核心能力是提供大容量内存池和高性能的H2D、D2H、D2RH、RH2D数据访问能力,由于MemCache以 MemFabric 作为池化底座,所以支持RH2D、D2RH等OneCopy跨机跨介质数据直接访问能力,下图为RH2D对比其他中转路径的对比示意图。
基于OneCopy跨机跨介质数据直接访问的能力,MemCache在A2/A3做了相关性能测试如下: 模拟构造DeepSeek-R1模型KV大小的block,单个block size为:61x128K + 61x16K = 8784KB ≈ 8.57MB,共122个离散地址。
- 使用2个昇腾A2节点(每节点8张卡)组成双机内存池进行读写测试性能如下:
- 使用2个昇腾A3节点(每节点8张卡16Die)组成双机内存池进行读写测试性能如下:
🚀快速入门
请访问以下文档获取简易教程。
- 安装使用:whl安装和使用(适用于Python用户),run编译、安装和使用(适用于C++用户)
- 配置文件:涉及MetaService、LocalService公共配置
- 样例执行:介绍如何端到端执行样例代码,包括C++和Python样例
- DevContainer 远端开发:VS Code Remote-SSH + DevContainer 一站式开发环境搭建与全量示例运行指南
📑学习教程
📦软件硬件配套说明
- MemCache软件依赖 MemFabric,相关配套与MemFabric相同
📌FAQ
常见问题请参考:FAQ
📝相关信息
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file memcache_hybrid-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: memcache_hybrid-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 13.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04f3e3913588004792445c8a9e58dae89155274c4606daa87afb000e5228bbdc
|
|
| MD5 |
81283dc2d4bdb86b91dc6919707647fd
|
|
| BLAKE2b-256 |
f78087ea91b2aba2a9f7c1fd755c1493615af5a4d71a76fea9bff128313a6fce
|
File details
Details for the file memcache_hybrid-1.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: memcache_hybrid-1.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 12.3 MB
- Tags: CPython 3.13, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6469161d01e77dcd1cef4c40a7707b34897d4a2f0283e206b47945d6d8aadd27
|
|
| MD5 |
e14dbb091beb187df6c696ff9a0f05ba
|
|
| BLAKE2b-256 |
5a4913262aa9b129a48b3628a60e3707a283d77273bb6a775c524a67aae15eac
|
File details
Details for the file memcache_hybrid-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: memcache_hybrid-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 13.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ada27d3d50ee6e788d2f642dc3dbe31e571e8346f7286cdcf5e05f522e6960a4
|
|
| MD5 |
b59b345b305c9ee7b249bd45386929dd
|
|
| BLAKE2b-256 |
de33fb5af44da501229ea4fc63626482ae27f1c746d64d902483f254dd1f4255
|
File details
Details for the file memcache_hybrid-1.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: memcache_hybrid-1.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 12.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b019a74c46c7cf3307276e50664725de8725daa0672bbb2715e6eaa76daacc39
|
|
| MD5 |
234718a33ec13754f16f06ec4088c527
|
|
| BLAKE2b-256 |
a33ff3276b57a648a4112f2e131816ded5a070ad563c5b10671877a158b76928
|
File details
Details for the file memcache_hybrid-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: memcache_hybrid-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 13.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c897aadd8f39fcbd79c66ad219ed51ed58787c52ae192edbd2e87c669afa3e01
|
|
| MD5 |
8790731227f682ce284a184544571cc6
|
|
| BLAKE2b-256 |
16f85a07a4a1824171abefc86c697d7b65b04771194d51b6cf19cf9bc9d10b73
|
File details
Details for the file memcache_hybrid-1.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: memcache_hybrid-1.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 12.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26fb1e0fe8998a402b1fccc114f174df56ae1bf2ee5860fb88e001546cb92bc9
|
|
| MD5 |
c594752772fb966489d62884c32df6a8
|
|
| BLAKE2b-256 |
dc91d4d9f2307999446120ce3fba3dd3ca266f461a96181a42352ecde38a316a
|
File details
Details for the file memcache_hybrid-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: memcache_hybrid-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 13.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
606489559de754e156031edee1f3ee96d6320587ba490df17bf27473204bc4e8
|
|
| MD5 |
87f2294b37874cade0509636c0c55b00
|
|
| BLAKE2b-256 |
e690b60fd7262a95ad9a3581bf8e7f91c5992b46d835577c439d43b52610ed85
|
File details
Details for the file memcache_hybrid-1.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: memcache_hybrid-1.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 12.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dba9afd50acd7244414520eebd12b00ea705a9375af1bfcaf3fb3ed150f77741
|
|
| MD5 |
3a4bddabedfbbd9d72ec053c01b441b5
|
|
| BLAKE2b-256 |
fe0e88aecdee19d93cbf228df080ef105fd8929602410cb6453ea52bf430cbe2
|