test(scheduler-sim-decision-trace): bounds under large traces; update the scheduler guide

Task 6.4: a 1000-host, 64-task parallel job traced at full level stores
exactly the line bound with exact omitted counts and counters; 10,000
traced decisions keep the trace store within 64 MiB without evicting the
newest. The scheduler guide lists the REPL trace files and test rules
and carries measured file sizes. Full all-components ASAN build passes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-10-08 17:11:52 +00:00
parent 2e733994c1
commit 1b78fa9638
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C
4 changed files with 518 additions and 3 deletions

View file

@ -2974,6 +2974,34 @@ test('scheduler trace error paths test',
sched_trace_error_paths_test, suite: 'scheduler',
env: ['ASAN_OPTIONS=detect_leaks=0'])
# scheduler-sim-decision-trace task 6.4 (Requirements 9.1, 9.3, 9.5;
# design.md "Testing Strategy -> Performance"): a 1000-host, maxTasks = 64
# parallel job traced at full level by the real allocator stays within the
# default line bound with exact counters, and 10,000 traced decisions keep
# the trace store within 64 MiB. Every scheduler source but main.c is
# linked, except repl_trace_store.c, which the test #includes to read the
# store's entry and discarded-mark lookups.
sched_trace_bounds_test_srcs = ['test_trace_bounds.c']
foreach f : scheduler_srcs
if f != 'src/main.c' and f != 'src/repl_trace_store.c'
sched_trace_bounds_test_srcs += ['../' + f]
endif
endforeach
sched_trace_bounds_test = executable(
'sched_trace_bounds_test',
sched_trace_bounds_test_srcs,
include_directories:[incdir],
dependencies: [scheduler_deps, unity_dep],
link_args: ['-Wl,--wrap=xcecli_start',
'-Wl,--wrap=xcecli_join'],
install: false)
test('scheduler trace bounds test',
sched_trace_bounds_test, suite: 'scheduler',
timeout: 300,
env: ['ASAN_OPTIONS=detect_leaks=0'])
# scheduler-sim-decision-trace task 6.3 (Requirements 10.1-10.5, 11.4;
# design.md "Testing Strategy" -> "Equivalence Tests (Requirement 10)"):
# tracing never changes scheduling. Runs the built xce_scheduler