Skip to content

Add memory gating to query2 - #14

Merged
tlemane merged 3 commits into
tlemane:mainfrom
d-callan:feat/memory-gating
Sep 20, 2026
Merged

tlemane merged 3 commits into
tlemane:mainfrom
d-callan:feat/memory-gating

Conversation

@d-callan

Copy link
Copy Markdown
Contributor
  • 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

d-callan and others added 3 commits August 21, 2026 20:03
- 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
Resolve conflicts in query2.cpp (multi-path logging) and
CMakeLists.txt (keep both test registrations). Add test
for multi-index paths + memory budget together.
@tlemane

tlemane commented Sep 9, 2026

Copy link
Copy Markdown
Owner

@d-callan Can you test this branch on TACC? Or do you need a tagged release?

@d-callan

d-callan commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

depends what were testing for.. dont think we need tacc / formal release to know 'it wont break' but to test perf via tacc in galaxy context i need a release

@d-callan

d-callan commented Sep 9, 2026

Copy link
Copy Markdown
Contributor Author

(thanks for having another look, fixing it up etc)

@tlemane
tlemane merged commit f4651aa into tlemane:main Sep 20, 2026
4 checks passed
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.

2 participants