Worker Process Pinning for ML Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Real-time machine-learning applications experience inefficient throughput due to contention for processing unit time, leading to significant overhead and reduced efficiency in client-server architectures, particularly when multiple worker processes are migrated across different processing units.

Innovation Solution

Designate a subset of processing units as eligible for each worker process, ensuring each worker process executes exclusively on a single assigned unit, thereby reducing migration overhead and contention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple worker processes are deployed to increase throughput, then the number of requests that can be processed per second should increase linearly, but in practice the throughput degrades above 6 rps and latency exceeds 1 second after 17 rps

Engineering Contradiction:
ImprovethroughputVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments the set of processing units into dedicated subsets, with each worker process assigned to a specific processing unit. This segmentation prevents worker processes from migrating between processing units, eliminating the overhead associated with state transfer and cache invalidation, thereby maintaining high throughput without latency degradation.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If worker processes are migrated between processing units to balance load, then resource utilization may improve, but significant overhead is incurred due to transfer of application state and relevant data

Engineering Contradiction:
Improveresource utilizationVSAvoidoverhead
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The system performs preliminary assignment of worker processes to specific processing units before execution begins. By pre-establishing this mapping, the system eliminates the need for dynamic migration and associated state transfer overhead during runtime, thereby reducing energy loss while maintaining effective resource utilization.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If standard server implementations are used to deploy ML applications, then deployment is straightforward, but throughput is limited and significant overprovisioning of servers is required

Engineering Contradiction:
Improvedeployment simplicityVSAvoidthroughput
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The system applies a specialized scheduling approach specifically to worker processes of ML applications, designating certain processing units as eligible for these processes while allowing other processes to utilize all processing units. This local quality differentiation optimizes throughput for ML workloads without complicating the overall system deployment.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250110805A1Optimizing throughput of machine-learning applications
Publication Date: 2025.04.03 THE TORONTO DOMINION BANK
  • US20250110805A1 patent drawing
  • US20250110805A1 patent drawing
  • US20250110805A1 patent drawing

AI summary

A server having multiple processing units executes a machine-learning application that instantiates a plurality of worker processes that accept connections from client devices at a socket. To prevent excess contention and migration of the worker processes to different processing units, each worker process is specified to a subset of the processing units eligible to execute that respective worker process. The respective subsets for each worker process may be mutually exclusive and each worker process may be assigned a single processing unit eligible to execute that worker process. This enables significantly higher throughput for the worker processes by preventing normal process migration across the plurality of processing units.