JPEG Accelerator Work Allocation for Data Processing Unit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

General-purpose processors in data centers are inefficient for high-capacity network and storage workloads, particularly in processing packet streams due to their design not being optimized for such tasks.

Innovation Solution

A highly programmable data processing unit (DPU) with specialized hardware-based accelerators, such as a JPEG accelerator, is used to offload tasks like image coding and decoding, improving processing efficiency by utilizing multiple processing cores and parallel processing techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If general-purpose processors are used for packet stream processing, then versatility and adaptability are maintained, but processing efficiency and productivity deteriorate

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprocessor versatility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system segments processing tasks by separating general-purpose processing from specialized acceleration functions. The DPU divides workload into packets that can be handled by either the versatile processing cores or offloaded to specialized hardware accelerators, allowing each component to operate in its optimal performance regime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The DPU acts as an intermediary device between general-purpose processors and specialized hardware accelerators. It receives processing requests, determines appropriate acceleration capabilities, and routes tasks accordingly, enabling efficient parallel processing while maintaining system versatility through the flexible work unit queue architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If specialized hardware accelerators are used for specific tasks, then processing speed and productivity improve, but device complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The DPU implements a universal architecture that can handle multiple types of processing tasks through its work unit queue system. The same infrastructure supports diverse acceleration functions (JPEG, video encoding, cryptography, etc.) without requiring separate dedicated systems, reducing overall complexity while maintaining high processing speeds for specialized tasks.

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

Solution Approach 2:

The system employs dynamic task routing where the DPU adapts its processing strategy based on workload characteristics. Processing units can dynamically offload tasks to appropriate hardware accelerators when available, or handle tasks sequentially when acceleration resources are constrained, optimizing speed without requiring permanent complex configurations for all possible task types.

Inventive Principle:
Principle #15Dynamics

3Productivity

If parallel processing is implemented across multiple cores, then throughput and productivity increase, but coordination overhead and system complexity increase

Engineering Contradiction:
ImprovethroughputVSAvoidcoordination overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The DPU extracts coordination overhead from the processing cores by implementing a centralized work unit queue management system. The processing units simply execute tasks from their assigned queues without needing to coordinate with each other, while the DPU's work unit management infrastructure handles task distribution, synchronization, and resource allocation, reducing inter-core complexity while maintaining high throughput.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10827192B2Work allocation for JPEG accelerator
Publication Date: 2020.11.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10827192B2 patent drawing
  • US10827192B2 patent drawing
  • US10827192B2 patent drawing

AI summary

A device includes a memory configured to store image data and an image coding unit. The image coding unit is configured to decode a first set of one or more bits of a first value of a first instance of a first syntax element of a block of image data, determine that the first set of one or more bits have values indicating that one or more values of respective instances of one or more other syntax elements of the block of image data are to be decoded. In response to the determination, the image coding unit is configured to decode one or more bits of the one or more values of the respective instances of the one or more other syntax elements of the block prior to decoding a second set of one or more bits of the first value of the first instance of the first syntax element.