Promote pipeline-parallel-inference to a first-class app and consolidate observability on the datastream wire, decoupling the dashboard crate from `distribution`. - apps/pipeline-parallel-inference: move the example out of `examples/` into `apps/` as its own workspace, rename binaries to `pp-worker`/`pp-orchestrator`, and strip release binaries - cluster: add `ClusterNode`, a synchronous facade over the actorized distribution protocol (IrohDriver + per-node Runtime hosting Swim/Registry/Metadata/Directory actors with a `MembershipFanout`), replacing ad-hoc `driver.node()`/`tick()` call sites - fleet: add per-node fleet telemetry that ships identity/resource records as `DatastreamFrame`s over the cluster transport to the orchestrator's `DatastreamSink`, folded into a `FleetView` on a 3s tick - provision: add best-effort, opt-in SSH boot-phase telemetry (`PP_DEPLOY_KEY`) that streams rented-node boot logs onto the orchestrator's datastream as `proc.boot.<stage>.*` - dashboard: rewire the crate dependency from `distribution` to `datastream`, drop the standalone `swactor-datastream-dashboard` binary, and rewrite `datastream_source.rs` to demux per-node frames into Overview/Distribution/Fleet views with live-node TTL filtering - distribution: refresh dist/netmap plugin copy and README from "Kademlia routing" to gossip-directory terminology Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
22 lines
1,016 B
Bash
22 lines
1,016 B
Bash
# WAN run on leased vast.ai GPUs. Copy to profiles/local.env and fill in the
|
|
# relay URL + image; keep that copy untracked.
|
|
#
|
|
# PP_PROFILE=profiles/local.env cargo run --bin pp-orchestrator -- \
|
|
# --vastai --api-key "$VASTAI_API_KEY"
|
|
#
|
|
# All nodes home onto one operator-controlled relay so they can hole-punch /
|
|
# fall back to relaying across the public internet.
|
|
|
|
# Required for WAN: the relay every container connects through. PLACEHOLDER —
|
|
# replace with your swactor-iroh-relay endpoint in profiles/local.env.
|
|
SWACTOR_IROH_RELAY_URL=https://relay.example.com
|
|
|
|
NUM_STAGES=2
|
|
PP_IMAGE=swactor-pp-gpu:latest
|
|
# GPU filters are optional. Leave both unset to let any verified 1-GPU offer
|
|
# qualify (a 1B model fits anywhere). Set PP_GPU="RTX 3060" to pin a model, and/or
|
|
# PP_GPU_MIN_RAM_MB=8000 to require a VRAM floor.
|
|
# llama3.2:1b -> HF Llama-3.2-1B-Instruct-Q6_K.gguf (16 blocks, sharded across
|
|
# the N stages by compute_layer_range; validated key baked into the image).
|
|
MODEL=llama3.2:1b
|
|
MAX_TOKENS=64
|