Aller au contenu

Erlang Without an OS: Maxim Kharchenko on Building LING

7 août 2026 · 1 h 3 min

Notes de l’épisode

Booting OTP without a Linux kernel underneath it. Running Erlang directly on a Xen hypervisor. Implementing a VM where every single out-of-memory condition is explicitly handled — not a single allocation without a recovery path.

Maxim Kharchenko spent five to eight years building Ling, a from-scratch Erlang runtime that runs without an operating system. Not a fork of the BEAM. Not a modification. A clean implementation, built to answer one question: can you run a system that never stops?

Francesco Cesarini joins Alan Wyma for this episode — he was there when it was built, running the Erlang Solutions team that worked on the other half of the project.

Topics include:

  • how Maxim came to Erlang backwards — building his own isolation-based runtime first, then discovering Erlang had already solved the same problems

  • what a Xen hypervisor actually is and why it's the right host for a no-OS Erlang VM

  • how Ling's dynamic instruction set works: analyzing real OTP source code to figure out the optimal instruction set for that specific workload, then generating specialized opcodes — including one that loads the number 17 specifically because 17 appeared frequently enough to warrant it

  • why every single memory allocation in Ling has an explicit out-of-memory handler — and how hard that discipline was to maintain

  • the garbage collector design for bare-metal network applications and why it matters differently there than in regular BEAM workloads

  • running the entire network as an Erlang application: not just a piece of it, but switch firmware, controller, and the full stack

  • why the industry was not ready for this ten years ago — and why the problems Ling was solving have come back under different names

  • where unikernels and Linux eBPF fit in the same space today

Recorded June 3, 2026.


Tous les épisodes de BEAM There, Done That

Paramètres

Affichage

Langue

Détermine les stations affichées en premier sur la page d’accueil.

Historique

Les stations et épisodes écoutés récemment et tes dernières recherches sont seulement enregistrés dans ce navigateur.

Notifications

Un court message quand un podcast que tu suis publie un nouvel épisode. Désactive un podcast précis avec la cloche sur sa page.

Compte

Enregistrez vos favoris – dans l’app et sur le site.

Raccourcis clavier

/
Ouvrir la recherche
Espace
Lecture ou pause
← →
Dans le lecteur : 15 s en arrière, 30 s en avant (épisodes) · dans une rangée : tuile suivante
↑ ↓
Dans une rangée : cible dans la tuile
Début / Fin
Dans une rangée : première ou dernière tuile
Esc
Fermer la fenêtre ou le menu
?
Cet aperçu
En cours de lecture

Voir la station

À suivre

    Ajoutez des épisodes avec « À suivre » – ils seront lus après l'épisode en cours.