Training:
Hands on Embedded-Systems with GRiSP - Sensors, Actuators and Robots!
10 Oct 201909:00 - 17:00 Peer Stritzinger and Adam Lindberg
COURSE OUTLINE
The one day GRiSP tutorial will get you familiar with the GRiSP hardware boards and its capabilities running embedded Erlang and Elixir applications. We'll learn how to set up an Elixir or Erlang application for the GRiSP board, deploy it and interact with different hardware components directly from Erlang. After the tutorial, there will be a workshop where you can develop prototype embedded applications together with the group, having access to the GRiSP hardware and many sensors and actuators and we’ll also bring some robotics hardware to work with! We have tasks for every level.
Embedded Hardware will be provided and the tutorial price includes a GRiSP board to take with you.
More information at https://www.grisp.org/
AUDIENCE
- Elixir and Erlang developers who want to learn about the platform and embedded systems development
- Embedded systems engineers who want to try out Erlang or Elixir for systems
OBJECTIVES
- Learn how to use our rebar3 and mix based advanced development tools to develop embedded or IoT systems for the GRiSP board
- Interact and work with real hardware
- Develop example embedded applications together
PREREQUISITES
Programming skills in Erlang or Elixir.
Please bring your laptop. Micro USB cables and Micro SD-card readers are helpful but not necessary (we will bring some).
A guide for operations and development teams.
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.
OBJECTIVES
Understand how the BEAM works under the hood.
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.
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.
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 of the VM, looking at some of the most obscure flags which can come in hand, allowing for specific optimisations on a VM level, be it to increase I/O or throughput in virtualised environments.