Hierarchical Model LRU/ARC and Manual Reclaim
Open
Nobody has claimed this yet.
enhancement
roadmap
- Dominant language
- Go
- Stars
- 49.2k
- Forks
- 4.5k
- Avg merge
- 1d 3m
- Merged PRs (30d)
- 239
Description
Is your feature request related to a problem? Please describe.
Models remain in GPU memory forever, especially in distributed deployments where shutdown API does not propagate.
Describe the solution you'd like
- Permit (appropriately privileged) user eviction of models from GPU memory into system RAM or fully (exit their runner) to disk across the fleet, on a node-by-node or fleet-wide basis through standard API interfaces
- Implement "ageing" for model states in memory tracking the last interaction with their consumer to proactively free resources for new tasks incoming by demoting layers to system memory or disk. LRU is the simplest way to do this but frequency of model use does have relevance, so an Adaptive Replacement Cache (ARC) pattern might be more appropriate.
- Implement "tuning knobs" to bias behavior such as demoting small models first or entirely evicting certain ones based on their metadata instead of trying to evict them to RAM.
Describe alternatives you've considered
- Currently looking at modifying an openwebui contribution to provide "user-friendly eviction" capability via the shutdown API
Additional context
- Full implementation may merit addition of metadata fields to local models or maintenance of state for the known set to reflect their eviction behaviors
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing shutdown API and the linked Open WebUI contribution for user-friendly eviction behavior. Define how privileged node-by-node and fleet-wide eviction, model ageing, and metadata-based tuning would work; done requires an agreed design and implementation scope for GPU memory, system RAM, and disk states.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- ai, backend-api-design, distributed-systems, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100