Near-Memory Accelerator Offloads Pointer Chasing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Pointer chasing operations in modern programming languages lead to substantial bandwidth consumption and memory cache pollution due to frequent indirections, which slow down processors and increase cache misses, especially in workloads like garbage collection, big data, and graph analytics.

Innovation Solution

A near-memory accelerator offloads data traversal operations from the processing element by performing pointer chasing and fetching necessary data from memory, allowing the processing element to focus on computational tasks while reducing bandwidth usage and cache pollution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pointer chasing operations are performed by the processing element, then data traversal can be completed, but bandwidth consumption increases and cache pollution occurs

Engineering Contradiction:
Improvedata traversal capabilityVSAvoidbandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts the pointer chasing operations from the processing element and relocates them to a dedicated near-memory accelerator. This separation allows the processing element to focus on computational tasks while the accelerator handles memory traversal, thereby reducing bandwidth consumption and cache pollution caused by frequent pointer chasing operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a near-memory accelerator as an intermediary component between the processing element and the memory system. This mediator performs pointer chasing operations locally near the memory, reducing the need for high-bandwidth communication between the processing element and memory, thus lowering bandwidth consumption and cache pollution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If pointer chasing operations are performed by the processing element, then data traversal can be completed, but system performance decreases due to cache misses

Engineering Contradiction:
Improvedata traversal capabilityVSAvoidprocessing speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent extracts pointer chasing operations from the main processing element and assigns them to a specialized near-memory accelerator. This extraction reduces cache pollution and cache misses, thereby improving overall system processing speed while maintaining data traversal capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the general-purpose processing element's mechanical execution of pointer chasing with a specialized hardware accelerator optimized for memory proximity operations. This substitution reduces cache misses and improves processing speed by performing traversals closer to the memory without requiring full processor intervention.

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

3Ease of operation

If the processing element performs all operations including pointer chasing, then comprehensive control is maintained, but device complexity increases

Engineering Contradiction:
Improvecontrol capabilityVSAvoidprocessing element workload
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the system into two functional parts: the processing element that maintains control and issues commands, and the near-memory accelerator that executes pointer chasing operations. This segmentation reduces the processing element's workload and complexity while maintaining comprehensive control through command issuance and result reception.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables the near-memory accelerator to autonomously perform pointer chasing operations without requiring continuous intervention from the processing element. The accelerator services itself by independently executing traversal operations, reducing the processing element's complexity while maintaining control through initial command issuance.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9946659B2Near-memory accelerator for offloading pointer chasing operations from a processing element
Publication Date: 2018.04.17 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9946659B2 patent drawing
  • US9946659B2 patent drawing
  • US9946659B2 patent drawing

AI summary

Embodiments include a near-memory acceleration method for offloading data traversal operations from a processing element. The method is implemented at a near-memory accelerator configured to interact with each of the processing element and a memory used by the processing element. The accelerator performs the data traversal operations to chase pointers, in order to identify a pointer to data to be processed by the processing element. The data traversal operations are performed based on indications from the processing element. In addition, data needed to perform the data traversal operations are fetched by the near-memory accelerator, from the memory. The present invention is further directed to a near-memory accelerator and a computerized system comprising such an accelerator, as well as a computer program product.