Vector Atomic Memory Operations for Supercomputer PIM

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for balancing processor-in-memory (PIM) operations in multiprocessor systems are inefficient due to high memory overhead and the need for expensive special hardware to collocate processors and memory, which hinders the performance of vector processing in supercomputers.

Innovation Solution

A system and method that includes vector atomic memory operations (VAMO) instructions, allowing for efficient execution of atomic operations on multiple memory locations simultaneously, balancing memory overhead with computational speed by using a combination of processor and memory-based operations, and enabling vectorization of more program loops.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If processors are collocated with memory on the same board or silicon, then memory transfer time is reduced, but hardware cost and complexity increase

Engineering Contradiction:
Improvememory transfer timeVSAvoidhardware complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary memory management layer that mediates between conventional processors and memory operations. By implementing a sophisticated memory management system with virtual memory techniques and memory mapping, the patent enables efficient data access without requiring physical collocation of processors and memory, thus reducing hardware complexity while maintaining performance benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical approach of physical collocation (processors and memory on the same board/silicon) with a software-based memory management system. Through virtual memory mechanisms, memory mapping, and cache hierarchies, the system achieves efficient data access without the hardware complexity of collocated architectures, substituting mechanical proximity with intelligent software management.

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

2Productivity

If vector processing is used to increase throughput, then computational speed improves, but memory overhead and data transfer requirements increase

Engineering Contradiction:
Improvecomputational throughputVSAvoidmemory overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary action through prefetching mechanisms and cache pre-loading. Before vector operations require data, the system proactively loads data into appropriate cache levels or buffer memory, reducing the memory overhead during actual computation. This allows vector processing to achieve high throughput while minimizing runtime memory access delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the memory hierarchy into multiple levels (cache, buffer, main memory) and divides data access patterns to optimize each level. By segmenting data access operations and utilizing different memory levels for different data sizes and access frequencies, the system reduces overall memory overhead while maintaining high vector processing throughput.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If atomic memory operations are performed sequentially, then memory access simplicity is maintained, but computational efficiency decreases

Engineering Contradiction:
Improvememory access simplicityVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges multiple atomic memory operations into parallel vector operations. Instead of performing atomic operations sequentially on individual memory locations, the system combines them into vectorized operations that can execute in parallel across multiple memory locations simultaneously. This maintains the simplicity of atomic operations while dramatically improving computational efficiency through parallelism.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal memory operation interface that handles both sequential and parallel operations through a unified abstraction. The memory management system provides a consistent interface for atomic operations while automatically optimizing the execution based on data access patterns, enabling simple programming models to achieve high computational efficiency through intelligent operation scheduling.

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

Data Source

PatentUS8583898B2System and method for managing processor-in-memory (PIM) operations
Publication Date: 2013.11.12 CRAY INC
  • US8583898B2 patent drawing
  • US8583898B2 patent drawing
  • US8583898B2 patent drawing

AI summary

A system and method of compiling program code, wherein the program code includes an operation on an array of data elements stored in memory of a computer system. The program code is scanned for operations that are vectorizable. The vectorizable operations are examined to determine whether they should be executed at least in part in a vector atomic memory operation (AMO) functional unit attached to memory. If so, the compiled code includes vector AMO instructions.