Data Streaming Engine Single Gather Instruction for ML Inference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inference phase of machine learning is computationally and data-intensive, with data movement becoming a bottleneck due to the need for multiple operations like loading, processing, and storing data, which is inefficient and not scalable with growing input data and model sizes.

Innovation Solution

A hardware-based programmable architecture with a data streaming engine and an instruction streaming engine that uses a single data gathering instruction to efficiently transfer data from DDR memory to on-chip memory, optimizing data processing by performing operations like data gathering, processing, and storing within the inference engine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple operations (load, processing, store) are performed for each data, then data processing can be completed, but data movement becomes a bottleneck and processing time increases

Engineering Contradiction:
Improvedata processing throughputVSAvoiddata movement time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent combines multiple data operations (loading, processing, storing) into a single unified operation called 'gather and process'. The gather instruction simultaneously loads data from memory into on-chip buffers and prepares it for processing, eliminating the need for separate load and store operations. This merging of operations directly reduces data movement time and improves processing throughput.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The gather instruction is designed as a universal operation that performs multiple functions: it loads data from external memory, transfers data to on-chip buffers, and prepares data for processing algorithms. This multi-functional instruction replaces multiple specialized instructions, reducing the overall operation count and improving system efficiency.

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

2Adaptability or versatility

If traditional three-operation instructions are used for data processing, then data can be loaded and processed, but the architecture becomes complex and less scalable with growing data sizes

Engineering Contradiction:
Improvescalability with data sizeVSAvoidinstruction operation count
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple instructions into a single gather instruction that handles data loading, buffer transfer, and processing preparation in one operation. This reduction in instruction complexity makes the architecture more scalable, as the simplified instruction set can more efficiently handle growing data sizes without increasing operational burden.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system segments data processing into distinct phases: data gathering (loading and buffering), processing execution, and result output. This segmentation allows each phase to be optimized independently and enables better scalability, as the gather phase can handle large data volumes efficiently before processing begins.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If data is loaded and stored using traditional instructions, then data movement is performed, but energy consumption increases due to repeated operations

Engineering Contradiction:
Improveenergy efficiency of data processingVSAvoidenergy consumed in data movement
Core Design Contradiction:
Use of energy by moving objectVSLoss of energy

Solution Approach 1:

By combining multiple data movement operations into a single gather instruction, the system reduces the total number of memory transactions and operational cycles. This consolidation directly reduces energy consumption associated with data movement, as fewer operations mean less energy spent on memory access, data transfer, and buffer management.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11210105B1Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction
Publication Date: 2021.12.28 MARVELL ASIA PTE LTD
  • US11210105B1 patent drawing
  • US11210105B1 patent drawing
  • US11210105B1 patent drawing

AI summary

A system to support data gathering for a machine learning (ML) operation comprises a memory unit configured to maintain data for the ML operation in a plurality of memory blocks each accessible via a memory address. The system further comprises an inference engine comprising a plurality of processing tiles each comprising one or more of an on-chip memory (OCM) configured to load and maintain data for local access by components in the processing tile. The system also comprises a core configured to program components of the processing tiles of the inference engine according to an instruction set architecture (ISA) and a data streaming engine configured to stream data between the memory unit and the OCMs of the processing tiles of the inference engine wherein data streaming engine is configured to perform a data gathering operation via a single data gathering instruction of the ISA at the same time.