Computational Unification of Heterogeneous Processing Elements

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current heterogeneous computer systems face challenges in unifying implicit and explicit processing elements, leading to performance limitations and programming complexities, such as increased heat issues in microprocessors, inefficient data movement between processor types, and complex programming requirements for multi-core and accelerator co-processor designs.

Innovation Solution

The development of a computational unification system and method that generates unified source code for heterogeneous systems, allowing implicit and explicit processing elements to cooperate as peers, using directive statements to analyze and optimize source code for various processor types, reducing programming complexity and enhancing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If microprocessor clock rates are increased to improve performance, then execution speed improves, but heat generation increases making further increases impossible

Engineering Contradiction:
Improveexecution speedVSAvoidheat generation
Core Design Contradiction:
SpeedVSTemperature

Solution Approach 1:

The system segments the processing workload across multiple processor types (microprocessors, FPGAs, ASICs) rather than relying on a single high-clock-rate microprocessor. This divides the computational task into portions that can be executed in parallel by different processing elements, achieving high performance without requiring extreme clock rates that generate excessive heat.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The heterogeneous processing system provides multi-functionality by incorporating different types of processing elements (microprocessors for general-purpose computing, FPGAs for reconfigurable logic, ASICs for specialized functions) that can handle various computational workloads efficiently, replacing the need for ever-increasing clock rates on single processor types.

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

2Productivity

If the number of microprocessor cores is increased to improve performance, then throughput improves, but programming complexity increases significantly

Engineering Contradiction:
ImprovethroughputVSAvoidprogramming complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary layer (the heterogeneous processing architecture with unified memory space) that simplifies programming by allowing developers to write code that automatically distributes across multiple processor types without needing to manually manage complex parallel programming for each core. The system handles the complexity of coordination and data distribution transparently.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If accelerator co-processors are coupled to microprocessors through existing I/O bus interconnects, then performance gains are achieved, but data movement time negates the gains

Engineering Contradiction:
Improveprocessing speedVSAvoiddata movement time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system merges the accelerator processors and microprocessors into a unified processing architecture where all processors share a common memory space and are interconnected through a high-speed network. This eliminates the need for data to be moved through slow I/O bus interfaces, as data can be directly shared between processors in the unified memory space, thereby eliminating the data movement time penalty.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If different types of processor elements are used to improve performance, then computational capability improves, but system scalability is limited

Engineering Contradiction:
Improvecomputational capabilityVSAvoidscalability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system achieves scalability through a universal heterogeneous processing architecture that can accommodate any combination and number of processor types (microprocessors, FPGAs, ASICs). The unified memory space and standardized interconnect allow the system to scale from small configurations to large clusters without architectural changes, maintaining adaptability while providing diverse computational capabilities.

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

Data Source

PatentUS8713518B2System and method for computational unification of heterogeneous implicit and explicit processing elements
Publication Date: 2014.04.29 FG SRC LLC
  • US8713518B2 patent drawing
  • US8713518B2 patent drawing
  • US8713518B2 patent drawing

AI summary

A system and method for computational unification of heterogeneous implicit and explicit processing elements which supports the aggregation of any number of such processing elements. The system and method of the present invention supports the generation of a unified executable program through the use of directive statements which are analyzed in conjunction with the semantic structures in the parsed source code to generate appropriate source code targeted to the implicit and explicit processing elements. The computational unification system and method of the present invention further embodies expertise with the particular programming style and idiom of the various processing elements.