Past Meetup

SWIM: Scalable Group Membership Protocol

This Meetup is past

23 people went

Location image of event venue


6:00-6:30 Food and Socializing
6:30-7:30 Presentation and Discussion

The Paper
The problem of group membership in a networked distributed system can be expressed as the ability to reliably and repeatedly provide the answer a simple question: "who is alive?".

Group membership represents a key part of many useful applications, including P2P systems, network overlays, service discovery, and HA clustering. The SWIM protocol addresses severe limitations in the scalability of existing heartbeat-based broadcast membership algorithms by introducing a new approach using weakly-consistent, gossip based information sharing.

We'll start by working to understand the general problem space of group membership. Then we'll walk through the details of heartbeat-based membership algorithms and discuss their limitations when it comes to scalability. Once we have a grounding in the domain, we'll talk about the details of the SWIM protocol along with the benefits it provides and the tradeoffs of its strategy.

We'll conclude with some discussion of a real-world implementation of SWIM in the Serf project and the role it plays in the Consul service discovery tool.

The Speaker
Paul is a Chicago-based software engineer who has consistently found himself drawn to production systems. This affinity has led him to roles ranging from Head of Production Infrastructure at Braintree (online payments software) to Infrastructure Team Lead at Instructure (high-scale AWS-based education software). At HashiCorp, he is now focused on building the infrastructure automation tools he has been dreaming of for his whole career.