Network Interface Device Cache Injection via Directed Acyclic Graph

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems face inefficiencies in managing data distribution across multiple caches in a host system, particularly when handling data from a network, as they lack a systematic approach to determine the optimal cache for injection based on application needs and cache topology, leading to increased latency and memory bandwidth utilization.

Innovation Solution

A network interface device and host system configuration that utilizes a directed acyclic graph (DAG) structure to define cache topology, allowing processors to determine the appropriate cache for data injection based on application-specific cache information and mapping, enabling data to be injected into the most suitable cache, either by selecting a cache with larger capacity or avoiding caches with unprocessed data, thus optimizing cache usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is injected into any cache without systematic selection, then data processing can proceed, but latency increases and memory bandwidth utilization is inefficient

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by determining the optimal cache destination before data injection occurs. The network interface device or host processor analyzes cache topology, application requirements, and current cache states to pre-determine which cache should receive the data, thereby avoiding subsequent delays and optimizing the data injection process

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The cache selection process is dynamic rather than static. The system adapts cache selection based on real-time conditions including application-specific requirements, current cache utilization states, and topology constraints represented by the DAG structure. This dynamic adaptation allows the system to optimize for different workloads and conditions

Inventive Principle:
Principle #15Dynamics

2Productivity

If data is injected into caches without considering cache topology and application needs, then injection can occur, but memory bandwidth utilization increases

Engineering Contradiction:
Improvehandling capacityVSAvoidmemory bandwidth utilization
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system applies local quality by selecting specific caches based on their individual characteristics and the local requirements of each data injection operation. Rather than using a uniform cache selection policy, the system considers cache-specific properties (capacity, current state, topology position) and matches them with application-specific needs to determine the optimal destination for each data stream

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes parameters by adjusting cache selection decisions based on varying conditions including application requirements, cache utilization states, and topology constraints. The DAG structure enables flexible parameter changes in the cache selection process, allowing the system to adapt to different workload characteristics and optimize memory bandwidth utilization dynamically

Inventive Principle:
Principle #35Parameter changes

3Productivity

If a systematic cache selection approach is implemented, then data processing efficiency improves, but system complexity increases

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The DAG (directed acyclic graph) structure serves as an intermediary that simplifies the complex cache selection process. By representing cache topology and relationships in a structured DAG format, the system provides a manageable framework for making optimal cache selection decisions without requiring complex real-time analysis of all possible cache interactions

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-establishing the DAG structure that represents cache topology and relationships. This preliminary structuring of cache information enables more efficient runtime decision-making, as the complex topology analysis has already been performed and stored in the DAG structure before actual data injection operations occur

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3598310B1Network interface device and host processing device
Publication Date: 2023.11.08 XILINX INC
  • EP3598310B1 patent drawingFigure 1
  • EP3598310B1 patent drawingFigure 2
  • EP3598310B1 patent drawingFigure 3a

AI summary

A network interface device (72) has an input configured to receive data from a network. The data is for one of a plurality of different applications. The applications may be supported by a host system (48). The network interface device is configured to determine which of a plurality of available different caches (58,60,62,64,66,68,70) in the host the data is to be injected. The network interface device will then inject the determined cache with the received data.