Hi everyone,
I’m designing a distributed inference system that uses idle GPUs from edge machines (gamers/workstations) to run AI inference jobs.
The goal is:
- stateless jobs
- containerized execution
- central orchestrator
- agents connected via WebSocket
- direct object storage for outputs (to avoid routing binaries through the control plane)
Architecture layers:
1. API Gateway
2. Orchestrator/Scheduler
3. State store (Redis)
4. Edge Agent (Docker runner)
5. Object storage (data plane)
Before implementing everything, I’d really appreciate feedback from people experienced with CUDA, GPU scheduling, or distributed systems.
Main questions:
- Best practices for managing long-lived GPU workers?
- Handling unreliable or intermittent edge nodes?
- Model caching strategies to reduce cold starts?
- Pitfalls you’ve seen in similar distributed inference systems?
- Security: how would you safely execute potentially untrusted models/containers (e.g., dynamically downloaded models) on provider machines without risking the host system?
Thanks in advance for any insights!