Skip to content

Add memory gating to query2 - #14

Open
d-callan wants to merge 1 commit into
tlemane:mainfrom
d-callan:feat/memory-gating
Open

Add memory gating to query2#14
d-callan wants to merge 1 commit into
tlemane:mainfrom
d-callan:feat/memory-gating

Conversation

@d-callan

Copy link
Copy Markdown
  • Add --memory-budget CLI param (MB, 0=no limit)
  • Implement memory_semaphore with RAII sem_guard for exception-safe gating
  • Estimate per-sub-index memory as heap peak + mmap working set:
    • Heap: max(phase1=smers+responses, phase2=agg with positions/ratios/counts)
    • Mmap: bloom_size (no --fast) or index_size (--fast, all partitions resident)
    • Compressed indexes: bloom_size * nb_partitions with --fast (decompressed to heap)
  • Sort sub-indexes by descending memory
  • Gate task execution via semaphore acquire/release
  • Warn when an index exceeds budget (runs alone)
  • Add 5 tests: baseline, tight budget, --fast+budget, position format+budget, oversized index warning

- Add --memory-budget CLI param (MB, 0=no limit)
- Implement memory_semaphore with RAII sem_guard for exception-safe gating
- Estimate per-sub-index memory as heap peak + mmap working set:
  - Heap: max(phase1=smers+responses, phase2=agg with positions/ratios/counts)
  - Mmap: bloom_size (no --fast) or index_size (--fast, all partitions resident)
  - Compressed indexes: bloom_size * nb_partitions with --fast (decompressed to heap)
- Sort sub-indexes by descending memory for optimal packing
- Gate task execution via semaphore acquire/release
- Warn when an index exceeds budget (runs alone)
- Add 5 tests: baseline, tight budget, --fast+budget, position format+budget,
  oversized index warning
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant