LLMpediaThe first transparent, open encyclopedia generated by LLMs

BEAM

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Ruby on Rails Hop 3
Expansion Funnel Raw 76 → Dedup 14 → NER 14 → Enqueued 11
1. Extracted76
2. After dedup14 (None)
3. After NER14 (None)
4. Enqueued11 (None)
Similarity rejected: 4
BEAM
NameBEAM
DeveloperErlang/OTP community, Ericsson (company), contributors
Released1998
Programming languageErlang (programming language), C (programming language)
Operating systemUnix-like, Windows NT, macOS
LicenseApache License

BEAM

BEAM is a virtual machine designed to run code compiled from the Erlang (programming language) and languages targeting its bytecode. It provides lightweight process scheduling, preemptive concurrency, soft real-time capabilities, and features intended for highly concurrent, fault-tolerant systems deployed by companies such as Ericsson (company), WhatsApp, Cisco Systems, T-Mobile USA. BEAM underpins runtime behavior for projects in telecommunications, messaging, distributed databases, and embedded systems, integrating with ecosystems like OTP (Erlang), Elixir (programming language), LFE (programming language), and tooling from organizations including GitHub, Red Hat, Intel.

Overview

BEAM is a register-based virtual machine originally created to execute compiled code from the Erlang (programming language). It implements a lightweight process model influenced by ideas from Communicating Sequential Processes and designs used in telecommunications infrastructure at Ericsson (company). BEAM offers garbage collection per-process, asynchronous message passing, and a scheduler optimized for multi-core CPU (central processing unit) architectures. The runtime is closely associated with the Open Telecom Platform (OTP) libraries and supervision hierarchies used in resilient systems developed by entities such as WhatsApp, Goldman Sachs, Mozilla and research groups at MIT, University of Cambridge, University of Illinois Urbana-Champaign.

History and Development

Development of BEAM traces to Erlang runtime projects at Ericsson (company) in the 1990s, evolving from earlier runtimes like the JAM and HiPE backends. Key milestones include integration with the OTP (Erlang) framework, adoption by messaging platforms such as WhatsApp, and the emergence of language front-ends like Elixir (programming language). Academic work at institutions including Chalmers University of Technology, Uppsala University, and RWTH Aachen University contributed compiler and optimization research influencing BEAM's instruction set and garbage collector. Open source stewardship and contributions from organizations like Erlang Solutions, ProcessOne, Netscape alumni and individual contributors expanded BEAM’s portability across Unix-like systems, Windows NT, and macOS.

Architecture and Components

BEAM’s architecture centers on a bytecode interpreter and JIT layers interfacing with operating system threads and native libraries such as libc variants on Linux kernel distributions and FreeBSD. Core components include the scheduler subsystem managing run queues across logical schedulers bound to POSIX threads or Windows threads, per-process garbage collectors derived from research on real-time garbage collection at Rice University and University of Kent, and the message-passing inbox structures patterned after actor-model implementations like those studied at Carnegie Mellon University. Integration with the OTP (Erlang) behaviors provides supervisors, gen_servers, and application lifecycle management used by organizations including Amazon (company), Facebook, and Twitter. Tooling layers such as the HiPE native-code compiler, the JIT for hot code paths, and NIF (native implemented functions) hooks allow interaction with native libraries from projects like OpenSSL, ZeroMQ, PostgreSQL drivers maintained by Crunchy Data and others.

Use Cases and Applications

BEAM-powered stacks are prevalent in low-latency messaging, telephony switching, and distributed database coordination. Deployments include telecommunication switches at Ericsson (company), backend services at WhatsApp, real-time notification systems used by Facebook, financial services at firms like Goldman Sachs for risk aggregation, and IoT platforms by companies such as Bosch. The runtime has been used to build distributed key-value stores, pub/sub systems, and web frameworks in ecosystems maintained by organizations like Heroku, DigitalOcean, and Cloudflare. BEAM’s lightweight process model and hot code swapping have been leveraged in robotics projects at NASA and academic testbeds at ETH Zurich, enabling dynamic updates and fault-tolerant designs in production systems.

Performance and Scalability

BEAM scales across many-core systems by mapping Erlang processes to scheduler threads tuned for NUMA architectures and leveraging asynchronous I/O with native drivers like those used in nginx-based frontends. Microbenchmarks compare BEAM favorably on concurrency and latency against runtimes from Java (programming language), Go (programming language), and Node.js in scenarios dominated by massive numbers of lightweight tasks and message-passing workloads; however, raw computational throughput for floating-point heavy workloads often favors C (programming language), Rust (programming language), or C++. Just-in-time compilation and HiPE native-code generation have improved hotspot performance, while per-process garbage collection minimizes stop-the-world pauses important for systems operated by T-Mobile USA, AT&T, and other carriers. Distributed deployment practices rely on orchestration tools like Kubernetes, service meshes pioneered by Linkerd and Istio, and monitoring via platforms such as Prometheus and Grafana.

Implementations and Ecosystem

The reference implementation of BEAM ships with the Erlang/OTP distribution maintained by contributors from Ericsson (company), Erlang Solutions, and community members on platforms like GitHub. Language implementations targeting BEAM include Elixir (programming language), LFE (programming language), Gleam (programming language), and experimental compilers from academic labs at University of Oxford and University of California, Berkeley. Commercial support and consulting are available from companies such as Erlang Solutions, Intel, and AdRoll. Tooling, package repositories, CI integrations, and deployment utilities are provided by ecosystems around Hex (package manager), Rebar3, Distillery, and cloud providers including Amazon Web Services, Google Cloud Platform, and Microsoft Azure.

Category:Virtual machines