This article was accepted into the corpus but its outbound wikilinks were never NER-processed — typical at the deepest BFS hop or when the run's entity cap was reached. No expansion funnel to show.
| Erlang runtime system | |
|---|---|
| Name | Erlang runtime system |
| Developer | Ericsson |
| Released | 1998 |
| Programming language | C (programming language), Erlang (programming language) |
| Operating system | Unix-like, Microsoft Windows, macOS |
| Language | English |
| License | Apache License |
Erlang runtime system The Erlang runtime system is a concurrent, distributed execution environment originally developed at Ericsson alongside the Erlang (programming language) to support telecommunication switches and fault-tolerant services. It integrates a virtual machine, schedulers, process management, memory subsystem, networking stack, and development tools to run soft-real-time systems in production for carriers like AT&T, Deutsche Telekom, and companies such as WhatsApp and Amazon. The runtime evolved through collaborations involving researchers and engineers associated with Lisp Machines, Xerox PARC, Royal Institute of Technology (Sweden), and industrial projects influenced by Peter Naur and Robin Milner.
The runtime provides a managed environment combining a virtual machine called BEAM, a bytecode loader, native interfaces, and system integration used in deployments ranging from telecommunications switches at Ericsson to messaging infrastructure at WhatsApp and cloud services at Amazon Web Services and Google Cloud Platform. It supports concurrency models derived from actor-oriented research at institutions like MIT and University of Cambridge and is used in products by organizations such as T-Mobile, Telefonica, and Ericsson Radio Systems. The system interoperates with tools and ecosystems including Open Telecom Platform, OTP (Open Telecom Platform), Rebar3, Distillery (software), and third-party projects maintained by communities around GitHub and Erlang Solutions.
The architecture centers on a virtual machine executing bytecode produced by compilers maintained by Ericsson engineers and contributors from projects like EPFL and Vrije Universiteit Amsterdam. Key components interact with operating systems and platforms such as Linux, FreeBSD, Windows NT, macOS, and virtualization layers from VMware and KVM. The BEAM VM integrates with native interfaces like POSIX, Win32 API, and container runtimes used in Docker and Kubernetes clusters. Component design draws from academic work at University of Kent and Royal Institute of Technology (KTH) and industrial influence from entities such as Nokia and Siemens.
Lightweight processes in the runtime map to actor-like entities inspired by research from Carl Hewitt and Robin Milner, with per-process mailboxes and message passing resembling models used at MIT AI Lab and Bell Labs. The scheduler model implements many-to-many mapping of Erlang processes to operating system threads influenced by work at Carnegie Mellon University and projects like SMP (symmetric multiprocessing) scheduling strategies used in Sun Microsystems servers. Schedulers are bound to CPU cores with affinities managed similarly to systems from Intel and AMD, and designs consider fairness and load balancing studied at Stanford University and ETH Zurich.
Each Erlang process has isolated heap memory to reduce fragmentation and pause times, a strategy informed by experiments at Xerox PARC and techniques popularized in languages designed at Bell Labs and Lucent Technologies. The runtime employs generational and incremental garbage collection strategies comparable to implementations from IBM and Oracle Corporation research, with per-process collectors reducing global stop-the-world pauses seen in older systems from Sun Microsystems and Microsoft Research. Techniques integrate ideas from academics at University of California, Berkeley and University of Cambridge to optimize memory locality and inter-process communication.
Distributed operation uses a node and cookie mechanism and implements remote procedure and message routing akin to architectures used by Sun Microsystems RPC and influenced by protocols studied at IETF working groups. The distribution layer interoperates with TCP/IP stacks from FreeBSD and Linux Kernel networking, and leverages secure tunnels and transport libraries promoted by OpenSSL and IPsec standards. It has been deployed in carrier networks by operators such as Vodafone and Orange, and integrates with service meshes and orchestration layers exemplified by Istio and Kubernetes where Erlang-based services participate alongside Nginx and Envoy proxies.
Fault tolerance facilities—supervisors, application behaviors, and restart strategies—derive from principles articulated by research groups at Uppsala University and implementations in OTP (Open Telecom Platform) used across projects at Ericsson and WhatsApp. Hot code swapping enables updating running systems without downtime, a capability compared to live-patching approaches from Red Hat and kernel livepatch frameworks used in Linux Kernel maintenance. These features have been validated in mission-critical contexts including switching systems at BT Group and signaling platforms used by Verizon and AT&T.
Performance characterization references benchmarking approaches from SPEC, Phoronix Test Suite, and academic evaluations published through conferences such as ACM SIGPLAN and USENIX where comparisons include Go (programming language), Java (programming language), C++, and Ruby (programming language). Real-world throughput and latency studies involve deployments at WhatsApp, Facebook, and cloud providers like Amazon Web Services and Google Cloud Platform, while profiling and tracing tools used include integrations with DTrace, SystemTap, and observability stacks from Prometheus and Grafana.
Category:Runtime systems