Dynamic Accelerator Chaining for Data Processing Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face inefficiencies in utilizing accelerators for specialized tasks, leading to suboptimal performance and energy consumption, particularly in tasks like machine learning and graphics processing, where dedicated accelerators like GPUs and FPGAs are not fully leveraged for chained operations.

Innovation Solution

The proposed solution involves chaining multiple accelerators together to perform specialized operations, allowing for optimized resource allocation and improved performance in tasks such as machine learning and graphics processing by pooling resources like GPUs, FPGAs, and neural network accelerators, and providing them to processors on demand, enabling efficient data processing and computation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If accelerators are used for specialized tasks, then processing performance is improved, but resource utilization is insufficient

Engineering Contradiction:
Improveprocessing performanceVSAvoidresource utilization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system enables accelerators to perform multiple functions by allowing dynamic chaining where the same accelerator can serve different tasks at different times. The method creates a universal accelerator pool that can be allocated to various processing needs, making each accelerator adaptable to different workloads rather than being dedicated to a single function.

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

Solution Approach 2:

The system dynamically configures chains of accelerators based on workload requirements. Accelerators can be added or removed from chains at runtime, and the configuration can be adjusted to match changing processing demands. This dynamic reconfiguration allows the system to optimize both performance and resource utilization adaptively.

Inventive Principle:
Principle #15Dynamics

2Productivity

If multiple accelerators are chained together, then processing efficiency is improved, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces a chain management mechanism that acts as an intermediary between the CPU and multiple accelerators. This mediator handles the complexity of chain configuration, accelerator allocation, and data flow management, shielding users from the underlying system complexity while enabling efficient multi-accelerator processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates virtual representations of accelerator chains that can be configured and managed separately from the physical hardware. By working with virtual chain models, the system simplifies the management of complex accelerator configurations while maintaining the ability to optimize actual hardware utilization.

Inventive Principle:
Principle #26Copying

3Reliability

If accelerators are dedicated to specific tasks, then task performance is improved, but adaptability to different workloads decreases

Engineering Contradiction:
Improvetask performanceVSAvoidworkload flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system creates a pool of accelerators that can be dynamically allocated to different workloads. Instead of dedicating accelerators to specific tasks, the same accelerators can serve multiple types of workloads by being added to different chains or reconfigured for different operations, maintaining high performance across diverse tasks.

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

Solution Approach 2:

The system pre-configures templates for accelerator chains that can be quickly instantiated for different workloads. By preparing chain configurations in advance, the system can rapidly adapt to new tasks without requiring complex real-time reconfiguration, thus maintaining both performance and flexibility.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240126555A1Configuring and dynamically reconfiguring chains of accelerators
Publication Date: 2024.04.18 INTEL CORP
  • US20240126555A1 patent drawing
  • US20240126555A1 patent drawing
  • US20240126555A1 patent drawing

AI summary

A method of an aspect includes receiving a request for a chained accelerator operation, and configuring a chain of accelerators to perform the chained accelerator operation. This may include configuring a first accelerator to access an input data from a source memory location in system memory, process the input data, and generate first intermediate data. This may also include configuring a second accelerator to receive the first intermediate data, without the first intermediate data having been sent to the system memory, process the first intermediate data, and generate additional data. Other apparatus, methods, systems, and machine-readable medium are disclosed.