Files
compute/systemd/lumbridge-compute-agent.service
T
Karti Tripathi 75aa63d737
ci / rust (push) Successful in 2m26s
Lumbridge Compute
Governed compute for unified-memory AI hardware — the machines where CPU and
GPU share one pool and there is no separate VRAM allocation to bounce off.
Over-commit that pool and the box thrashes and wedges, SSH and ping included,
before the OOM killer gets a turn.

Compute does not run inference. It supervises the servers that do:

- Admission control against two ceilings: a declared budget, and what the
  machine actually has free. The refusal is the feature.
- A 1 Hz watchdog on MemAvailable that stops the newest model before thrash,
  and defers to a Scene transition rather than racing it.
- Scenes: named sets of models activated as one transactional unit, with
  pre-flight validation and rollback to the previously active Scene on
  failure. Scenes reference model ids, never weight paths or commands, so a
  Scene obtained from elsewhere cannot introduce code.
- Process ownership bound to (boot_id, pid, start_time_ticks, pgid == pid),
  so a reused PID can never be group-killed.
- A protocol-transparent TCP gateway, so clients keep one address while model
  runtimes move behind it.
- An MCP server, so agents drive the node as tools rather than as a CLI.

One binary, no async runtime outside the MCP surface. Apache-2.0.

Generated from the internal monorepo by scripts/publish-compute.sh, which
refuses to publish a tree it cannot prove clean.
2026-08-03 16:47:06 -07:00

21 lines
643 B
Desktop File

[Unit]
Description=Lumbridge Compute resident Scene supervisor and model gateway
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=lumbridge
Environment=HOME=/var/lib/lumbridge
Environment=LUMBRIDGE_COMPUTE_ROOT=$LUMBRIDGE_COMPUTE_ROOT
ExecStart=/usr/local/bin/lumbridge-compute agent --listen 127.0.0.1:8011 --upstream 127.0.0.1:8001 --floor 3
Restart=always
RestartSec=2
# Model process groups are lifecycle-owned by Compute and must survive an agent
# binary restart; the agent will revalidate their boot/start identities on resume.
KillMode=process
TimeoutStopSec=15
[Install]
WantedBy=multi-user.target