Graph Processing Accelerator Simulation via Memory Request Merging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graph processing on traditional hardware platforms like CPUs and GPUs faces performance issues due to irregular memory accesses and lack of computational intensity, while FPGA-based accelerators offer custom memory access patterns but are difficult to program and lack standardized benchmarking, leading to cumbersome development and comparison challenges.

Innovation Solution

A simulation environment is created to analyze graph processing accelerators by simulating memory access patterns, reducing implementation time and increasing benchmark transparency, featuring a controller component, producer components, and a merge component to generate and process request streams, and utilizing a DRAM simulator to model off-chip memory access patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If FPGA-based graph processing accelerators are used to enable custom memory access patterns, then processing speed is improved, but programming difficulty and device complexity increase significantly

Engineering Contradiction:
Improvegraph processing speedVSAvoidaccelerator programming complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent creates a simulation environment that copies the essential memory access behavior of FPGA graph processing accelerators without requiring actual FPGA hardware. The simulator reproduces memory request patterns, access timings, and bandwidth characteristics, allowing developers to test and optimize graph processing algorithms on software-based platforms while achieving near-FPGA performance predictions.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The simulation environment acts as an intermediary between algorithm developers and actual FPGA hardware. It provides a middle layer that translates high-level graph processing algorithms into memory access patterns similar to those generated by FPGA accelerators, enabling development without direct FPGA programming while maintaining accuracy in performance evaluation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If cycle-accurate internal data flow is implemented on hardware platforms to ensure accurate benchmarking, then measurement precision is improved, but implementation time and device complexity increase

Engineering Contradiction:
Improvebenchmark accuracyVSAvoidimplementation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts only the essential memory access characteristics from the complete FPGA system behavior, focusing specifically on memory request patterns, access timings, and bandwidth utilization. By isolating and simulating only these critical memory-related aspects rather than the entire hardware system, the simulator achieves sufficient benchmarking accuracy while dramatically reducing implementation complexity and time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The simulation implements partial action by modeling only the memory subsystem behavior rather than the complete FPGA data flow. This partial simulation approach provides adequate accuracy for comparing graph processing approaches while avoiding the excessive implementation time and complexity of full cycle-accurate hardware simulation.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If multiple disparate hardware platforms are used to assess graph processing approaches, then adaptability is improved, but benchmarking complexity and difficulty of detection increase

Engineering Contradiction:
Improveplatform compatibilityVSAvoidbenchmark comparison difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The simulation environment provides universal benchmarking capability that works across multiple hardware platform types (CPUs, GPUs, FPGAs, ASICs) by standardizing the memory access pattern representation. The same simulation framework can model different platform characteristics through configurable parameters, enabling consistent comparison of graph processing algorithms across diverse hardware without requiring separate benchmarking infrastructure for each platform type.

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

Data Source

PatentUS11354771B1Simulation environment for efficient assessment of memory-bound platforms
Publication Date: 2022.06.07 SAP SE
  • US11354771B1 patent drawing
  • US11354771B1 patent drawing
  • US11354771B1 patent drawing

AI summary

Methods, systems, and computer-readable storage media for providing a simulated graph processing accelerator representative of a hardware-based graph processing accelerator, the simulated graph processing accelerator including a controller component, a set of producer components, and a final merge component; triggering execution of the simulated graph processing accelerator as a simulation of processing of a graph for one or more of breadth-first search (BFS), single source shortest path (SSSP), weakly connected components (WCC), sparse matrix-vector multiplication (SpMV), and PageRank (PR), execution including: generating request streams from each producer component, merging request streams to provide a merged request stream, inputting the merged request stream to a memory simulator, and processing, by the memory simulator, the merged request stream to simulate handling of requests in memory.