Work Stealing Fence Elision for Multiprocessor Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scheduling multithreaded computations on multiprocessor machines faces challenges in dynamically balancing computational workloads across processors, requiring costly synchronization operations, which hinders efficient utilization of resources.

Innovation Solution

Implementing a lock-free, wait-free work stealing algorithm that allows foreign processors to dynamically steal work items from other processors, using a data structure that minimizes the need for synchronization fences, enabling efficient and effective dynamic load-balancing across all processing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional synchronization operations are used for work stealing, then correctness of concurrent access is ensured, but system performance deteriorates due to costly synchronization overhead

Engineering Contradiction:
Improvecorrectness of concurrent accessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and removes memory fence operations from the work stealing algorithm. By eliminating these synchronization barriers, the system achieves lock-free and fence-free operation, thereby removing the performance overhead while maintaining correctness through alternative mechanisms in the lock-free data structure design.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The data structure is designed to be self-synchronizing through its lock-free algorithm. Instead of relying on external synchronization fences to ensure correctness, the data structure inherently manages concurrent access through atomic operations and careful ordering of memory accesses built into the algorithm itself.

Inventive Principle:
Principle #25Self-service

2Stability of the object's composition

If memory fences are used to ensure visibility of writes in work stealing, then consistency is maintained, but execution speed decreases due to performance overhead

Engineering Contradiction:
Improveconsistency of data visibilityVSAvoidexecution speed
Core Design Contradiction:
Stability of the object's compositionVSSpeed

Solution Approach 1:

The patent explicitly removes memory fence operations from the work stealing pop algorithm. The implementation achieves consistency without traditional fences by using atomic compare-and-swap operations and carefully structured memory access patterns that ensure proper visibility ordering without requiring explicit fence instructions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical memory fence system with atomic hardware operations. Instead of using software-based or hardware-based fence mechanisms to ensure visibility, the system uses atomic compare-and-swap instructions that provide both visibility guarantees and performance efficiency in a single atomic operation.

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

Data Source

PatentUS9038087B2Fence elision for work stealing
Publication Date: 2015.05.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9038087B2 patent drawing
  • US9038087B2 patent drawing
  • US9038087B2 patent drawing

AI summary

Methods and systems for statistically eliding fences in a work stealing algorithm are disclosed. A data structure comprising a head pointer, tail pointer, barrier pointer and an advertising flag allows for dynamic load-balancing across processing resources in computer applications.