Sparse Matrix Processing with Parallel Sparse-to-Dense Fetch

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 storage, leading to underutilization of computation bandwidth and increased latency due to the need to access disparate sparse elements of varying dimensions.

Innovation Solution

A system comprising specialized matrix processors that can independently fetch and transform sparse elements into a dense matrix, reducing the CPU's workload by distributing the data loading task and utilizing a sparse-dense transform unit to concatenate sparse elements from different data shards, thereby enhancing computation bandwidth and lowering latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the central processing unit fetches sparse elements from distributed storage, then the matrix can be loaded for processing, but the CPU computation bandwidth is underutilized and latency increases

Engineering Contradiction:
ImproveCPU computation bandwidthVSAvoidprocessing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments the matrix processing task by dividing the sparse matrix into multiple shards distributed across different storage locations. Each shard is independently fetched and processed by dedicated matrix processors, allowing parallel execution and eliminating the CPU as a bottleneck. This segmentation enables simultaneous data fetching and computation across multiple processing units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces matrix processors as intermediary components between the distributed storage system and the CPU. These specialized processors handle sparse element fetching, transformation, and concatenation operations, freeing the CPU to focus on computation. The matrix processors act as mediators that manage the data movement and preprocessing tasks.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the CPU handles sparse data fetching and transformation, then data can be processed, but processing costs increase and computation bandwidth is wasted

Engineering Contradiction:
Improvecomputation bandwidth utilizationVSAvoidprocessing cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system implements self-service by enabling matrix processors to autonomously fetch sparse elements from distributed storage and transform them into dense matrix format without CPU intervention. Each matrix processor independently manages its own data loading and preprocessing tasks, including identifying sparse elements, fetching them from storage, and concatenating results. This self-service capability eliminates the energy-wasting overhead of CPU-managed sparse data handling.

Inventive Principle:
Principle #25Self-service

3Speed

If multiple processors fetch sparse elements in parallel, then processing speed increases, but coordination and concatenation complexity increases

Engineering Contradiction:
Improvedata fetching speedVSAvoidprocessor coordination complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent resolves coordination complexity by transforming the problem from a centralized coordination model to a distributed autonomous model. Instead of coordinating multiple processors through a central controller, each matrix processor independently operates in its own processing dimension, fetching and transforming data without requiring inter-processor coordination. The system architecture naturally handles concatenation through the distributed nature of the processing, eliminating the need for complex coordination protocols.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9898441B2Matrix processing apparatus
Publication Date: 2018.02.20 GOOGLE LLC
  • US9898441B2 patent drawing
  • US9898441B2 patent drawing
  • US9898441B2 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.