Skip to content

Erlang on Xen: Redefining the Software Stack, Viktor Sovietov

Blue TeamThe Linux Foundation26 minOpen on YouTube ↗

Explores erlang on Xen: Redefining the Software Stack, Viktor Sovietov and evaluates key implications for security practitioners.

Summary

## Overview

Viktor Sovietov and Maxim Kharchenko from Cloudozer present Erlang on Xen, a novel virtual machine executing Erlang code without an underlying operating system. Started in 2009 with intensive development beginning a year ago, this entirely new VM (sharing no code with Ericsson's standard VM) runs on Xen paravirtualized domains. It achieves 4-5 millisecond startup latency and spawns over 10 VMs per second on a single physical node, with high compatibility to standard Erlang/OTP.

## Seven Architectural Commandments

The speakers present core principles for next-generation cloud software:

1. **Do not assume operating system presence**: View the cloud and language runtime as the operating system, eliminating unnecessary OS overhead in every VM instance.

2. **Software must be oblivious to physical node boundaries**: Enable applications to leverage cloud elasticity without considering physical constraints, achieving true horizontal scalability and automatic resource scaling.

3. **All services share a unified scalable fabric**: Unified management reduces deployment and maintenance costs while improving resource scheduling and enabling autonomous cloud systems.

4. **Run computations near data**: Treat cloud storage as computing infrastructure, running lightweight instances close to physical disks to reduce network traffic and IO overhead.

5. **Child nodes receive configuration from parent only**: Expand Erlang's supervisor-worker hierarchy to VMs for semi-automatic or fully automatic configuration distribution in large distributed applications.

6. **Avoid administration at all costs**: Automate administrative tasks within applications using dedicated supervisor VMs, eliminating human bottlenecks.

7. **SMP is an abomination of cloud computing**: Single-CPU VMs are more portable and migrable than large multi-core instances, remaining hardware-agnostic.

## Technical Details

Erlang on Xen is incompatible with OS-dependent standard library components but provides a free build service for public deployment. The team demonstrates ephemeral services—VMs provisioning on-demand (e.g., per HTTP request) without consuming idle resources. Two related projects are in early development: (1) **Dom 0 on Erlang and Xen**, replacing Linux in dom 0 with Erlang for clearer interfaces and autonomous management, with hardware drivers isolated in unprivileged domains; (2) **JavaScript in Zen Portal**, isolating web scripts in separate Zen domains for security and enabling native code execution alongside JavaScript with estimated 10-20% JavaScript performance penalty but potential 3x speedup through native implementations.

## Takeaways

The vision treats language runtimes as operating systems, eliminating physical hardware assumptions. This enables faster provisioning, better resource utilization, improved elasticity, and simplified management. The JavaScript/Xen security isolation work demonstrates practical applications, while the broader architectural approach fundamentally challenges how distributed systems should be engineered for cloud environments.

Related talks