Table of Contents
Fetching ...

FRANCIS: Fast Reaction Algorithms for Network Coordination In Switches

Wenchen Han, Vic Feng, Gregory Schwartzman, Yuliang Li, Michael Mitzenmacher, Minlan Yu, Ran Ben-Basat

TL;DR

This work proposes FRANCIS, a framework and associated libraries for running message-passing algorithms on programmable switches that features primitives that allow easy integration of such algorithms for quickly reacting to network events while optimizing resource consumption.

Abstract

Optimizing the reaction to network events, which is critical in tasks such as clock synchronization, multicast, and routing, becomes increasingly challenging as networks grow larger. To improve the reaction time compared to centralized solutions, the theory community has made significant progress in the design of message-passing algorithms that leverage all nodes for distributed computation, and the advent of programmable switches makes it now possible to materialize them. We propose FRANCIS, a framework and associated libraries for running message-passing algorithms on programmable switches. It features primitives that allow easy integration of such algorithms for quickly reacting to network events while optimizing resource consumption. We use FRANCIS to implement event reaction solutions that improve clock synchronization, source-routed multicast, and routing and demonstrate up to 18x reduction in reaction time.

FRANCIS: Fast Reaction Algorithms for Network Coordination In Switches

TL;DR

This work proposes FRANCIS, a framework and associated libraries for running message-passing algorithms on programmable switches that features primitives that allow easy integration of such algorithms for quickly reacting to network events while optimizing resource consumption.

Abstract

Optimizing the reaction to network events, which is critical in tasks such as clock synchronization, multicast, and routing, becomes increasingly challenging as networks grow larger. To improve the reaction time compared to centralized solutions, the theory community has made significant progress in the design of message-passing algorithms that leverage all nodes for distributed computation, and the advent of programmable switches makes it now possible to materialize them. We propose FRANCIS, a framework and associated libraries for running message-passing algorithms on programmable switches. It features primitives that allow easy integration of such algorithms for quickly reacting to network events while optimizing resource consumption. We use FRANCIS to implement event reaction solutions that improve clock synchronization, source-routed multicast, and routing and demonstrate up to 18x reduction in reaction time.
Paper Structure (44 sections, 4 equations, 19 figures, 9 tables, 5 algorithms)

This paper contains 44 sections, 4 equations, 19 figures, 9 tables, 5 algorithms.

Figures (19)

  • Figure 1: An overview of FRANCIS. Algorithm scheduling is a module that generates at runtime the schedule to perform the next computation or communication actions (shown as cubes).
  • Figure 2: Running algorithm instances on programmable switches.
  • Figure 3: Performance of FRANCIS's Tofino prototype in failure recovery for clock synchronization, compared with PTP PTP's best master clock algorithm to handle failures. The dark, cross-patched bars represent fast recovery and the light, dotted bars correspond to distributed optimization. A single link failure happens at $0$ms.
  • Figure 4: Performance of clock synchronization compared with Sundial Sundial and PTP PTP with two switch failures.
  • Figure 5: Time to $\epsilon$ and per-link message overhead for clock synchronization with one switch failure on the FatTree topology.
  • ...and 14 more figures