Computational Task Allocation Graph for Hardware Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The current manual process of allocating computational tasks to different hardware components, such as CPUs, GPUs, FPGAs, and TPUs, is inefficient, inflexible, and time-consuming, as it requires users to manually redesign and recode tasks to optimize for varying requirements like speed, cost, and power consumption.

Innovation Solution

An automated method that constructs a graph representing computational tasks and their data flow, then selects appropriate hardware components based on user-defined parameters, such as speed, throughput, resource cost, and power efficiency, using software simulations to ensure data flow rate requirements are met, and generates hardware-specific code for efficient task execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If manual task allocation and recoding is performed, then hardware optimization for specific requirements (speed, cost, power) can be achieved, but the process becomes time-consuming and inflexible

Engineering Contradiction:
Improveflexibility in hardware allocationVSAvoidtime required for manual allocation and recoding
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system automatically allocates computational tasks to hardware components without requiring manual user intervention. The automated allocation system analyzes task requirements and assigns appropriate hardware components (CPU, GPU, FPGA, TPU) based on predefined optimization criteria, eliminating the need for users to manually recode and reallocate tasks when requirements change.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system enables dynamic adjustment of hardware allocation by changing allocation parameters such as speed, cost, and power efficiency constraints. Users can modify these parameters and the system automatically recalculates and reassigns tasks to different hardware components, providing flexibility without manual recoding.

Inventive Principle:
Principle #35Parameter changes

2Ease of manufacture

If manual task reallocation is performed to reduce cost, then hardware cost optimization is achieved, but the process requires significant manual effort and time

Engineering Contradiction:
Improveease of hardware allocationVSAvoidcomplexity of allocation process
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The automated allocation system independently analyzes task requirements and hardware availability, then assigns optimal hardware components without user intervention. This self-service approach simplifies the allocation process and reduces the complexity burden on users, especially when cost optimization is required.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms that monitor hardware costs, task performance, and resource utilization. Based on this feedback, the automated system adjusts allocations to optimize cost efficiency while maintaining performance requirements, eliminating the need for manual analysis and reallocation.

Inventive Principle:
Principle #23Feedback

3Productivity

If automated allocation is implemented, then speed and efficiency of task allocation improve, but hardware selection must satisfy multiple constraints (data flow rate, performance parameters)

Engineering Contradiction:
Improvespeed of task allocationVSAvoidcomplexity of hardware selection constraints
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The allocation problem is segmented into independent decision points: task analysis, hardware capability evaluation, constraint checking, and final assignment. This segmentation allows the automated system to handle complex multi-constraint optimization by breaking down the decision process into manageable steps, each handled by specialized algorithms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The automated allocation system is designed as a universal platform that can handle multiple hardware types (CPU, GPU, FPGA, TPU) and optimize for multiple parameters (speed, cost, power, data flow rate) simultaneously. This multi-functional approach consolidates what would otherwise be multiple separate selection processes into a single unified system.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20240086246A1Allocating Computational Tasks to Computer Hardware
Publication Date: 2024.03.14 XONAI LTD
  • US20240086246A1 patent drawing
  • US20240086246A1 patent drawing
  • US20240086246A1 patent drawing

AI summary

A computer-implemented method of allocating computational tasks to computer hardware, the method comprising: constructing a graph comprising a plurality of nodes and edges, each node representing a respective computational task and each edge representing a data flow between computational tasks; determining one or more instances of available computer hardware capable of performing each computational task; and allocating each computational task to one or more of the one or more instances of computer hardware determined for that computational task such that a data bandwidth between the one or more instances of computer hardware to which each computational task is allocated satisfies a data flow requirement between each computational task.