Skip to main content

Crate ts_l3

Crate ts_l3 

Source
Expand description

The L3 storage tier’s Host-only executor, owned by the engine host (docs/design/async-l3-cache.md).

The C++ scheduler plans each request’s storage operations and the control plane agrees on their outcomes across the replica (ts-control’s l3); this crate runs the operations on this rank: bounded queues, worker threads, the backend’s health, and the stores — the Mooncake store client, and an in-memory one for tests. Workers read and write the Host pool the data plane allocated, by address; no thread here takes the GIL, calls the scheduler or touches the GPU.

Re-exports§

pub use executor::monotonic_clock;
pub use executor::Clock;
pub use executor::Executor;
pub use executor::ExecutorConfig;
pub use executor::ExecutorError;
pub use executor::Namespace;
pub use executor::Operation;
pub use executor::StorageCompletion;
pub use executor::StorageKey;
pub use executor::StoragePoll;
pub use executor::StoragePressure;
pub use layout::GroupLayout;
pub use layout::HostLayout;
pub use layout::LayoutError;
pub use layout::Range;
pub use settings::Settings;
pub use settings::StoreSettings;
pub use store::process_memory_store;
pub use store::HostBuffer;
pub use store::IoResult;
pub use store::MemoryStore;
pub use store::Store;
pub use store::StoreError;

Modules§

executor
The executor: bounded queues of storage jobs and the worker threads that run them against the store (docs/design/async-l3-cache.md).
keys
Object keys: a namespace per deployment and weight generation, and one object per packed Host cache block.
layout
Where a scheduler Host block lives in the shared pinned Host allocation, and whether this rank owns it.
mooncake
The Mooncake store as an L3 store: zero-copy gets and puts against the registered Host pool, as SGLang’s HiCache and vLLM’s connector use it.
settings
Everything an executor starts from, as the data plane resolves it at startup (cache/l3/config.py’s L3Settings): the limits, the namespace, the Host pool and the store.
store
The byte stores packed Host cache blocks go to, and the in-memory one.