Distributed Worker Pool Allocation with Originator Task Ledgers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing environments face issues of unfair allocation and inefficient management of worker entities in distributed computing systems, leading to resource depletion or idleness, which affects task completion times and system performance.
Innovation Solution
Intelligent management of worker pools through dynamic adjustment, task queuing, and ledger systems to monitor and balance resource allocation, ensuring fair distribution and optimal worker utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a statically sized pool of worker entities is used, then the system structure is simple, but the pool may have too many idle workers or too few workers causing task delays
Solution Approach 1:
The patent implements dynamic worker pool sizing where the number of workers is automatically adjusted based on system conditions. The coordinator monitors task queue depths and worker availability, dynamically adding workers when demand increases and removing workers when demand decreases, transforming the static pool into a dynamic adaptive system that matches resource supply with actual demand.
2Productivity
If worker entities are naively assigned to incoming tasks, then task allocation is simple, but unfairness occurs when one originator depletes the pool causing other originators to be blocked
Solution Approach 1:
The patent implements a feedback-based fair allocation mechanism where the coordinator monitors the state of task queues from multiple originators and dynamically adjusts worker assignment decisions. When one originator's queue becomes too large, the coordinator can redirect workers to serve other originators with smaller queues, using feedback about queue states to maintain fairness while keeping the system simple to operate.
3Speed
If the worker pool size is increased to handle peak demand, then task completion speed improves, but many workers become idle during low demand periods
Solution Approach 1:
The system dynamically adjusts the quantity of worker entities based on actual demand conditions. During peak demand periods, the coordinator adds workers to the pool to increase processing capacity and maintain high task completion rates. During low demand periods, workers are removed or placed in idle states, reducing the active worker count to match lower utilization needs and minimize resource waste.
Data Source
AI summary
A system and method are provided for operating a pool of workers within a distributed computing system, wherein each of multiple computers host one or more workers. Each computer also hosts ledgers for one or more originators of tasks that are submitted to the pool for processing. A ledger identifies tasks from the corresponding originator that have been submitted to the pool and that have not yet been completed. When an originator submits a new task, the system (e.g., a coordinator) identifies a maximum number of concurrent tasks permitted the originator and determines, with reference to the originator's ledger, whether the task can be submitted to the pool without exceeding the limit. If so, the task is assigned to an idle worker (if any) and is added to the originator's ledger. After completion, the task is removed from the ledger. Obsolete or stale entries are periodically purged from originators' ledgers.


