Opportunistic Work Stealing Scheduler Dynamic Definition Alteration
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
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
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
Data Source
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.


