Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:LMCache LMCache Distributed Config

From Leeroopedia
Revision as of 15:24, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/LMCache_LMCache_Distributed_Config.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Knowledge Sources
Domains Configuration, Distributed Storage
Last Updated 2026-02-09 00:00 GMT

Overview

Defines the hierarchical configuration dataclasses and CLI argument parsing for the LMCache distributed storage manager.

Description

This module provides a set of nested dataclasses that configure the distributed storage manager. L1MemoryManagerConfig specifies the L1 memory pool size, lazy allocation strategy, initial allocation size, and alignment. L1ManagerConfig wraps the memory configuration and adds TTL settings for read and write locks. EvictionConfig defines the eviction policy (currently only LRU), trigger watermark, and eviction ratio. StorageManagerConfig is the top-level config combining L1 manager and eviction settings. The module also provides argparse integration via add_storage_manager_args (for composing with other parsers), get_arg_parser (standalone parser), and parse_args_to_config / parse_args for converting CLI arguments into a StorageManagerConfig instance.

Usage

Use this module when launching the distributed storage manager process or integrating storage manager configuration into a larger application. Create configs programmatically via the dataclasses or parse them from command-line arguments using the provided argument parser utilities.

Code Reference

Source Location

Signature

@dataclass
class L1MemoryManagerConfig:
    size_in_bytes: int
    use_lazy: bool
    init_size_in_bytes: int = 20 << 30  # 20GB
    align_bytes: int = 0x1000           # 4KB

@dataclass
class L1ManagerConfig:
    memory_config: L1MemoryManagerConfig
    write_ttl_seconds: int = 600
    read_ttl_seconds: int = 300

@dataclass
class EvictionConfig:
    eviction_policy: Literal["LRU"]
    trigger_watermark: float = 0.8
    eviction_ratio: float = 0.2

@dataclass
class StorageManagerConfig:
    l1_manager_config: L1ManagerConfig
    eviction_config: EvictionConfig

def add_storage_manager_args(parser: argparse.ArgumentParser) -> argparse.ArgumentParser: ...
def get_arg_parser() -> argparse.ArgumentParser: ...
def parse_args_to_config(args: argparse.Namespace) -> StorageManagerConfig: ...
def parse_args(args: list[str] | None = None) -> StorageManagerConfig: ...

Import

from lmcache.v1.distributed.config import (
    L1MemoryManagerConfig,
    L1ManagerConfig,
    EvictionConfig,
    StorageManagerConfig,
    add_storage_manager_args,
    parse_args,
)

I/O Contract

Inputs

Name Type Required Description
--l1-size-gb float Yes Size of L1 memory in GB
--l1-use-lazy flag No Use lazy loading for L1 memory (default: True)
--l1-init-size-gb int No Initial allocation size in GB for lazy mode (default: 20)
--l1-align-bytes int No Alignment size in bytes (default: 4096)
--l1-write-ttl-seconds int No Write lock TTL in seconds (default: 600)
--l1-read-ttl-seconds int No Read lock TTL in seconds (default: 300)
--eviction-policy str Yes Eviction policy (choices: "LRU")
--eviction-trigger-watermark float No Memory usage watermark to trigger eviction, 0.0-1.0 (default: 0.8)
--eviction-ratio float No Fraction of memory to evict when triggered, 0.0-1.0 (default: 0.2)

Outputs

Name Type Description
StorageManagerConfig StorageManagerConfig Complete hierarchical configuration for the distributed storage manager

Usage Examples

# Parse from command-line arguments
from lmcache.v1.distributed.config import parse_args
config = parse_args(["--l1-size-gb", "64", "--eviction-policy", "LRU"])

# Compose with another argument parser
from lmcache.v1.distributed.config import add_storage_manager_args, parse_args_to_config
import argparse
parser = argparse.ArgumentParser(description="My Application")
parser.add_argument("--my-flag", action="store_true")
add_storage_manager_args(parser)
args = parser.parse_args()
storage_config = parse_args_to_config(args)

# Programmatic construction
from lmcache.v1.distributed.config import (
    L1MemoryManagerConfig, L1ManagerConfig, EvictionConfig, StorageManagerConfig
)
mem_cfg = L1MemoryManagerConfig(size_in_bytes=64 * (1 << 30), use_lazy=True)
l1_cfg = L1ManagerConfig(memory_config=mem_cfg)
evict_cfg = EvictionConfig(eviction_policy="LRU")
config = StorageManagerConfig(l1_manager_config=l1_cfg, eviction_config=evict_cfg)

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment