Scalable Task Scheduling via Probabilistic Slot Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional task scheduling in distributed computer systems often leads to resource inefficiencies and increased latency due to servers becoming overwhelmed by varying client request rates, resulting in bottlenecks and inadequate resource allocation.

Innovation Solution

A scalable task scheduling system that dynamically assigns tasks to a primary task queue, using a probabilistic slot-selection function to distribute tasks across non-consecutive slots, and includes a secondary task queue for tasks that cannot be immediately inserted into the primary queue, allowing for flexible resource allocation and efficient processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a server schedules tasks for a large number of clients, then the system can handle more client requests, but the server becomes overwhelmed and resources are wasted

Engineering Contradiction:
Improvenumber of client requests handledVSAvoidresource waste due to server overload
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The task queue is segmented into fixed-size slots that can be independently managed and assigned to different worker processes. This segmentation allows the server to process tasks in manageable chunks rather than being overwhelmed by the entire queue, improving resource utilization while maintaining high throughput for multiple client requests

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically assigns slots in the task queue to worker processes based on current workload conditions. When the server receives tasks from clients, it probabilistically distributes them across available slots and dynamically adjusts worker assignments to match actual processing capacity, preventing both overload and resource waste

Inventive Principle:
Principle #15Dynamics

2Productivity

If resources are dedicated to tasks, then task processing capacity increases, but latency increases when too many resources are allocated to a small number of tasks

Engineering Contradiction:
Improvetask processing capacityVSAvoidresponse latency to client requests
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system allocates slots in the task queue in advance before tasks are actually submitted by clients. By pre-establishing the queue structure with multiple slots and probabilistically distributing task assignments, the system prepares processing capacity without actually dedicating resources to specific tasks until needed, thus maintaining high processing capacity while minimizing idle resource time that would increase latency

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If the same server handles varying request rates, then a single server suffices, but the server becomes a bottleneck and latency increases

Engineering Contradiction:
Improvenumber of serversVSAvoidresponse latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The single server is logically segmented into multiple worker processes that independently process tasks from divided portions of the task queue. This segmentation allows parallel processing of tasks from multiple clients simultaneously, eliminating the bottleneck effect while maintaining a single physical server infrastructure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The task queue with its slot structure serves as an intermediary between client requests and worker processes. It probabilistically distributes incoming tasks across multiple workers, balancing the workload and preventing any single worker from becoming a bottleneck, thus reducing overall system latency

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of manufacture

If conventional task scheduling is used, then implementation is simple, but resource allocation is inefficient

Engineering Contradiction:
Improveimplementation simplicityVSAvoidresource allocation efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system changes the parameter of task queue organization from conventional continuous queues to fixed-size slots with probabilistic distribution. This parameter change enables more efficient resource allocation by allowing discrete, manageable task units to be distributed across workers based on slot availability rather than simple FIFO ordering, improving productivity while maintaining implementation feasibility

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8826284B1Scalable task scheduling
Publication Date: 2014.09.02 GOOGLE LLC
  • US8826284B1 patent drawing
  • US8826284B1 patent drawing
  • US8826284B1 patent drawing

AI summary

A server system having one or more processors and memory receives, from a client, a request to perform a first task. The server system determines whether a first slot in a primary task queue having a plurality of slots is available, where the first slot was selected in accordance with a slot-selection function designed to probabilistically distribute respective target slots for a plurality of successive tasks across a plurality of different non-consecutive slots in the primary task queue. In accordance with a determination that the first slot is available, the server system inserts the first task in the first slot in the primary task queue. In accordance with a determination that the first slot is unavailable, the server system inserts the first task at an entry point of a secondary task queue.