feat: implement I/O-aware RAM fallback router and native string-indexed memory#235
feat: implement I/O-aware RAM fallback router and native string-indexed memory#235dannythevibe wants to merge 1 commit into
Conversation
|
Could you rewrite this against current It's 121 commits behind The RAM/budget path is exactly where this week's OOM work landed (cap_for_ram now refuses to start when the projected peak exceeds available memory). A rebased version will collide with that, so it's worth checking your router still says something the new budget code doesn't. What changed under you, which makes a rewrite cheaper than it sounds:
What would help it land fast: the smallest version that does one thing. A 300β700 line PR touching If you'd rather not, say so and I'll close it with thanks β no hard feelings either way. And if you think I've misjudged and it should go in as-is, push back: I've been wrong twice today already and both times a contributor caught it. |
|
Closing this β 171 commits behind, and it lands right on top of code that was substantially rewritten in the meantime. The RAM/fallback area specifically: The idea β routing that accounts for I/O cost β is a live and interesting one (it's adjacent to the PILOT/prefetch and cache-policy discussions in #333/#362). If you want to bring it back against current |
|
Thanks for the detailed breakdown and for taking the time to review it. I completely understand why it can't be merged as-is, especially with the recent memory management overhaul. No hard feelings at all I'm glad to hear the core idea of I/O-aware routing is still of interest. I'll take a look at the current dev branch and see if I can carve out a minimal, focused PR that demonstrates the win with the new budget code in place. The new CI setup sounds fantastic and should definitely make testing this much easier. I'll open a new PR when I have a smaller, measurable version ready for review. Thanks again for the transparent communication. |
This PR introduces two major performance features:
I/O-Aware RAM Router: Detects if the model is running on a slow HDD and actively tracks disk latency during the generation loop. If the disk starts bottlenecking, the router falls back to picking experts exclusively from the RAM-resident pool to maintain steady generation speeds.
Native Local Memory: Implemented a lightweight MemoryManager in the API server that logs conversation turns to a local text file and uses fast literal string matching to pull relevant historical context into the system prompt, entirely bypassing the need for heavy RAG databases.