BEAM VM Under the Hood

  • Expertise
    Intermediate
  • Target audience The course is aimed at experienced developers and devops engineers, helping them pre-empt and address behaviour which arise as the result of VM specific settings, be it disruption of soft real time properties as a result of garbage collection or bottlenecks in the scheduler.
  • Prerequisites
    • Experience in developing and supporting languages running on the Beam, including Erlang and Elixir.
    • Fine-tune it and optimize its settings for throughput and memory use.

Everything you wanted to know about the BEAM but were afraid to ask!

Through examples and hands on exercises, we will showcase how to manage the BEAM VM in operational environments, optimizing for memory utilisation and performance when using Erlang or Elixir.

COURSE OUTLINE

Intro to the BEAM – highlights of the BEAM Virtual Machine, the features which make it stand out in comparison to other VMs.

Processes under the hood – how memory is allocated, managed and garbage collected.

The Process Scheduler – how the schedulers works, how it scales on multi-core architectures and what its limitations are.

Memory Management – different memory types including system, atom, binary, code and ets tables.

Tweaking and fine-tuning – tweaks and possible fine-tuning

Michał Ślaski
Technical Lead

Michal is an AGH graduate, Erlang programmer since 2005. In 2014 Michal began organizing the Lambda Days conference, which focuses on functional languages and new trends in computer science. In the same year Michal also started organizing programming workshops for people who would like to learn languages such as Erlang, Elixir or Swift. Currently Michal is a Technical Lead in Erlang Solutions and frequent conference speaker.

Looking for bespoke
corporate training?

Contact us about how we can tailor a course for the needs of your team.