Thread Determination System for ML Task Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine learning systems face inefficiencies due to the lack of an optimal thread configuration, leading to slower execution times and unnecessary resource usage, as users often rely on default values without knowing the best number of threads to use based on the model, hardware, and dataset.

Innovation Solution

A system that determines an optimal number of threads for computing tasks by analyzing task configurations, dataset parameters, and hardware indicators, using a thread determination model to predict the best thread count, which is then stored and used to reduce resource consumption and execution time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a default value or user specified value for the number of threads is used, then the system is easy to operate, but the execution time increases and computing resources are wasted

Engineering Contradiction:
Improveease of operationVSAvoidexecution time
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system performs preliminary analysis of task configurations, dataset parameters, and hardware indicators to determine the optimal number of threads before executing the machine learning task. This advance preparation allows the system to configure threads optimally without requiring users to manually calculate or guess the right number, thus maintaining ease of operation while improving execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system analyzes the relationship between the number of threads and execution time by evaluating multiple task configurations with different thread values. It uses this feedback information to identify the optimal thread count that minimizes execution time for given task parameters, dataset characteristics, and hardware capabilities, thereby resolving the contradiction between easy operation and execution efficiency.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If a default value or user specified value for the number of threads is used, then the system is easy to operate, but computing resources are unnecessarily consumed

Engineering Contradiction:
Improveease of operationVSAvoidcomputing resource usage
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The system performs preliminary analysis of task configurations, dataset parameters, and hardware indicators to determine the optimal number of threads before executing the machine learning task. This advance preparation allows the system to configure threads optimally without requiring users to manually calculate or guess the right number, thus maintaining ease of operation while improving execution time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system analyzes the relationship between the number of threads and execution time by evaluating multiple task configurations with different thread values. It uses this feedback information to identify the optimal thread count that minimizes execution time for given task parameters, dataset characteristics, and hardware capabilities, thereby resolving the contradiction between easy operation and execution efficiency.

Inventive Principle:
Principle #23Feedback

3Productivity

If the optimal number of threads is determined through analysis, then execution time is reduced and resource usage is optimized, but the device complexity increases

Engineering Contradiction:
Improveexecution timeVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-analysis by automatically evaluating task configurations, dataset parameters, and hardware indicators to determine the optimal number of threads. This self-service capability eliminates the need for external manual configuration or complex user intervention, allowing the system to optimize execution time and resource usage while maintaining relatively simple device architecture.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11635988B1Optimal number of threads determination system
Publication Date: 2023.04.25 SAS INSTITUTE INC
  • US11635988B1 patent drawing
  • US11635988B1 patent drawing
  • US11635988B1 patent drawing

AI summary

A computing device determines an optimal number of threads for a computer task. Execution of a computing task is controlled in a computing environment based on each task configuration included in a plurality of task configurations to determine an execution runtime value for each task configuration. An optimal number of threads value is determined for each set of task configurations having common values for a task parameter value, a dataset indicator, and a hardware indicator. The optimal number of threads value is an extremum value of an execution parameter value as a function of a number of threads value. A dataset parameter value is determined for a dataset. A hardware parameter value is determined as a characteristic of each distinct executing computing device in the computing environment. The optimal number of threads value for each set of task configurations is stored in a performance dataset in association with the common values.