ProtoCrash scales horizontally with a master-worker model. One coordinator process manages N workers; workers fuzz independently and share interesting test cases through the filesystem; statistics aggregate in real time; and crash deduplication runs across all workers so the same bug found by two workers is not double-counted. The Python API is direct: build a FuzzingConfig (target command, corpus dir, crashes dir, timeout), then DistributedCoordinator(config, num_workers=8).run(duration=3600). The CLI supports both single-host --workers N and multi-machine deployment via protocrash coordinator start --port 6666 with workers connecting from other hosts by --coordinator host:port --worker-id N.
The reported scaling is ~50,000 exec/sec at 1 worker, ~180,000 at 4, and ~350,000 at 8, for ~87.5% scaling efficiency. That efficiency is consistent with independent workers whose main coordination cost is corpus sync and cross-worker dedup. The architecture doc frames this as phase 2 (multi-core parallel) leading to phase 3 (multiple machines, centralized corpus management, distributed dedup). The throughput figures are repository-reported; because the measurement target, execution mode, and host are not documented, independent reproduction is Additional validation required, and the filesystem-sync approach’s behavior in a true multi-machine phase-3 deployment is an open design question.
REGAAN R