feat(incremental): a scheduler runs sub-circuits on a worker pool; the aggregate and grid stages placed on two units
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
This commit is contained in:
committed by
Edward Langley
parent
c2598f0c60
commit
4ba0cf196e
@@ -957,3 +957,31 @@ differs).
|
||||
|
||||
`Pushdown::new` took a generic `Arc<Q>` that could not take a `SharedSource`; the test builds one from
|
||||
the alias and did not compile against the generic signature.
|
||||
|
||||
### placed_circuits_equal_one_circuit_for_any_workers_and_order
|
||||
|
||||
Random commands (twelve at most), 1 to 4 virtual workers, edge capacity 1 to 3, a budget of 1 to
|
||||
3 frames and a random order of claim and hand-back, with commands arriving between scheduler steps,
|
||||
settle to the grid of one circuit running the whole graph. Rivals, each failing it: a kick of a
|
||||
running unit queues it as well (S1, claiming a running unit panics), a kick while running is lost
|
||||
(S2), a unit that wants more goes to the front of the queue (S3, it never lets the others run), and
|
||||
progress that does not kick the neighbours (S4, the graph stalls).
|
||||
|
||||
### real_worker_threads_equal_one_circuit
|
||||
|
||||
The same graph on a real `Pool` of 1 to 4 threads, 400 commands, capacity 2, budget 3. Rivals S1
|
||||
and S4 fail it.
|
||||
|
||||
### a_unit_that_wants_more_goes_to_the_back_of_the_queue
|
||||
|
||||
Units 0 (wants two more turns), 1 and 2 run as 0, 1, 2, 0, 0. Rival S3 runs 0 again before 1.
|
||||
|
||||
### a_kick_while_a_unit_runs_queues_it_again_and_never_claims_it_twice
|
||||
|
||||
A claimed unit is not claimable; a kick during its turn leaves the executor not idle after it is
|
||||
handed back. Rivals S1 and S2 fail it.
|
||||
|
||||
### at_most_one_worker_runs_a_unit_however_often_it_is_kicked
|
||||
|
||||
Four kicking threads and four workers over one unit that asserts no two turns overlap. Rival S1
|
||||
fails it.
|
||||
|
||||
@@ -689,3 +689,8 @@ with "did not panic".
|
||||
Three hundred commands on a producer thread, a consumer on another, capacity 2, the producer
|
||||
yielding at uneven points and pumping on only two of three commands. The consumer's output equals
|
||||
the combined circuit's. Rival R1 fails it.
|
||||
|
||||
### a_poll_reads_at_most_the_frames_it_is_given
|
||||
|
||||
Three corrections waiting, `poll(c, 2)` reads two and the next reads one, so a unit's turn is
|
||||
bounded by its budget. Rival: the bound removed from the loop fails the first assertion.
|
||||
|
||||
Reference in New Issue
Block a user