Sparse-to-Dense Matrix Processing for Lower Data Loading Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing systems face inefficiencies when processing large matrices, as the central processing unit (CPU) spends significant time fetching sparse elements from distributed data storage, leading to underutilization of computation bandwidth and increased latency due to the need to access sparse elements of different dense matrices with unequal dimensions.

Innovation Solution

A system with specialized matrix processors that transform sparse elements into a dense matrix independently of CPU operations, utilizing a sparse-dense transform unit to gather and concatenate sparse elements from multiple data shards, reducing the CPU's workload and improving computation bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the CPU fetches sparse elements from distributed data storage, then the matrix can be processed, but the CPU computation bandwidth is underutilized and processing latency increases

Engineering Contradiction:
ImproveCPU computation bandwidthVSAvoiddata loading latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces a specialized sparse-dense transform unit as an intermediary component between the distributed data storage and the CPU. This dedicated hardware unit handles the sparse-to-dense transformation and data gathering operations, freeing the CPU from these time-consuming tasks and allowing it to focus on computation, thereby resolving the contradiction between CPU utilization and data loading latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the matrix processing workload by dividing the sparse matrix into multiple data shards stored in distributed storage. Each shard can be independently processed by the sparse-dense transform unit, enabling parallel data gathering operations that reduce overall latency while maintaining CPU bandwidth for computation.

Inventive Principle:
Principle #1Segmentation

2Speed

If multiple matrix processors access different portions of the matrix concurrently, then processing speed increases, but coordination complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidcoordination complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The sparse-dense transform unit serves multiple functions: it gathers sparse elements from distributed storage, performs sparse-to-dense transformation, and outputs results to the CPU. This multi-functional design simplifies the overall system architecture by consolidating multiple operations into a single dedicated unit, reducing coordination complexity while maintaining high processing speed through concurrent operations.

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

3Ease of operation

If the CPU handles sparse-to-dense transformation, then data processing is simplified, but computation bandwidth is wasted on data loading tasks

Engineering Contradiction:
Improvedata processing simplicityVSAvoidcomputation bandwidth utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The sparse-dense transform unit acts as a specialized intermediary that handles the complex sparse-to-dense transformation operations in hardware. This keeps the data processing logic simplified and dedicated, while the CPU remains focused on high-level computation tasks, thereby maximizing computation bandwidth utilization without sacrificing ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the software-based sparse-to-dense transformation performed by the CPU with a dedicated hardware transform unit. This mechanical substitution moves the data loading and transformation tasks from the general-purpose CPU to specialized hardware, freeing computation bandwidth while maintaining simplified data processing through dedicated circuitry.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9880976B2Matrix processing apparatus
Publication Date: 2018.01.30 GOOGLE LLC
  • US9880976B2 patent drawing
  • US9880976B2 patent drawing
  • US9880976B2 patent drawing

AI summary

Methods, systems, and apparatus, including a system for transforming sparse elements into a dense matrix. The system includes a data fetch unit that includes a plurality of processors, the data fetch unit configured to determine, based on identifications of the subset of the particular sparse elements, a processor designation for fetching the subset of the particular sparse elements. The system includes a concatenation unit configured to generate an output dense matrix based on a transformation that is applied to the sparse elements fetched by the data fetch unit.