Guide

Running LLMs Across Multiple Macs

There are two completely different things people mean by a Mac cluster, and picking the wrong one wastes a weekend. Here is the split, honestly, including where Ollama Herd is the wrong tool.

Two different jobs, one confusing phrase

"Run an LLM across multiple Macs" describes two approaches that share almost nothing. Getting this wrong is the most expensive mistake in this space, so start here:

Routing (many requests)Sharding (one model)
What it doesSends each request to the best MacSplits one model's layers across Macs
SolvesThroughput, reliability, using idle machinesRunning a model too big for any one Mac
Max model sizeBounded by your largest single MacRoughly the sum of the fleet's memory
Speed effectNeutral to faster (parallel requests)Slower per token than one big machine
NetworkWi-Fi or Ethernet is fineWants Thunderbolt 5 to be quick
ToolsOllama Herdexo, Apple distributed MLX, OLOL

Only sharding lets you run a model bigger than your biggest Mac. If that is your goal, Ollama Herd is the wrong tool and the rest of this page will not help. Skip to sharding.

First: do you actually need a cluster?

Often not, and it is worth saying plainly before you buy hardware. One Mac with enough unified memory runs most local models well and is dramatically simpler to operate. A second machine adds a network hop, a discovery problem, and a failure mode.

A fleet earns its place when one of these is true:

None of those are "run a bigger model." That is the other approach.

Routing: make several Macs act like one endpoint

This is what Ollama Herd does. Every Mac runs Ollama (or MLX) as normal; Herd sits in front as one endpoint and decides per request which machine answers.

The decision is the interesting part. Round-robin across Macs is worse than useless, because Macs are not interchangeable servers: one has the model already loaded, one is thermally throttling, one is in a video call, one has 8GB free and one has 400GB. Herd scores on eight signals, including model residency, memory fit, queue depth, latency history, and thermal state, and routes accordingly.

# On each Mac you want to contribute:
herd-node

# On the machine that will be the endpoint:
herd

# Point any Ollama-compatible client at the herd:
#   http://localhost:11435

Nodes find each other over mDNS, so there is no config file listing IPs. Full setup in the Quickstart, and the scoring detail in Routing Engine.

What this does not give you: a bigger model. Four 64GB Macs under Herd still cap out at what one 64GB Mac can hold, because each request runs entirely on one node.

Sharding: run one model too big for any single Mac

If you want a 400B-class model on a pile of Macs, you need the model split across them. Ollama Herd does not do this today. The real options:

Expect a real tradeoff. Sharding is slower per token than the same model on one machine that could hold it, because activations cross the network on every forward pass. Tensor parallelism is also bottlenecked by your smallest node, so a mixed fleet of one big Mac and one small one can end up worse than the big Mac alone. Mixed fleets should pool memory (pipeline) rather than chase tensor-parallel speedups.

They compose

These approaches are not rivals. A sharded cluster can register with Herd as a single node, so the herd sees one endpoint whether one Mac or four sit behind it. You can run a big sharded model for the hard cases and let Herd route everyday requests to whichever machine is free, from the same endpoint.

Related Reading