Opportunistic Work Stealing Scheduler Dynamic Definition Alteration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In dynamic multi-processor computing systems, predicting the availability of processors and the effort required for work units is challenging, leading to inefficient resource reservation and utilization due to unpredictable workloads and processor preemption.

Innovation Solution

The opportunistic work-stealing method, where workers can dynamically alter the definition of work units assigned to them, allowing other workers to steal and complete tasks, thereby optimizing workload distribution and resource usage without requiring central coordination.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If resources are reserved ahead of time based on worst case analysis, then reliability is improved, but resource utilization deteriorates due to waste when worst case is not encountered

Engineering Contradiction:
ImprovereliabilityVSAvoidresource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic work stealing where idle workers can dynamically take on work from busy workers at runtime. This dynamic redistribution allows the system to adapt to actual workload conditions rather than static worst-case reservations, improving resource utilization while maintaining reliability through flexible load balancing

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of work assignment from fixed predetermined allocation to dynamic stealing-based allocation. Workers can steal work units from other workers based on current system state, transforming the resource allocation from rigid to flexible, thereby reducing waste while ensuring reliability

Inventive Principle:
Principle #35Parameter changes

2Productivity

If work units are assigned to specific workers, then productivity is improved through dedicated processing, but adaptability deteriorates when workers become unavailable due to preemption

Engineering Contradiction:
ImproveproductivityVSAvoidadaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a dynamic work assignment system where work units can be stolen from one worker by another at runtime. This dynamic mechanism allows the system to adapt to worker unavailability due to preemption while maintaining productivity through flexible redistribution of work to available workers

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

When a worker steals work from another worker, it creates a copy of the work unit reference and begins processing it. The original work definition is altered to prevent duplication, ensuring that the work is performed exactly once while allowing flexible reassignment, thus maintaining both productivity and adaptability

Inventive Principle:
Principle #26Copying

3Productivity

If workers complete their assigned work units, then task completion is achieved, but resource utilization deteriorates when workers remain idle while other workers have pending work

Engineering Contradiction:
Improvetask completionVSAvoididle resource waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements continuous useful action by allowing idle workers to steal work from busy workers. Instead of remaining idle, workers continuously find and execute work units from other workers, eliminating idle time and maximizing resource utilization while maintaining task completion

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

Idle workers autonomously seek out and steal work from busy workers without central coordination. This self-service mechanism allows workers to independently improve system-wide resource utilization by taking on available work, converting idle time into productive action

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8806497B2System and method for altering the work definitions in an iterative parallel opportunistic work stealing scheduler
Publication Date: 2014.08.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8806497B2 patent drawing
  • US8806497B2 patent drawing
  • US8806497B2 patent drawing

AI summary

The scheduling of a group of work units across multiple computerized worker processes. A group of work units is defined and assigned to a first worker. The worker uses the definition of the group of work units to determine when processing is completed on the group of work units. Stealing workers may steal work from the first worker, and steal from the group of work initially assigned to the first worker, by altering the definition of the group of work units assigned to the first worker. The altered definition results in the first worker never completing a subset of the work units original assigned to the first worker, thereby allowing the stealing worker to complete work on that subset of work units. The process may perhaps be performed recursively in that the stealing worker may have some of its work stolen in the same way.