Phasic Data Repartitioning for Cloud Cluster Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large-scale distributed systems face performance bottlenecks due to network bandwidth degradation as the number of nodes increases, particularly in cloud-scale clusters, resulting from network backpressure, endpoint congestion, and high latency in all-to-all communication patterns, which current solutions fail to adequately address.
Innovation Solution
The system employs a phasic data repartitioning approach that maps compute nodes to grid points in a hyperrectangle, allowing data to traverse multiple hops with content-based addressing and rearrangement, reducing the number of active communicating pairs and optimizing network throughput by dividing communication into phases, thereby achieving all-to-all communication with fewer connections per node.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all-to-all communication pattern is used for data repartitioning, then data can be exchanged between all nodes, but network throughput per node deteriorates significantly as cluster size increases
Solution Approach 1:
The patent segments the all-to-all communication process into multiple phases, where in each phase only a subset of nodes communicate with each other. Specifically, nodes are divided into groups based on their destination ranges, and communication is performed in staged intervals. This segmentation reduces the number of simultaneous communicating pairs from O(N²) to O(N) per phase, thereby maintaining network throughput per node while still achieving complete data exchange across the cluster.
2Productivity
If cluster size is increased for horizontal scaling, then processing capacity is improved, but network bandwidth becomes a more prominent bottleneck
Solution Approach 1:
The patent applies segmentation by dividing the cluster into multiple source groups and destination groups, where each group performs communication in dedicated time phases. This allows the system to scale to larger clusters without proportionally increasing network congestion, as each node only needs to handle communication with a limited subset of other nodes in each phase rather than all nodes simultaneously.
Solution Approach 2:
The patent implements dynamic communication scheduling where the set of active communicating pairs changes over time phases. Nodes dynamically transition between sending, receiving, and idle states across different phases, optimizing network utilization at each moment while maintaining overall system scalability.
3Quantity of substance
If multiple sender nodes send data to the same receiver node, then data aggregation is achieved, but endpoint congestion increases due to shared bandwidth
Solution Approach 1:
The patent segments the communication process so that data aggregation to a single receiver node occurs in distributed stages across multiple phases rather than simultaneously from all senders. In each phase, only a limited subset of senders communicates with any given receiver, spreading the bandwidth demand over time and preventing endpoint congestion while still achieving complete data aggregation by the end of all phases.
Data Source
AI summary
Techniques herein partition data using data repartitioning that is store-and-forward, content-based, and phasic. In embodiments, computer(s) maps network elements (NEs) to grid points (GPs) in a multidimensional hyperrectangle. Each NE contains data items (DIs). For each particular dimension (PD) of the hyperrectangle the computers perform, for each particular NE (PNE), various activities including: determining a linear subset (LS) of NEs that are mapped to GPs in the hyperrectangle at a same position as the GP of the PNE along all dimensions of the hyperrectangle except the PD, and data repartitioning that includes, for each DI of the PNE, the following activities. The PNE determines a bit sequence based on the DI. The PNE selects, based on the PD, a bit subset of the bit sequence. The PNE selects, based on the bit subset, a receiving NE of the LS. The PNE sends the DI to the receiving NE.


