Graph Memory Layout Optimization for Iterative Algorithm Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional graph data structures suffer from irregular memory access patterns, leading to increased cache misses and Translation Look-Aside Buffer (TLB) misses, which hinder the efficiency of iterative graph algorithms.

Innovation Solution

A method that reorders the memory layout of graph data structures by running a graph algorithm without computation to determine the access order of nodes, records this order, and then reorders the nodes to improve cache locality, grouping neighboring nodes together to facilitate better memory access patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional graph data structures are used with linear arrays, then the data structure is simple and generic, but memory access patterns become irregular causing increased cache misses and TLB misses

Engineering Contradiction:
Improvememory access pattern regularityVSAvoiddata structure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing a trial run of the graph algorithm before the actual computation to determine the optimal access order of nodes. This pre-computation phase records the sequence in which nodes are accessed, which is then used to reorder the memory layout before the real algorithm execution, thereby optimizing cache performance in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements local quality by creating algorithm-specific memory layouts tailored to each graph algorithm's access patterns. Instead of using a single generic linear array structure, the memory layout is customized for each algorithm type (e.g., BFS, DFS, PageRank), placing frequently accessed nodes closer together in memory to optimize local cache utilization for that specific algorithm.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If graph sizes become bigger and more complex, then the graph can represent more real-world scenarios, but cache misses and TLB misses increase

Engineering Contradiction:
Improvegraph size and complexityVSAvoidcache hit rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies dynamics by making the memory layout adaptive and flexible rather than static. The system dynamically determines the optimal node ordering based on the specific graph structure and algorithm being executed. This allows the memory layout to adapt to different graph sizes and complexities while maintaining high cache hit rates, as the layout is optimized for each specific case rather than being fixed.

Inventive Principle:
Principle #15Dynamics

3Productivity

If neighboring nodes are not stored together in memory, then the data structure remains simple, but pre-fetcher performance is hampered and memory access efficiency decreases

Engineering Contradiction:
Improvememory access efficiencyVSAvoidmemory layout complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by modifying the memory layout parameters (node ordering, storage arrangement) based on the observed access patterns from trial runs. The system changes how nodes are positioned in memory from a simple sequential arrangement to an optimized arrangement where neighboring nodes accessed together are stored contiguously, thereby improving memory access efficiency and enabling better pre-fetcher performance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10740232B2System, method and computer program product for accelerating iterative graph algorithms by memory layout optimization
Publication Date: 2020.08.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10740232B2 patent drawing
  • US10740232B2 patent drawing
  • US10740232B2 patent drawing

AI summary

An iterative graph algorithm accelerating method, system, and computer program product, include recording an order of access nodes in a memory layout, reordering the access nodes in the memory layout in accordance with the recorded order, and updating edge information of the reordered access nodes.