<

Peter Van Roy

Distributed systems guru

Peter Van Roy is a professor in the ICTEAM Institute at the Université Catholique de Louvain (Belgium). In his spare time, he coordinates the LightKone Horizon 2020 project which is working on an Erlang-based programming platform for general-purpose computing on edge networks based on CRDTs and hybrid gossip algorithms.

He is the author of "Concepts, Techniques, and Models of Computer Programming" and of "Programming Paradigms for Dummies".

Upcoming Activities

Peter Van Roy
Code Mesh V
Tutorial/ 04 Nov 2020
13.00 - 16.30

Highlights and Insights in Distributed Programming

There are three certainties in life, taxes, death and network issues. In his tutorial, distributed systems pioneer Peter van Roy will give you the fundamentals of how to overcome these issues by explaining

classics such as the CAP theorem, but also items that are less understood like eventual consistency and timeouts (timeouts are actually very badly understood!).  He will explain some of the fallacies in system design (like using induction) and how to overcome them.  Feedback in distributed systems programming is necessary, so Peter will explain how to do it.

Expect lots more in the same vein, explaining important and often misunderstood concepts and showing how to apply them.

 

EXPERTISE

Intermediate

 

COURSE DURATION

3h30 minutes

TARGET AUDIENCE

Developers and Architects who need an understanding of how to design and develop distributed systems.

 

PREREQUISITES

Knowledge of programming and concurrency models 

 

OBJECTIVES 

Gain an understanding and appreciation of the challenges involved in building distributed systems.

 

 COVERS THE FOLLOWING TOPICS

  • CAP theorem
  • Eventual consistency models 
  • Timeouts
  • Retry strategies
  • Fallacies in system design and how to overcome them

Past Activities

Peter Van Roy
Code BEAM STO 2019
16 May 2019
09.15 - 10.00

Why time is evil in distributed systems and what to do about it

Building distributed systems is hard, even using languages such as Erlang that support them well. There are many problems that have to be solved: partial failure, nondeterminism, observable delays, event ordering, global state, distributed consistency, performance (latency and throughput), and so on. Progress has been made in solving these problems, but often in isolation and without realizing how the solutions are related.

In this talk, Peter goes to the heart of the matter and explain why almost all of these hard problems are avatars of one problem, namely real-world time. Peter will explain how to avoid time when building distributed systems. There are some cases when time cannot be avoided, even in principle, and he will explain those as well. In both situations, using and avoiding time, Peter will try to present general solutions at a correct level of abstraction. All ideas will be illustrated by examples of real distributed systems from my experience (edge computing, consistent replication, etc.).

This talk will give you a fresh outlook on distributed systems and help you design better ones.

OBJECTIVES

To explain the importance of real-world time for distributed systems. To help you master time in your own distributed systems.