Memory Module Processing Unit for Embedding Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Personalized recommendation systems face computational challenges due to the large volume of data required for accurate and timely recommendations, particularly in deep learning applications where sparse lookup operations dominate run-time, leading to memory performance bottlenecks.

Innovation Solution

Incorporating a memory module processing unit on a computer memory module, such as a DIMM, to perform embedding operations near memory, eliminating external memory bottlenecks and utilizing caches to exploit temporal reuse locality, thereby improving run-time performance by offloading gather-reduce operations like SparseLengthsSum to memory-side processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If personalized recommendation systems process large volume of data to determine accurate recommendations, then recommendation accuracy is improved, but computational time and processing load increase

Engineering Contradiction:
Improverecommendation accuracyVSAvoidcomputational time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system segments processing tasks by separating embedding lookup operations from general computation. The memory module processing unit handles specific embedding operations (gather-reduce) independently from the main processor, dividing the computational workload to improve both accuracy and reduce time loss.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by performing embedding lookups and reduce operations directly at the memory module before data is transferred to the processor. This pre-processing of embedding operations reduces the computational burden on the main system, thereby reducing computational time while maintaining recommendation accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If sparse lookup operations are performed to retrieve embedding vectors for personalized recommendations, then recommendation quality is improved, but memory performance bottlenecks worsen

Engineering Contradiction:
Improverecommendation qualityVSAvoidmemory throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent adds a new dimension to the memory hierarchy by implementing a memory module processing unit at the DIMM level. This creates an additional processing layer between main memory and the processor, enabling embedding operations to be performed closer to the data storage location, thereby improving memory throughput while maintaining recommendation quality.

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

Solution Approach 2:

The memory module processing unit acts as an intermediary between the main processor and memory modules. It handles embedding lookup and reduce operations locally at the memory module, reducing the burden on the main memory system and improving overall memory throughput while preserving recommendation quality.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If embedding operations are performed at the processor level, then computation flexibility is maintained, but memory bottleneck effects increase

Engineering Contradiction:
Improvecomputation flexibilityVSAvoidsystem throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments computation tasks by separating embedding-specific operations (gather-reduce) from general-purpose processing. The memory module processing unit handles embedding operations with specialized hardware, while the main processor maintains flexibility for other computations, thus preserving computation flexibility while improving system throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory module processing unit serves as an intermediary that handles embedding operations locally, reducing memory bottleneck effects. This intermediary layer improves system throughput by processing embedding data closer to storage, while the main processor retains its computational flexibility for other tasks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11442866B2Computer memory module processing device with cache storage
Publication Date: 2022.09.13 META PLATFORMS INC
  • US11442866B2 patent drawing
  • US11442866B2 patent drawing
  • US11442866B2 patent drawing

AI summary

A device (e.g., an application-specific integrated circuit chip) includes a memory module processing unit and an interface. The memory module processing unit is configured to receive an instruction to obtain values stored in one or more memory components and process the obtained values to return a processed result. The memory module processing unit is also configured to store the obtained values in a cache based on one or more criteria. The memory module processing unit is configured to be included on a computer memory module configured to be installed in a computer system. The interface is configured to communicate with the one or more memory components included on the computer memory module.