Concepts

Architecture

Clystria is two planes and one loop: a gossip-based control plane, a high-throughput data plane, and the scheduler that keeps them honest. There is deliberately no external database and no elected master.

Topology

# every node runs the same binary — no roles to assign

  ┌── clystria-agent ──┐   ┌── clystria-agent ──┐   ┌── clystria-agent ──┐
  │  gaming-01      │   │  workstation-01 │   │  server-01      │
  │  RTX 4090 24GB  │◄─►│  A6000 48GB     │◄─►│  H100 80GB      │
  └───────┬─────────┘   └───────┬─────────┘   └───────┬─────────┘
          └─────────── gossip mesh (mTLS) ────────────┘
                    one unified VRAM pool

Control plane

Each agent maintains a replicated view of cluster state via a gossip protocol (SWIM-style membership + a CRDT for placement facts). Any node can answer clystria status from local state. Because there is no single leader holding truth, there is no single node whose death stops the cluster.

Data plane

Model layers are pinned to GPUs and connected into tensor- and pipeline-parallel groups. Activations and KV-cache pages move between cards over the fastest link available — NVLink within a box, RDMA or plain TCP between boxes — chosen per hop at deploy time.

  • Intra-node: NVLink / PCIe peer-to-peer
  • Inter-node: RDMA (RoCE/InfiniBand) with TCP fallback
  • Cache: paged KV with cross-node eviction awareness

The scheduler

The scheduler runs a cost model over candidate placements and picks the one that maximizes tokens/sec while fitting memory. It reruns continuously at low priority, so the cluster drifts toward better placements as load changes — without you asking.

Benchmarks

Representative numbers from a mixed 6-node cluster (2× consumer, 1× workstation, 3× datacenter GPUs). Your mileage will vary with interconnect and model.

ModelPlacementtok/sFailover
Llama-3.1-70B (awq)3 GPUs1,940< 800 ms
Mixtral-8x22B4 GPUs1,410< 900 ms
Llama-3.1-405B (fp4)6 GPUs610< 1.3 s
Qwen2.5-32B2 GPUs2,760< 600 ms

Failover = time from node loss to resumed token stream. Numbers are illustrative for this prototype.