AI-Native & Cloud-Native FS: A high-performance file semantic layer for cloud object storage, integrated with high-speed cache. CNCF Sandbox Project.
AI-Native & Cloud-Native FS: A high-performance file semantic layer for cloud object storage, integrated with high-speed cache. CNCF Sandbox Project.
English | 简体中文 | Deutsch | Español | français | 日本語 | 한국어 | Português | Русский
Curvine: AI-Native & Cloud-Native File System — A high-performance POSIX file semantic layer built on top of cloud object storage, with an integrated multi-tier distributed cache, designed from the ground up for large-scale AI workloads and AI Agent platforms.
Name Origin — "Curvine" is derived from "Curvature Engine", the faster-than-light propulsion device in Liu Cixin's sci-fi novel The Three-Body Problem. It symbolizes the project's pursuit of extreme acceleration for data access.
For more detailed information, please refer to:
Curvine is a high-performance distributed cache file system built in Rust. It layers a distributed POSIX file system over cloud object storage, exposing full POSIX semantics upward while using object storage as the durable persistence layer downward. The architecture is organized into four cooperating layers, each color-coded in the diagram below:
cv CLI.curvine-fuse), an S3-compatible gateway, an HDFS/UFS adapter, Java/Python/Rust SDKs, and a native Kubernetes CSI driver for PVC provisioning.Data flow at a glance: applications reach Curvine through any interface in the Protocol layer; metadata operations are routed to the Master via RPC, while data I/O is served directly by the Workers. On a cache miss, Workers fetch from — and persist back to — the underlying object storage. For Kubernetes workloads, the CSI driver mounts the FUSE file system directly as a PVC, so provisioning is just a mkdir on the shared namespace — millisecond-level, with no cloud control-plane API calls.
Immediate binding, volume expansion, and Helm-based cluster deployment.open, read, write, seek, rename, list — enabling tools like Vite, inotify/fswatch, and git to work unmodified.Curvine is engineered for high-concurrency, low-latency workloads. Built on a Rust + Tokio async core with zero-copy data paths, it sustains ~100μs-class latency, 100K+ stable QPS, and 5 billion small files per cluster. The benchmarks below illustrate its edge in both metadata operations and raw data throughput.
All benchmark comparisons were conducted with a concurrency level of 40.
| Operation Type | Curvine (QPS) | JuiceFS (QPS) | OSS (QPS) |
|---|---|---|---|
| create | 19,985 | 16,000 | 2,000 |
| open | 60,376 | 50,000 | 3,900 |
| rename | 43,009 | 21,000 | 200 |
| delete | 39,013 | 41,000 | 1,900 |
Industry benchmark test data of comparable products: https://juicefs.com/zh-cn/blog/engineering/meta-perf-hdfs-oss-jfs
Benchmarking against Alluxio under identical hardware conditions.
256K sequential read
| Thread count | Curvine Open Source Edition (GiB/s) | Open Source Alluxio (GiB/s) |
|---|---|---|
| 1 | 2.2 | 0.6 |
| 2 | 3.7 | 1.1 |
| 4 | 6.8 | 2.3 |
| 8 | 8.9 | 4.5 |
| 16 | 9.2 | 7.9 |
| 32 | 9.5 | 8.8 |
| 64 | 9.2 | N/A |
| 128 | 9.2 | N/A |
256K random read
| Thread count | Curvine Open Source Edition (GiB/s) | Open Source Alluxio (GiB/s) |
|---|---|---|
| 1 | 0.3 | 0.0 |
| 2 | 0.7 | 0.1 |
| 4 | 1.4 | 0.1 |
| 8 | 2.8 | 0.2 |
| 16 | 5.2 | 0.4 |
| 32 | 7.8 | 0.3 |
| 64 | 8.7 | N/A |
| 128 | 9.0 | N/A |
Data disclosure from Alluxio official website: https://www.alluxio.com.cn/alluxio-enterprise-vs-open-source/.
Benefiting from Rust language features, in big data shuffle acceleration scenarios, comparing resource consumption between Curvine and Alluxio in production environments shows that memory usage is reduced by over 90%, and CPU usage is reduced by over 50%.
Please read Curvine Contribute guidelines
Curvine is licensed under the Apache License 2.0.
Made with contrib.rocks.
No open issues yet, or sync has not completed.