Adaptive Buffer Queue Processing for SIMD Throughput and Low Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Compute devices face challenges in determining the optimal processing method for multiple buffers, as they need to decide between processing a single buffer versus multiple buffers efficiently, often leading to inefficiencies due to the need for switching between single instruction, single data (SISD) and single instruction, multiple data (SIMD) instructions.

Innovation Solution

A compute device with a buffer queue manager and processor that dynamically determines the most efficient processing method based on the number of buffers in the queue, using SIMD instructions for parallel processing when multiple buffers are present and SISD instructions for single buffers, and adjusting processing strategies as new buffers are received.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the compute device waits for additional buffers before processing, then parallel processing throughput is improved, but processing latency increases

Engineering Contradiction:
Improveparallel processing throughputVSAvoidprocessing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically adjusts processing mode between SISD and SIMD based on the number of available buffers in the queue. When multiple buffers are available, it switches to SIMD parallel processing to maximize throughput; when only one buffer is available, it uses SISD to minimize latency. This dynamic adaptation resolves the contradiction by allowing the system to optimize for throughput when possible and for latency when necessary.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the processing parameter (instruction type) based on buffer queue depth. By monitoring the number of buffers and adjusting the processing mode accordingly, the system can achieve high throughput when multiple buffers are present while maintaining low latency when buffers arrive individually, thus resolving the throughput-latency tradeoff.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If the compute device immediately processes a single buffer, then processing latency is reduced, but parallel processing efficiency is lost

Engineering Contradiction:
Improveprocessing latencyVSAvoidparallel processing throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system dynamically selects between immediate SISD processing and batched SIMD processing based on real-time buffer availability. This dynamic decision-making allows the system to minimize latency when buffers arrive individually while capturing parallel processing efficiency when multiple buffers are available, resolving the contradiction between immediate processing and parallel efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The processing mode parameter is changed based on the buffer queue state. When the queue contains only one buffer, the system uses SISD for immediate processing; when multiple buffers are present, it switches to SIMD for efficient parallel processing. This parameter adaptation resolves the contradiction by optimizing for the appropriate metric based on current conditions.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the compute device switches between SISD and SIMD instructions, then processing adaptability is improved, but system complexity increases

Engineering Contradiction:
Improveprocessing method adaptabilityVSAvoidinstruction switching complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The invention segments the processing logic into distinct SISD and SIMD paths with a simple buffer-count-based decision point. This segmentation maintains adaptability by supporting both processing modes while reducing complexity through clear separation of processing paths and a simple switching criterion based on buffer queue depth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses feedback from the buffer queue manager about the number of available buffers to automatically select the appropriate processing mode. This feedback mechanism provides adaptability without complex decision logic, as the buffer count directly determines whether to use SISD or SIMD instructions, simplifying the switching complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10944656B2Technologies for adaptive processing of multiple buffers
Publication Date: 2021.03.09 INTEL CORP
  • US10944656B2 patent drawing
  • US10944656B2 patent drawing
  • US10944656B2 patent drawing

AI summary

Technologies for adaptive processing of multiple buffers is disclosed. A compute device may establish a buffer queue to which applications can submit buffers to be processed, such as by hashing the submitted buffers. The compute device monitors the buffer queue and determines an efficient way of processing the buffer queue based on the number of buffers present. The compute device may process the buffers serially with a single processor core of the compute device or may process the buffers in parallel with single-instruction, multiple data (SIMD) instructions. The compute device may determine which method to use based on a comparison of the throughput of serially processing the buffers as compared to parallel processing the buffers, which may depend on the number of buffers in the buffer queue.