This document analyzes an equal-cost multi-path (ECMP) algorithm, specifically the hash-threshold method. ECMP is a routing technique that sends packets along multiple paths of equal cost. The router selects a next-hop based on a hash of the packet's header fields. The hash-threshold algorithm divides the key space into regions assigned to next-hops. The router determines which region contains the hash value to select the next-hop.
Performance of the hash-threshold algorithm is analyzed, focusing on computational requirements and disruption caused by changes in next-hops. The algorithm assumes equal-sized regions, and if the hash function is uniformly distributed, the flows are evenly distributed among paths. The algorithm's performance is dependent on the hash function and the organization of next-hops in memory. The time to select a next-hop is O(1) if next-hops are stored in an array indexed by region.
Disruption is measured as the fraction of flows whose paths change due to router changes. The analysis shows that removing a region causes disruption, with the least disruption when the region is removed from the center. The maximum disruption occurs when edge regions are removed. The formula for disruption is derived, showing that the minimum disruption is when the removed region is in the middle.
The document compares hash-threshold with other algorithms like modulo-N and highest random weight (HRW). Modulo-N is the most disruptive, while HRW has minimal disruption but is more computationally expensive. Hash-threshold performs as well as modulo-N and is less disruptive. The document also discusses security considerations and references to related documents.This document analyzes an equal-cost multi-path (ECMP) algorithm, specifically the hash-threshold method. ECMP is a routing technique that sends packets along multiple paths of equal cost. The router selects a next-hop based on a hash of the packet's header fields. The hash-threshold algorithm divides the key space into regions assigned to next-hops. The router determines which region contains the hash value to select the next-hop.
Performance of the hash-threshold algorithm is analyzed, focusing on computational requirements and disruption caused by changes in next-hops. The algorithm assumes equal-sized regions, and if the hash function is uniformly distributed, the flows are evenly distributed among paths. The algorithm's performance is dependent on the hash function and the organization of next-hops in memory. The time to select a next-hop is O(1) if next-hops are stored in an array indexed by region.
Disruption is measured as the fraction of flows whose paths change due to router changes. The analysis shows that removing a region causes disruption, with the least disruption when the region is removed from the center. The maximum disruption occurs when edge regions are removed. The formula for disruption is derived, showing that the minimum disruption is when the removed region is in the middle.
The document compares hash-threshold with other algorithms like modulo-N and highest random weight (HRW). Modulo-N is the most disruptive, while HRW has minimal disruption but is more computationally expensive. Hash-threshold performs as well as modulo-N and is less disruptive. The document also discusses security considerations and references to related documents.