News From the OTP TEAM. Kenneth Lundin, Erlang/OTP, Ericsson Erlang User Conference, Stockholm 2017

Similar documents
Introduction. version 5.0

Reltool Copyright Ericsson AB, All Rights Reserved Reltool June 19, 2018

Erlang on Rumprun Unikernel

Performance Optimization 101. Louis-Philippe Gauthier Team AdGear Trader

RADU POPESCU IMPROVING THE WRITE SCALABILITY OF THE CERNVM FILE SYSTEM WITH ERLANG/OTP

HiPE Copyright Ericsson AB. All Rights Reserved. HiPE March 11, 2019

BEAMJIT, a Maze of Twisty Little Traces

Erlang: An Overview. Part 1 Sequential Erlang. Thanks to Richard Carlsson for the original version of many slides in this part

A Status Update of BEAMJIT, the Just-in-Time Compiling Abstract Machine. Frej Drejhammar and Lars Rasmusson

Erlang/OTP latest NEWS

Introduction to Erlang. Franck Petit / Sebastien Tixeuil

BEAMJIT: An LLVM based just-in-time compiler for Erlang. Frej Drejhammar

Fault Injection Technique for Evaluating Erlang Test Suites

Hashes, Hashmaps, frames, structs,... Erlang User Conference Stockholm 2011

Erlang Erl Download or Read Online ebook erlang erl in PDF Format From The Best User Guide Database

A Language for Specifying Type Contracts in Erlang and its Interaction with Success Typings

The HALFWORD HEAP EMULATOR

Dialyzer Copyright Ericsson AB. All Rights Reserved. Dialyzer December 9, 2014

When ETS is too slow. Mark Allen Basho

An Introduction to Erlang. Richard Carlsson

Continuous integration & continuous delivery. COSC345 Software Engineering

DePloying an embedded ERLANG System

ECT: an Object Oriented Extension to Erlang

FRANCESCO CESARINI. presents ERLANG/OTP. Francesco Cesarini Erlang

Implementing Riak in Erlang: Benefits and Challenges

20 Years of Commercial Functional Programming

The Little Elixir & OTP Guidebook by Tan Wei Hao

Erlang/OTP and how the PRNGs work

Compiler Application (COMPILER) version 4.4

Gradual Typing of Erlang Programs: A Wrangler Experience

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

Tools Copyright Ericsson AB. All Rights Reserved. Tools 2.9 March 10, 2017

Securing Elixir Applications ElixirConf.EU Berlin. Bram Verburg System Architect, Security Advocate Cisco

Interoperability Tutorial. version 5.6

A Tour of Basho's Source at GitHub

WOMBATOAM OPERATIONS & MAINTENANCE FOR ERLANG & ELIXIR SYSTEMS

WOMBATOAM OPERATIONS & MAINTENANCE FOR ERLANG & ELIXIR SYSTEMS

2015 Erlang Solutions Ltd

What's new in MySQL 5.5? Performance/Scale Unleashed

Optimization Techniques

Erlang: An Overview. Part 2 Concurrency and Distribution. Thanks to Richard Carlsson for most of the slides in this part

Scaling Erlang to 10,000 cores.!!! Simon Thompson, University of Kent

Erlang in the battlefield. Łukasz Kubica Telco BSS R&D Department Cracow Erlang Factory Lite, 2013

An Introduction to Erlang

All you wanted to know about the HiPE compiler (but might have been afraid to ask)

The Wide World of Actors, or, Can I Have an Erlang Pony? Code BEAM San Francisco Friday, March 16, Scott Lystig Fritchie Wallaroo Labs

Erlang and Concurrency. André Pang Rising Sun Research

Samsara: Efficient Deterministic Replay in Multiprocessor. Environments with Hardware Virtualization Extensions

Starting the System & Basic Erlang Exercises

OSE Copyright Ericsson AB. All Rights Reserved. OSE 1.0 June 23, 2014

JazzScheme: Evolution of a Lisp-Based Development System. Guillaume Cartier Louis-Julien Guillemette SFP 2010

Erlang User Conference 2004

BEAM VM Wisdoms. Release 1.0. Dmytro Lytovchenko

INET

A History of the Erlang VM

Debugger Copyright Ericsson AB. All Rights Reserved. Debugger September 24, 2018

Programming Paradigms

WHAT IF YOUR NIF GOES ADRIFT? JULIAN SQUIRES

OAM Principles. version 5.4

Cross Reference Tool (XREF)

CISC 7310X. C08: Virtual Memory. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/22/2018 CUNY Brooklyn College

High Performance Erlang: Pitfalls and Solutions. MZSPEED Team Machine Zone, Inc

Xcode Release Notes. Apple offers a number of resources where you can get Xcode development support:

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

A NEW BEHAVIOUR PROPOSED FOR R15A JAY NELSON

Scalable ejabberd. Konstantin Tcepliaev. Moscow Erlang Factory Lite June 2012

A Tour to Spur for Non-VM Experts. Guille Polito, Christophe Demarey ESUG 2016, 22/08, Praha

Lessons learnt re-writing a PubSub system. Chandru Mullaparthi - Principal Software Architect at bet365

Enabling and Optimizing MariaDB on Qualcomm Centriq 2400 Arm-based Servers

COUCHDB - INSTALLATION

Where shall I parallelize?

Kernel Copyright Ericsson AB. All Rights Reserved. Kernel November

HiPE User's Manual BETA Version 0.9 Erik Johansson January 25, 2002 Contents 1 Introduction About this document Gett

Runtime_Tools Copyright Ericsson AB. All Rights Reserved. Runtime_Tools March 11, 2019

Operating Systems. IV. Memory Management

Crypto Application. version 1.2

Nested Virtualization Friendly KVM

On the Scalability of the Erlang Term Storage

Embedded/Connected Device Secure Coding. 4-Day Course Syllabus

Metaprogramming and symbolic execution for detecting runtime errors in Erlang programs

Ahead of Time (AOT) Compilation


Optimising Multicore JVMs. Khaled Alnowaiser

Thinking in a Highly Concurrent, Mostly-functional Language

For the latest information on the compatibility of Renesas software tools with Microsoft Windows 7, please see here.

Complex, concurrent software. Precision (no false positives) Find real bugs in real executions

Message Passing. Advanced Operating Systems Tutorial 7

Experiments in OTP-Compliant Dataflow Programming

Scaling Up from 1000 to 10 Nodes

Memory management. Requirements. Relocation: program loading. Terms. Relocation. Protection. Sharing. Logical organization. Physical organization

TFTP Copyright Ericsson AB. All Rights Reserved. TFTP 1.0 June 19, 2018

Sista: Improving Cog s JIT performance. Clément Béra

Xcode Release Notes. Apple offers a number of resources where you can get Xcode development support:

General Purpose GPU Programming (1) Advanced Operating Systems Lecture 14

Red Hat Summit 2009 Rik van Riel

CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 15: Caching: Demand Paged Virtual Memory

Processors, Performance, and Profiling

Modern Processor Architectures. L25: Modern Compiler Design

Erlang: distributed programming

QEMU: Architecture and Internals Lecture for the Embedded Systems Course CSD, University of Crete (April 18, 2016)

Transcription:

News From the OTP TEAM Kenneth Lundin, Erlang/OTP, Ericsson Erlang User Conference, Stockholm 17 1

Outline Planned Releases Next major release () OTP 21 and beyond Public 17-06-08 Page 2 2

Planned Releases OTP 19.3 March 15 1 major release per year (, 21, ) 3 planned correction packages like.1,.2,... Emergency packages as needed (.1.3) Maint branch = 19.X Master branch = next major Got valuable feedback from RC1 and 2 OTP RC1 May 03 OTP RC2 May 31 OTP June 21 OTP.1 September OTP.2 December OTP.3 March Public 17-06-08 Page 3 OTP 21 June 3

Next major potential incompatibilities Non SMP Erlang VM, deprecated and not built by default Remove deprecated erlang:hash/2 erlang:statistics/1 with scheduler_wall_time now also includes info about dirty CPU schedulers. New purge strategy introduced in OTP 19.1 is mandatory and slightly incompatible for processes holding funs see erlang:check_process_code/3. The NIF library reload is not supported anymore. Asn1: Deprecated module and functions removed (asn1rt, asn1ct:encode/3 and decode/3) Ssh: client only options will fail when starting a server OTP 17.3 Sept 17, 14 OTP 17.4 Dec 10, 14 OTP OTP 17.5.0-rc2 March 31, May 15 31 Public 17-06-08 Page 4 4

Highlights Erlang VM Dirty schedulers enabled and supported on VM with SMP support. support for dirty BIFs and dirty GC. erlang:garbage_collect/2 for control of minor or major GC Erlang literals are no longer copied when sending messages../configure --enable-lock-counter for building an additional VM with support for lock counting. To start the lock-counting emulator, use erl -emu_type lcnt. OTP 17.3 Sept 17, 14 OTP 17.4 Dec 10, 14 OTP OTP 17.5.0-rc2 March 31, May 15 31 Public 17-06-08 Page 5 5

Highlights Erlang VM continued Improved performance for large ETS tables, >256 entries (except ordered_set) erlang:system_info/1 atom_count and atom_limit Reduced memory pressure by converting sub-binaries to heap-binaries during GC enif_select, map an external event to message Improved IO scalability OTP 17.3 Sept 17, 14 OTP 17.4 Dec 10, 14 OTP OTP 17.5.0-rc2 March 31, May 15 31 Public 17-06-08 Page 6 6

Highlights Compiler improved code generation for complicated guards Warnings for repeated identical map keys. #{'a'=>1, 'b'=>2, 'a'=>3} will warn for the repeated key `a`. warning by default when OTP 17.3 Sept 17, 14 export_all is used. OTP 17.4 Dec 10, 14 OTP OTP 17.5.0-rc2 March 31, May 15 31 Public 17-06-08 Page 7 7

Highlights Compiler continued optimized pattern matching for maps new option deterministic to support repeatable builds Atoms may now contain unicode characters. compile:file/2 has an option to include extra chunks in the BEAM file. OTP 17.3 Sept 17, 14 OTP 17.4 Dec 10, 14 OTP OTP 17.5.0-rc2 March 31, May 15 31 Public 17-06-08 Page 8 8

Highlights misc 1 Unnamed ets tables optimized new ets:select_replace/2 for atomic "compare-and-swap" new event manager to handle a subset of OS signals in Erlang optimized sets add_element, del_element and union Added rand:jump/0-1 OTP 17.3 Sept 17, 14 OTP 17.4 Dec 10, 14 OTP OTP 17.5.0-rc2 March 31, May 15 31 Public 17-06-08 Page 9 9

Highlights misc 2 When a gen_server crashes, the stacktrace for the client will be printed size of crash reports from gen_* and proc_lib limited with error_logger_format_depth take/2 has been added to dict, orddict, and gb_trees. take_any/2 has been added to gb_trees. OTP 17.3 Sept 17, 14 OTP 17.4 Dec 10, 14 OTP OTP 17.5.0-rc2 March 31, May 15 31 Public 17-06-08 Page 10 10

Highlights misc 3 Significantly updated string module with unicode support erl_tar support for long path names and new file formats SSL: DTLS experimental support SSH: improving security, removing and adding algorithms New math:fmod/2 OTP 17.3 Sept 17, 14 OTP 17.4 Dec 10, 14 OTP 17.5 March 31, 15 OTP.0-rc2 May 31 Public 17-06-08 Page 11 11

OTP split, first step Separate repos for: Percept delayed... Typer moved to Dialyzer The separate applications are built with Rebar3 Repos will be at github.com/erlang OTP 17.3 Sept 17, 14 OTP 17.4 Dec 10, 14 OTP OTP 17.5.0-rc2 March 31, May 15 31 Public 17-06-08 Page 12 12

Split: first step in OTP In a later release CosTime CosProperty CosEventDomain CosNotification Orber Emacs mode IC Separate repo Percept Moved into Dialyzer CosTransactions CosFileTransfer CosEvent Typer OTP repo asn1, common_test, compiler, crypto, debugger, dialyzer, diameter, edoc, eldap, erl_docgen, erl_interface, erts, et, eunit, hipe, ic, inets, jinterface, kernel, megaco, mnesia, observer, odbc, os_mon, otp_mibs, parsetools, public_key, reltool, runtime_tools, sasl, snmp, ssh, ssl, stdlib, syntax_tools, tools, wx, xmerl (37 applications) Public 17-06-08 Page 13 13

OTP 21 and beyond Rewrite efile-driver as NIFs Rewrite inet-driver as NIFs using enif_select Distribution (100 nodes) Heterogenous Distributed Hash Table (as alternative to Global) Ongoing! Continue split OTP More on scalable ets-tables New features for VMs and containers, microservices JIT (based on LLVM) Public 17-06-08 Page 14 14

15