Graph Processing Accelerator Simulation via Memory Request Merging
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


