Lockless Asynchronous Distributed Training

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed machine learning systems face limitations in training speed due to synchronous processing and reliance on disk performance, especially with a large number of workers, which makes them impractical for efficient parameter tuning and unit training.

Innovation Solution

The system employs a lockless, asynchronous approach by allocating a per-sender receive queue at every network node for parallel machine learning units to train and merge updates in a peer-to-peer fashion, utilizing RDMA for direct memory access to reduce interruptions and enhance training efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous bulk-synchronous processing is used in distributed machine learning, then deterministic training updates can be ensured, but training speed becomes limited and too slow for practical use with large numbers of workers

Engineering Contradiction:
Improvedeterministic training updatesVSAvoidtraining speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system transitions from static synchronous processing to dynamic asynchronous processing where worker nodes can independently update model parameters at different rates. The lockless update mechanism allows the system to adapt to varying processing speeds of different workers without requiring synchronization barriers, enabling faster overall training while maintaining correctness through optimistic concurrency control.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The asynchronous update mechanism eliminates idle waiting time by allowing workers to continuously perform useful training computations without being blocked by synchronization points. The lockless queue-based approach ensures that update operations can proceed continuously without interruption from synchronization overhead, maximizing the continuity of productive work across all worker nodes.

Inventive Principle:
Principle #20Continuity of useful action

2Productivity

If a dedicated parameter server collects all unit updates, then asynchronous training can be performed, but workers must wait for updated units to arrive from the server

Engineering Contradiction:
Improveasynchronous training capabilityVSAvoidwaiting time for unit updates
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system extracts the central parameter server bottleneck by implementing a distributed peer-to-peer update mechanism. Each worker node maintains its own lockless queue and can independently apply updates from other workers without centralized coordination. This removes the single point of contention and eliminates the waiting time associated with centralized update distribution.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Worker nodes serve themselves by independently managing their own update queues and applying updates autonomously without requiring requests or responses from a central server. The lockless queue structure allows each worker to self-manage its update state, eliminating dependency on external coordination and reducing waiting time.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If file system communication is used in Hadoop, then distributed machine learning can be implemented, but training speed is limited to disk performance

Engineering Contradiction:
Improvedistributed learning capabilityVSAvoidtraining speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system replaces the mechanical disk-based file system communication with in-memory queue-based communication. The lockless queues are implemented in memory, eliminating the slow disk I/O operations that bottlenecked Hadoop-based distributed learning. This substitution of the communication mechanism dramatically increases training speed while maintaining distributed learning functionality.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system performs preliminary action by pre-allocating lockless queues in memory before training begins. This eliminates the need for disk-based persistent storage during training iterations, allowing all update operations to proceed at memory speed. The queues are prepared in advance and remain in fast memory throughout the training process, ensuring continuous high-speed operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9984337B2Parallelized machine learning with distributed lockless training
Publication Date: 2018.05.29 NEC LABORATORIES AMERICA INC
  • US9984337B2 patent drawing
  • US9984337B2 patent drawing
  • US9984337B2 patent drawing

AI summary

Systems and methods are disclosed for providing distributed learning over a plurality of parallel machine network nodes by allocating a per-sender receive queue at every machine network node and performing distributed in-memory training; and training each unit replica and maintaining multiple copies of the unit replica being trained, wherein all unit replicas train, receive unit updates and merge in parallel in a peer-to-peer fashion, wherein each receiving machine network node merges updates at later point in time without interruption and wherein the propagating and synchronizing unit replica updates are lockless and asynchronous.