Accelerator Controller Segmentation for Neural Network Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Machine learning applications with deep neural networks require significant resources and existing technologies face challenges in optimizing neural network calculations, leading to high resource usage and latency due to frequent CPU interventions.

Innovation Solution

An accelerator system that processes commands from a central processing unit (CPU), determines whether to perform neural network operations itself or delegate them to peripheral devices, and transmits completion messages to minimize CPU intervention and optimize resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the CPU processes all commands for both the accelerator and peripheral devices, then the system has simple control architecture, but the CPU intervention frequency increases causing high latency and reduced productivity

Engineering Contradiction:
Improvecontrol architectureVSAvoidprocessing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The control architecture is segmented into three distinct components: the CPU that issues commands, the accelerator controller that manages accelerator-specific commands, and the peripheral device controller that manages peripheral device commands. This segmentation allows parallel processing of commands without CPU intervention, resolving the contradiction by distributing control functions to reduce latency while maintaining manageable system complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The accelerator controller and peripheral device controller act as intermediaries between the CPU and the respective devices. These intermediaries receive commands from the CPU, manage command queues, and handle device operations independently, eliminating the need for frequent CPU intervention and thereby improving productivity without significantly increasing control architecture complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the CPU intervenes frequently to manage accelerator and peripheral device operations, then the system has centralized control, but the latency increases and resource usage becomes inefficient

Engineering Contradiction:
Improvecentralized controlVSAvoidprocessing latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The CPU performs preliminary action by issuing commands to the accelerator controller and peripheral device controller in advance. These controllers then autonomously manage their respective command queues and device operations without requiring continuous CPU intervention. This preliminary action approach maintains centralized control initiation while dramatically reducing processing latency through autonomous execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The accelerator controller and peripheral device controller are designed to self-service by independently managing their command queues, processing commands, and handling device operations. This self-service capability eliminates the need for frequent CPU intervention, reducing latency while maintaining ease of operation through the initial centralized command issuance.

Inventive Principle:
Principle #25Self-service

3Productivity

If the accelerator processes commands independently without CPU intervention, then the processing speed increases, but the system requires more complex controller architecture

Engineering Contradiction:
Improveprocessing speedVSAvoidcontroller architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller architecture is segmented into specialized units (accelerator controller and peripheral device controller) that handle specific device types. This segmentation enables independent processing of commands at high speed while keeping each controller's internal architecture relatively simple and focused, thus achieving high productivity without excessive overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each controller is designed with local quality optimized for its specific device type, with dedicated command queue management and processing logic tailored to the accelerator or peripheral device requirements. This localized optimization enables high-speed independent processing while maintaining manageable complexity within each controller unit.

Inventive Principle:
Principle #3Local quality

4Device complexity

If commands are processed in strict sequential order, then the control logic is simple, but the resource utilization becomes inefficient and throughput decreases

Engineering Contradiction:
Improvecontrol logicVSAvoidresource utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The control logic dynamically manages multiple command queues (accelerator command queue and peripheral device command queue) that can be processed in parallel. The system adapts to different command types and routes them to appropriate controllers for simultaneous processing, improving resource utilization and throughput while maintaining relatively simple control logic through standardized queue management interfaces.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12086599B2Accelerator, method of operating the accelerator, and device including the accelerator
Publication Date: 2024.09.10 SAMSUNG ELECTRONICS CO LTD
  • US12086599B2 patent drawing
  • US12086599B2 patent drawing
  • US12086599B2 patent drawing

AI summary

A method of operating an accelerator includes receiving, from a central processing unit (CPU), commands for the accelerator and a peripheral device of the accelerator, processing the received commands according to a subject of performance of each of the commands, and transmitting a completion message indicating that performance of the commands is completed to the CPU after the performance of the commands is completed.