myxce/.kiro/specs/scheduler-allocation
Rongsong Shen 6ca717fb86
feat(scheduler-allocation): implement parjob's combinatorial plan generation
Add the real xce_alloc_plan_iter_t for parjob: for host-count k=1..maxTasks
(ascending, most-preferred-first), generate one balanced partition of
maxTasks into k buckets (floor/ceil split, remainder to the first rem
buckets), which is descending by construction. Pure function of maxTasks
alone -- never dereferences sched -- with a real pthread_testcancel()
cancellation point and stable post-exhaustion NULL (Req 2.1-2.6, 4.1).

my_alloc()/parjob_prepare_allocation() remain untouched stubs; wiring the
iterator into real allocation is task 4.2.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XYdtrEWWZfKRRGED7raEYg
2026-09-04 20:04:44 +00:00
..
brief.md docs(scheduler-allocation): approve requirements, add design and tasks 2026-09-04 12:59:39 +00:00
design.md docs(scheduler-allocation): fix xce_host_iter_t.next() return type 2026-09-04 13:26:18 +00:00
requirements.md docs(scheduler-allocation): fix xce_host_iter_t.next() return type 2026-09-04 13:26:18 +00:00
research.md docs(scheduler-allocation): approve requirements, add design and tasks 2026-09-04 12:59:39 +00:00
spec.json docs(scheduler-allocation): approve requirements, add design and tasks 2026-09-04 12:59:39 +00:00
tasks.md feat(scheduler-allocation): implement parjob's combinatorial plan generation 2026-09-04 20:04:44 +00:00