Decentralized Lock Scheduling for Network Contention in Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale distributed systems, network congestion and data skew lead to inefficiencies in data redistribution, causing increased query execution latency and suboptimal utilization of network bandwidth, particularly in scenarios like all-to-all communication patterns in high-performance computing and data analytics.

Innovation Solution

Implementing decentralized lock synchronization across network elements to serialize data transmissions and manage mutual exclusive access, using locks associated with both endpoint computers and inter-switch links to prevent contention and optimize bandwidth usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If all-to-all communication is performed without scheduling over InfiniBand network, then simplicity of communication pattern is maintained, but network bandwidth utilization deteriorates significantly

Engineering Contradiction:
Improvecommunication pattern simplicityVSAvoidnetwork bandwidth utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic scheduling of communication patterns that adapts to network conditions and data distribution characteristics. The system dynamically selects between different communication patterns (e.g., shifted patterns, shuffled patterns) based on real-time network state, transforming the static all-to-all communication into a dynamic, optimized process that maintains simplicity while achieving high bandwidth utilization.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent employs periodic communication phases with structured timing, where data is transmitted in organized waves or rounds rather than simultaneously. This periodic action allows the network to systematically utilize available bandwidth across multiple time slots, preventing congestion while maintaining the essence of all-to-all communication.

Inventive Principle:
Principle #19Periodic action

2Speed

If multiple senders simultaneously send data to a common receiver, then communication parallelism is improved, but contention at receiving endpoint increases

Engineering Contradiction:
Improvecommunication parallelismVSAvoidreceiving endpoint contention
Core Design Contradiction:
SpeedVSObject-generated harmful factors

Solution Approach 1:

The patent segments the communication process by dividing receivers into different groups or rounds. Instead of all senders targeting all receivers simultaneously, the system organizes communication into multiple phases where different subsets of senders communicate with different subsets of receivers in each phase, reducing contention at any single receiver while maintaining overall parallelism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary scheduling and ordering of communication operations before actual data transfer. The system pre-determines the sequence in which senders will communicate with receivers, allocating time slots or priority levels in advance. This preliminary action prevents simultaneous conflicts at receivers while preserving the benefits of parallel communication.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If inter-switch links are shared by multiple communication pairs, then network resource utilization is improved, but bandwidth per communication pair deteriorates

Engineering Contradiction:
Improvenetwork resource utilizationVSAvoidbandwidth per communication pair
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent implements dynamic allocation of inter-switch link capacity through scheduling mechanisms that adapt to communication demands. The system dynamically assigns link bandwidth to different communication pairs based on priority, data volume, and network conditions, allowing efficient resource utilization while guaranteeing sufficient bandwidth for critical communications.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes communication parameters such as data block size, transmission timing, and routing paths to optimize inter-switch link utilization. By adjusting these parameters dynamically, the system achieves high overall resource utilization while maintaining adequate bandwidth for individual communication pairs.

Inventive Principle:
Principle #35Parameter changes

4Ease of manufacture

If traditional shift-pattern communication is used for uniform data distribution, then implementation simplicity is maintained, but performance deteriorates with data skew

Engineering Contradiction:
Improveimplementation simplicityVSAvoidperformance with data skew
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent transforms the static shift-pattern communication into a dynamic system that detects data distribution characteristics and adapts its communication strategy. When data skew is detected, the system automatically switches to or combines with shuffled communication patterns, maintaining implementation simplicity through automated adaptation while achieving high performance across different data distribution scenarios.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10263893B2Application-level dynamic scheduling of network communication for efficient re-partitioning of skewed data
Publication Date: 2019.04.16 ORACLE INT CORP
  • US10263893B2 patent drawing
  • US10263893B2 patent drawing
  • US10263893B2 patent drawing

AI summary

Techniques are provided for using decentralized lock synchronization to increase network throughput. In an embodiment, a first computer sends, to a second computer comprising a lock, a request to acquire the lock. In response to receiving the lock acquisition request, the second computer detects whether the lock is available. If the lock is unavailable, then the second computer replies by sending a denial to the first computer. Otherwise, the second computer sends an exclusive grant of the lock to the first computer. While the first computer has acquired the lock, the first computer sends data to the second computer. Afterwards, the first computer sends a request to release the lock to the second computer. This completes one duty cycle of the lock, and the lock is again available for acquisition.