Friendly Cuckoo Hashing for Compute Cluster Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In datacenter environments, efficiently assigning compute-intensive workload requests to available compute resources in a timely manner is challenging, especially when there are a large number of resources, as existing methods often result in high latency and over-provisioning, which is costly and inefficient.
Innovation Solution
A 'friendly' cuckoo hash algorithm is used to assign workload requests to pre-configured compute resource modules, minimizing evictions and optimizing resource utilization by reconfiguring less stringent SLA modules for more demanding workloads, and employing Horton tables to manage collisions and ensure timely processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional cuckoo hashing is used to assign workload requests to compute resources, then assignment speed is improved, but latency increases and resource utilization deteriorates due to high eviction rates
Solution Approach 1:
The patent pre-configures compute resource modules with workload algorithms before workload requests arrive. This preliminary preparation eliminates the need for time-consuming algorithm configuration at assignment time, thereby reducing latency while maintaining fast assignment speed through the cuckoo hashing mechanism.
Solution Approach 2:
The patent segments compute resources into modules, each pre-configured with specific workload algorithms. This segmentation allows for specialized optimization of each module and reduces the overall assignment latency by directing workloads to pre-prepared modules rather than configuring resources on-demand.
2Speed
If more compute resource modules are provisioned to reduce latency, then assignment speed is improved, but resource cost increases due to over-provisioning
Solution Approach 1:
By pre-configuring compute resource modules with workload algorithms, the system prepares resources in advance without needing to maintain a large number of idle modules. This reduces the need for over-provisioning while maintaining fast assignment capability, as modules are ready to accept workloads immediately upon arrival.
Solution Approach 2:
The patent changes the state of compute resource modules from unconfigured to pre-configured, altering their readiness parameter. This allows the system to achieve faster assignment speeds with fewer modules, as each module is prepared in advance rather than requiring multiple standby modules.
3Productivity
If compute resource modules are reconfigured for different workloads, then resource utilization is improved, but configuration time increases causing latency
Solution Approach 1:
The system performs configuration actions in advance by pre-configuring compute resource modules with workload algorithms before workloads arrive. This eliminates reconfiguration time during workload assignment, as modules are already prepared and can immediately accept and execute their designated workloads.
Solution Approach 2:
The patent implements dynamic workload assignment by using cuckoo hashing to distribute workloads across pre-configured modules based on real-time availability. This dynamic allocation optimizes resource utilization without requiring reconfiguration, as the system intelligently routes workloads to appropriate pre-prepared modules.
Data Source
AI summary
Improved placement of workload requests in a hosted compute resource uses a ‘friendly’ cuckoo hash algorithm to assign each workload request to an appropriately configured compute resource. When a first workload request is received, the workload is assigned to the compute resource module that has been pre-configured to execute that workload. Subsequent requests for a similar workload are either assigned to a second pre-configured compute resource or queued behind the first workload request.


