Resilient Consistent Hashing for Distributed Cache Node Failures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing consistent hashing techniques in distributed cache systems face challenges when adding new resources, as they require costly updates to the hashing scheme and may not achieve optimal workload distribution, leading to uneven resource utilization and potential disruptions due to node failures.

Innovation Solution

Resilient consistent hashing techniques that allow for adaptive handling of new resources and uneven workload distribution without breaking the consistent hashing scheme, using load balancers and backup nodes to ensure seamless request routing and minimize disruptions, while implementing shuffle sharding to redistribute requests among available nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If consistent hashing scheme is updated to add new resources, then resource utilization is improved, but system disruption and update cost increase

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem disruption
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system dynamically adjusts the hashing scheme only for the specific hash value corresponding to the new resource, while maintaining static hashing for all other values. This selective dynamic update allows the system to adapt to new resources without requiring a complete scheme refresh, thereby improving resource utilization while minimizing system disruption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hashing scheme is segmented into individual hash value mappings rather than being treated as a monolithic structure. When a new resource is added, only the specific hash value mapping for that resource is updated, isolating the change to a minimal segment and preventing cascading disruptions across the entire system.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If consistent hashing scheme is updated to add new resources, then resource utilization is improved, but update cost increases

Engineering Contradiction:
Improveresource utilizationVSAvoidupdate cost
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system employs selective dynamic updating where only the specific hash value mapping for the new resource is modified, rather than recalculating and redistributing all hash mappings. This dynamic approach reduces computational overhead and update costs while still achieving proper resource utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The update operation is localized to only affect the specific hash value mapping for the new resource, leaving all other mappings unchanged. This local quality approach minimizes the scope of work required during updates, reducing both computational cost and operational complexity.

Inventive Principle:
Principle #3Local quality

3Productivity

If requests are directed to specific nodes by hashing scheme, then workload distribution is achieved, but uneven resource utilization occurs

Engineering Contradiction:
Improveworkload distributionVSAvoidresource utilization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system monitors resource availability and utilization metrics, and uses this feedback to dynamically adjust hash value mappings. When resources become unavailable or utilization becomes uneven, the system recalculates and updates the appropriate hash mappings to redistribute requests, thereby maintaining both workload distribution and balanced resource utilization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the hash mapping parameters dynamically based on current resource conditions. When resources are added, removed, or become unavailable, the hash values and their corresponding node mappings are adjusted to optimize both workload distribution and resource utilization, allowing the system to adapt to changing conditions.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If node failures occur in consistent hashing, then system resilience is tested, but request routing disruption increases

Engineering Contradiction:
Improvesystem resilienceVSAvoidrequest routing disruption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-establishes backup hash mappings and alternative node assignments for potential failures. When a node failure occurs, the system can immediately redirect requests using pre-computed alternative mappings, avoiding the need for real-time recalculation and minimizing routing disruption while maintaining system resilience.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The system dynamically updates hash mappings in response to node failures, but only for the affected hash values. This selective dynamic adjustment allows the system to maintain resilience by adapting to failures while minimizing the scope of changes required, thereby reducing routing disruption time.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11652746B1Resilient consistent hashing for a distributed cache
Publication Date: 2023.05.16 AMAZON TECH INC
  • US11652746B1 patent drawing
  • US11652746B1 patent drawing
  • US11652746B1 patent drawing

AI summary

Resilient consistent hashing techniques are implemented to perform requests among nodes of a distributed system. Different load balancers are assigned different groups of request handling nodes that cache data to perform request. Requests are assigned to different load balancers according to a consistent hashing scheme. Load balancers distribute requests among assigned nodes using a load balancing scheme. Different numbers of nodes can be assigned to different load balancers.