Skip to main content
Presentation

Armon Dadgar on Vivaldi: A Decentralized Network Coordinate System

Learn about an algorithm that greatly increases the ability to predict network latency, and its incorporation as a key component of HashiCorp's Consul.

Speaker

In designing the distributed networking tool Consul, HashiCorp turned to an algorithm for mapping nodes into a simple coordinate system, where distance between coordinates predicts latency. In this talk sponsored by Papers We Love, HashiCorp CTO Armon Dadgar discusses (starting at 28:10) a 2004 paper he loves, “Vivaldi: A Decentralized Network Coordinate System,” by Dabek, Cox, Kaashoek, and Morris. In it, the authors laid out the problem with communications latency and suggested a way to achieve latency prediction that is lightweight, accurate, adaptive to changing topology, and distributed, relying on local knowledge alone.

Recognizing that, because real latencies violate triangle inequality, no simple coordinate system can avoid error, even if measurements were perfect and consistent, the authors modeled error as spring tension. To minimize error, coordinates are adjusted by simulating spring movement.

Dadgar explains how the authors had to incorporate the dimension of height (the fixed time for communication down the stack) to get acceptable predictability of coordinates, and then he discusses Vivaldi’s function in Consul, HashiCorp’s solution for service discovery, monitoring, configuration, and orchestration.

More resources like this one

3/15/2023Case Study

Using Consul Dataplane on Kubernetes to implement service mesh at an Adfinis client

1/20/2023FAQ

Introduction to Zero Trust Security

1/4/2023Presentation

A New Architecture for Simplified Service Mesh Deployments in Consul

12/31/2022Presentation

Canary Deployments with Consul Service Mesh on K8s