Commit ea0e6cc
committed
fix(mrcProfiler): keep MINISIM's hash tables small, and require a thread count
MINISIM builds one cache per profile point and holds them all at once, so
every point pays for its own hash table. Sizing those tables the way cachesim
does -- hashpower 24, 128MiB apiece -- costs 12.8GiB at the default
--size=0.01,1,100 and was OOM-killed on one run here; hashpower 20 peaks at
0.8GiB and finishes 27x faster.
The larger table bought exactness for a single policy. Measured at 100MB on
cloudPhysicsIO.oracleGeneral, five runs each, only randomTwo moves: 0.8215
against cachesim's 0.8220. lru, fifo, arc, s3fifo, sieve, twoq, lfu, clock,
gdsf, hyperbolic and randomLRU already agree to four decimals, and random and
lecar seed from the clock and vary between runs on both sides, so no table
size makes those two match. One policy's 0.0005 is not worth 15x the memory;
the comment records what closing that gap properly would take.
Separately, MINISIM's thread_num is only assigned when a third parameter is
present, so --profiler-params=FIX_RATE,1 left it at 0, skipped the validation
that guards it, and aborted inside the thread pool with "cannot push data
into thread_pool in get_miss_ratio" -- saying nothing about the parameter
that was actually missing. Reject that form where the other parameter errors
are raised. SHARDS is unaffected: its optional third field is a salt, and 0
is a valid salt.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YUq1vM4g82TkaX2jvLmuQc1 parent eae9bed commit ea0e6cc
2 files changed
Lines changed: 40 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | 28 | | |
37 | 29 | | |
38 | 30 | | |
| |||
380 | 372 | | |
381 | 373 | | |
382 | 374 | | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
391 | 404 | | |
392 | 405 | | |
393 | 406 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
181 | 192 | | |
182 | 193 | | |
183 | 194 | | |
| |||
0 commit comments