Accelerator Reprovisioning with Local Memory Between FPGA Kernels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data centers with disaggregated resources, the communication of data between accelerator devices reduces the speed at which workloads are executed due to network dependencies between portions of a workload.

Innovation Solution

The implementation of a system where resources are allocated into managed nodes composed of disaggregated resources from multiple sleds, allowing for efficient reprovisioning and allocation of compute, memory, and storage resources to execute workloads as if they were locally integrated, using Intel Omni-Path technology for high-performance interconnects and orchestrator servers to manage resource allocation dynamically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data is communicated through the network between accelerator devices, then resource disaggregation and flexibility are improved, but execution speed and latency are worsened

Engineering Contradiction:
Improveresource disaggregationVSAvoidexecution speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent introduces a buffer as an intermediary component between the accelerator device and network interface. The buffer temporarily stores data locally, allowing the accelerator to process data without waiting for network communication. This mediator decouples the tight coupling between data production and consumption, enabling asynchronous operation and reducing network dependency while maintaining resource disaggregation benefits

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-fetching data into the buffer before the accelerator device needs it, and pre-positioning output data in the buffer after processing completes. This anticipatory data staging eliminates waiting time during actual processing operations, improving execution speed while preserving the flexible disaggregated architecture

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If data is communicated through the network between accelerator devices, then resource utilization flexibility is improved, but throughput is worsened

Engineering Contradiction:
Improveresource utilization flexibilityVSAvoidthroughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The buffer acts as a local intermediary that decouples data production and consumption rates. By storing data locally, it allows the accelerator to operate at its full processing capacity without being constrained by network bandwidth limitations, thereby maintaining high throughput while preserving flexible resource utilization

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the data flow into local buffer operations and remote network operations. Frequently accessed data is kept in the local buffer, while less frequent data remains in remote storage. This segmentation allows hot data to be processed at high speed locally while maintaining the ability to access cold data remotely, thus preserving both throughput and resource flexibility

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11861424B2Technologies for providing efficient reprovisioning in an accelerator device
Publication Date: 2024.01.02 INTEL CORP
  • US11861424B2 patent drawing
  • US11861424B2 patent drawing
  • US11861424B2 patent drawing

AI summary

Technologies for providing efficient reprovisioning in an accelerator device include an accelerator sled. The accelerator sled includes a memory and an accelerator device coupled to the memory. The accelerator device is to configure itself with a first bit stream to establish a first kernel, execute the first kernel to produce output data, write the output data to the memory, configure itself with a second bit stream to establish a second kernel, and execute the second kernel with the output data in the memory used as input data to the second kernel. Other embodiments are also described and claimed.