prisma: parallel multi-host screening via the fleet pool #655
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
prisma.screen.runis a sequential single-provider loop (one item at a time against one base URL). With the generation pool in place:acquire()s the idlest host per item; per-itemdb.commit()already makes crashes lose at most in-flight items.prisma.eligible(stage-3, full-text prompts — the stage that actually NEEDS the 4090's prompt-processing throughput) andprisma.extract.Done in
49a2f6f(merged to main). prisma.fleet.run_pool now owns the multi-host thread-pool loop that screen had inline: at most --per-host in-flight requests per Ollama host, only the LLM call runs on the pool, every SQLite touch and per-item commit stays on the calling thread, and a host that fails twice in a row is retired for the rest of the run so its queued items go to the surviving hosts (a dead host loses at most its in-flight items). screen, eligibility and extract each supply prepare/apply/on_error glue; eligibility items with no retrievable full text resolve as uncertain/unavailable-fulltext without a fleet call. CLI: prisma eligible and prisma extract gain --hosts / --fleet-model / --num-ctx / --per-host matching prisma screen (native /api/chat with per-request num_ctx, bypassing PRISMA_LLM_*). Docs regenerated; tests cover the driver (slot accounting, retirement, prepare-skips, error stages) and all three stages end to end with fake providers. Not exercised here: a live multi-host run — the rig 4090 is still pending registration (#653 closed earlier today with the laptop live).