Hardware Resource Dispatcher for Multi-Type Processing Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems fail to efficiently utilize multiple types of hardware processing resources, leading to suboptimal performance due to code being designed for specific resources, and varying hardware configurations across systems, which prevents parallel task execution and efficient resource utilization.

Innovation Solution

A dispatcher mechanism that identifies available hardware processing resources at runtime, selects the most suitable resource based on predetermined policies and current system state, and uses precompiled code instances to optimize task distribution across different resources for enhanced performance and load balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If code is designed for a specific hardware processing resource, then the task can be executed on that resource, but the system cannot efficiently utilize multiple types of hardware processing resources

Engineering Contradiction:
Improvehardware resource utilization efficiencyVSAvoidcode compatibility across different hardware resources
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The code is segmented into multiple precompiled code instances, each optimized for a specific hardware processing resource type. This allows the system to select the appropriate code instance for different hardware configurations, enabling efficient utilization of multiple hardware types without requiring a single universal codebase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of code compilation by creating separate precompiled code instances for different hardware resource types. This parameter change enables the same application to be adapted to different hardware configurations without requiring re compilation or modification of the original code.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If a single type of processing resource is used, then the code design is simplified, but parallel task execution and load balancing across multiple resource types cannot be achieved

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidcode structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The code is divided into separate precompiled instances for different hardware resources, allowing the dispatcher to select appropriate instances for parallel task execution. This segmentation enables load balancing across multiple resource types while maintaining manageable code structure through pre-compilation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dispatcher acts as an intermediary between the application and hardware resources. It selects the appropriate precompiled code instance based on the available hardware resources, enabling parallel task execution and load balancing without increasing the complexity of the application code itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If code is compiled for a specific hardware configuration, then the execution performance is optimized for that configuration, but the system cannot adapt to varying hardware configurations

Engineering Contradiction:
Improvetask execution performanceVSAvoidhardware configuration adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The code is segmented into multiple precompiled instances, each optimized for specific hardware configurations. The system then selects the appropriate instance based on the actual hardware configuration, achieving both optimized performance for the target hardware and adaptability to varying configurations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The code is precompiled for different hardware configurations in advance. This preliminary action allows the system to quickly adapt to varying hardware configurations at runtime by simply selecting the precompiled instance that matches the available hardware, without requiring re-compilation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9465660B2Performing a task in a system having different types of hardware resources
Publication Date: 2016.10.11 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9465660B2 patent drawing
  • US9465660B2 patent drawing
  • US9465660B2 patent drawing

AI summary

Different types of hardware processing resources in a system are identified (102). In response to a request to perform a task, a respective one of the different types of hardware processing resources is selected (104) to perform the task.