Files
cubelinux-2/cubesys/Cargo.toml
T
CUBELinux-2 6209955b46 feat(cubesys): Task 4 reader/writer sharding (Mutex -> RwLock)
ConcurrentStore.inner is now Arc<RwLock<CubeStore>>: all read paths take the
read side, all mutations + checkpoint take the write side. Readers no longer
exclude each other and overlap an active writer (verified by
concurrent_reads_dont_block_on_writer + cube-bench Task 4 section). WAL,
checkpoint, and coordinate encoding are untouched, so durability/replay is
unchanged (.check green).

Honest finding recorded in docs/task4-reader-writer-sharding.md: on this 8-core
host std RwLock removes reader-vs-reader exclusion (correct) but shows no
wall-clock speedup for short reads (cache-line bounce on one shared lock). Real
read-throughput scaling would need sharded/lock-free storage, left as a
follow-up decision rather than invented.
2026-08-11 12:20:08 -04:00

35 lines
844 B
TOML

[package]
name = "cubesys"
version = "0.1.0"
edition.workspace = true
license.workspace = true
description = "CUBELinux-2 system integration: one CubeStore shared by cubefs, cubecode and cubecrypt (PDF Packages 3-5 bound into a single running system)."
[features]
# Exposes low-level internals (e.g. `ConcurrentStore::inner_write`) used only
# by the `cube-bench` crate to measure reader/writer sharding directly.
bench = []
[dependencies]
cubecoords = { path = "../cubecoords" }
cubestore = { path = "../cubestore" }
cubefs = { path = "../cubefs" }
cubecode = { path = "../cubecode" }
cubecrypt = { path = "../cubecrypt" }
[[bin]]
name = "cube"
path = "src/bin/cube.rs"
[[bin]]
name = "cube-demo"
path = "src/bin/cube_demo.rs"
[[bin]]
name = "cube-server"
path = "src/bin/cube-server.rs"
[[bin]]
name = "cubec"
path = "src/bin/cubec.rs"