SYSTEM Cited by 1 source
Erlang VM (BEAM)¶
BEAM is the virtual machine that runs Erlang and Elixir. On the sysdesign-wiki it shows up as the substrate whose native cluster-computing primitives — distributed Erlang, native code distribution, process introspection — make FLAME + Livebook's notebook-driven elastic GPU workflows possible without reinventing the plumbing.
Why BEAM shows up on this wiki¶
Fly.io's 2024-09-24 post makes an explicit architectural claim: the reason three engineers could ship Livebook + FLAME in four months part-time, and ship remote dataframes + distributed GC "over a weekend", is that BEAM already provides the primitives these features compose on top of. "Bringing the same functionality to other ecosystems would take several additional months, sometimes accompanied by millions in funding, and often times as part of a closed-source product." (Source: sources/2024-09-24-flyio-ai-gpu-clusters-from-your-laptop-with-livebook)
The load-bearing BEAM primitives behind this wiki's Livebook/FLAME story:
- Distributed Erlang nodes. Any BEAM process can address any process on any connected node as if it were local. No network library, no explicit RPC framework — the VM does it.
- Transparent code distribution. Module definitions can be shipped across cluster nodes. Livebook relies on this for its "any module defined in the notebook runs anywhere in the cluster" behaviour — see concepts/transparent-cluster-code-distribution.
- Native remote introspection. Auto-completion on a Livebook attached to a remote Elixir app comes from the remote node's own module table, exposed through BEAM's introspection primitives.
- Actor-model concurrency. Lightweight processes with message-passing semantics; see concepts/actor-model for the general concept.
Seen in¶
- sources/2024-09-24-flyio-ai-gpu-clusters-from-your-laptop-with-livebook — Fly.io's framing of BEAM as the substrate that enables notebook-driven elastic GPU compute; the framework delivery timelines (4 months, a weekend) are the load-bearing evidence for the claim.
Related¶
- systems/livebook — notebook client that exposes BEAM cluster primitives in a Jupyter-like UI.
- systems/flame-elixir — executor-pool framework layered on BEAM's distribution story.
- systems/nx-elixir — Elixir AI/ML stack; its tensors live as BEAM processes, so they inherit BEAM's distribution story for free.
- concepts/transparent-cluster-code-distribution — the specific BEAM primitive Livebook exposes to the user.
- concepts/actor-model — concurrency model the BEAM implements.