In October Apple published a write-up on Minions, an internal system that pools the idle GPUs in company Macs running Apple Silicon into one distributed inference cloud. Queues for centralised GPUs previously ran past ten hours; on Minions tasks start within minutes.
Key takeaways
- Jobs waited over 10 hours for centralised GPUs, on Minions they start within minutes
- No new GPU purchases and zero infrastructure cost, according to Apple's results table
- Four components: Minion Server, a PostgreSQL store, Minion Executor and Minion Watchdog
- Executors send heartbeats every five minutes; the Watchdog tracks only those running subtasks
- Three pages, one figure, one table — and no throughput benchmarks
Pull instead of a scheduler
Minions has no central scheduler. The Minion Server splits a task into subtasks and writes them to PostgreSQL, and executors on Macs poll a REST API for what they may take — a pull model?pull: The worker asks for work instead of being assigned it. Robust to the fact that some machines are offline at any given moment., the inverse of classic task assignment.
Exclusivity is handled by a single uniqueness constraint on the minion_subtask_acquirement table — when several executors race, exactly one INSERT succeeds and the rest look for another subtask.
-- executors racing for the same subtask
INSERT INTO minion_subtask_acquirement (subtask_id, executor_id)
VALUES ('st-4711', 'mac-studio-07');
-- UNIQUE(subtask_id): the first INSERT wins,
-- the rest get an error and look for another subtaskAn illustration of the mechanism described in the paper. Apple gives the table name and the rule, not the full schema — the snippet above shows the principle, not the original code.
Two workload types are supported: generating embeddings with models from Hugging Face Hub and generating text completions with an LLM through Ollama.
| Component | Role in the system |
|---|---|
| Minion Server | accepts the task, splits it into subtasks, exposes the REST API |
| PostgreSQL | queue and state — seven tables, including the uniqueness constraint on a subtask |
| Minion Executor | the process on a Mac: claims a subtask and runs it on the local GPU |
| Minion Watchdog | watches heartbeats and returns subtasks from dead executors to the queue |
Executor failure is the norm, not the exception
The pull model follows from personal devices being only intermittently available: a Mac sleeps, loses the network, or its owner takes the resources back. The Watchdog tracks only executors actually running a subtask, releasing it back to the queue when they stop sending a heartbeat?heartbeat: A short "I'm alive" signal sent at a fixed interval. Its absence is the only evidence the system uses to declare a machine dead.. Inputs and results move through S3 rather than the server, keeping large transfers out of the coordination layer.
The component names, table count and five-minute heartbeat are facts. Showing a single executor is a simplification — in practice many machines race for the same subtask.
The blocker is trust, not engineering
Apple states plainly what limits adoption: concern over the confidentiality of data processed on machines outside one's own organisation — even for internal workloads. The answer is team- or organisation-scoped deployments with a separate database and an isolated executor pool.
Coordination, meanwhile, can be entirely informal: people ask each other on Slack to spin up an executor for a particular project.
Why it matters
The compute debate usually revolves around building new data centres, because that is where the money and the growth are. Minions points to a cheaper path that needs no new purchase at all — but the paper gives no throughput or energy figures, so it cannot be compared with a cluster. The real obstacle, in any case, is not performance but teams agreeing to run other people's data on their machines.
What's next
- Apple says it will extend Minions from inference to distributed model training
- The paper floats federating idle Macs across organisations — with no security mechanism described
- Minions is not public and has no independent analysis or code yet





