Module quilkin::net::phoenix

source ·
Expand description

§Phoenix Network Coordinate System

This module provides a framework for estimating network latencies between nodes in a distributed system. By embedding nodes in a virtual coordinate space, Phoenix allows for efficient estimation of network distance (latency) without the need to directly measure the latency between every pair of nodes.

§Overview

The Phoenix system works by assigning each node in the network a set of coordinates that correspond to its position in a virtual space. The distance between any two nodes in this space is indicative of the expected network latency between them. This method reduces the overhead and scale issues associated with all-to-all latency measurements.

The system is designed to be both self-organizing and adaptive, meaning that it can handle nodes joining, leaving, and changing latencies over time. Phoenix periodically updates the coordinates of each node based on a subset of latency measurements to reflect the current state of the network.

Structs§

  • The network coordinates of a node in the phoenix system.
  • A Phoenix instance maintains a virtual coordinate space for nodes in a distributed system to estimate their network latencies. It uses the provided Measurement trait to periodically measure and update each node’s coordinates, allowing for latency estimation between any two nodes.

Traits§

  • An implementation of measuring the network difference between two nodes.

Functions§