Affinity-Based Distributed Work Pool Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The expansion of data sets leads to challenges in efficiently managing and distributing workload across multiple machines, resulting in redundant computing and loss of efficiency due to the inability to effectively parallelize tasks and utilize common calculations or data.

Innovation Solution

The implementation of affinity-based work scheduling systems, where tasks are classified by a producer node based on compute cost and affinity, allowing worker nodes to select and perform tasks that share common calculations or data, thereby optimizing runtime efficiency and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If workload is parallelized across additional machines, then processing capacity increases, but redundant computing occurs and efficiency is lost

Engineering Contradiction:
Improveprocessing capacityVSAvoidredundant computing
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system pre-computes affinity values between tasks before actual execution. The producer node calculates and stores affinity metrics that indicate how well tasks can share computations or data, allowing worker nodes to make informed selection decisions without performing redundant calculations during task execution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system transforms the task selection problem by introducing affinity as a new parameter. Instead of randomly or round-robin assigning tasks, worker nodes select tasks based on affinity scores that quantify the benefit of sharing computations or data, fundamentally changing the selection criterion from simple load balancing to optimized resource utilization

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If tasks are distributed without affinity consideration, then simple scheduling is maintained, but common calculations or data cannot be utilized

Engineering Contradiction:
Improvescheduling complexityVSAvoidruntime efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The producer node acts as an intermediary that pre-calculates and provides affinity information to worker nodes. This intermediary layer handles the complex computation of task relationships, allowing worker nodes to make simple affinity-based selections without implementing complex scheduling algorithms themselves

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Affinity calculations are performed in advance by the producer node before task distribution. This preliminary computation of task relationships enables worker nodes to efficiently select tasks based on pre-computed affinity values without performing complex analyses during runtime

Inventive Principle:
Principle #10Preliminary action

3Extent of automation

If worker nodes select tasks independently, then system autonomy increases, but optimal task selection based on affinity may not be achieved

Engineering Contradiction:
Improvesystem autonomyVSAvoidtask selection efficiency
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

The system implements feedback through affinity values that guide worker node selections. Worker nodes independently select tasks based on affinity scores received from the producer node, creating a decentralized feedback mechanism where each node's autonomous decisions contribute to overall system optimization without centralized coordination

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20230145846A1Systems and methods for affinity-based distributed work pool scheduling
Publication Date: 2023.05.11 JPMORGAN CHASE BANK NA
  • US20230145846A1 patent drawing
  • US20230145846A1 patent drawing
  • US20230145846A1 patent drawing

AI summary

Systems and methods for affinity-based distribution of work are disclosed. The method may include determining a classification for a plurality of tasks. The method may further include classifying a compute cost and an affinity for each task of the plurality of tasks. The method may further include assigning the plurality of tasks to a work collection. The method may further include selecting one or more tasks from the plurality of tasks in the work collection based on a selection strategy of a worker node. The method may further include performing a compute task associated with the one or more tasks. The method may further include generating a set of results based on performing the compute task.