DAG Template for Cross-Hardware Data Pipeline Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face difficulties in writing code for specialized processing devices due to the lack of standardized application programming interfaces (APIs) across different manufacturers, making it time-consuming and requiring significant modifications when switching hardware.

Innovation Solution

A computing system that uses a directed acyclic graph (DAG) template to select and route processing stages across multiple communicatively linked processing devices, such as CPUs, GPUs, and FPGAs, ensuring efficient data pipeline execution without needing to customize code for specific devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers write code for specialized processing devices using manufacturer-specific APIs, then the code can execute on those devices, but it requires significant modifications when switching hardware and is time-consuming to develop

Engineering Contradiction:
Improvehardware compatibilityVSAvoidcode development time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces a standardized API layer as an intermediary between the developer's code and manufacturer-specific processing devices. This intermediary translates generic processing requests into device-specific operations, allowing code to run across different hardware without modification while maintaining full functionality on specialized devices.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal processing framework that can interface with multiple types of specialized processing devices through a single standardized API. This universal layer enables the same code to execute on CPUs, GPUs, FPGAs, and other specialized devices without requiring hardware-specific implementations.

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

2Productivity

If developers create hardware-specific code for specialized processing devices, then optimization for that specific device is achieved, but code requires significant modifications when switching hardware

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidhardware portability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The standardized API acts as a mediator that preserves computational efficiency by translating optimized processing requests into device-specific operations. Each specialized device can execute highly optimized routines while the intermediary ensures these optimizations remain accessible through a hardware-agnostic interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the processing system into two independent layers: a hardware-agnostic standardized API layer and hardware-specific optimized execution layers. This segmentation allows each layer to be optimized independently while maintaining their coordination, enabling both portability and performance.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If standardized APIs are implemented across different processing devices, then code portability is improved, but device complexity increases due to the need for translation layers

Engineering Contradiction:
Improvecode portabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The standardized API serves as a thin intermediary layer that manages complexity by providing a uniform interface while handling device-specific complexities internally. This approach isolates complexity within the translation layer without exposing it to developers, maintaining simple code while supporting complex hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11405312B2Directed acyclic graph template for data pipeline
Publication Date: 2022.08.02 MEGH COMPUTING INC
  • US11405312B2 patent drawing
  • US11405312B2 patent drawing
  • US11405312B2 patent drawing

AI summary

A computing system is provided, including a processor configured to receive a directed acyclic graph (DAG) template specifying a data pipeline of a plurality of processing stages. For each processing stage, the processor may be further configured to select a respective processing device of a plurality of communicatively linked processing devices. The processor may be further configured to determine a routing sequence between the plurality of processing devices according to the DAG template. The processor may be further configured to transmit a plurality of input packets encoding the plurality of processing stages to the respective processing devices selected for the processing stages as specified by the routing sequence. In response to transmitting the plurality of input packets, the processor may be further configured to receive, from a processing device of the plurality of processing devices, one or more output packets encoding a processing result of the data pipeline.