GraphStep: A System Architecture for Sparse-Graph Algorithms
- 1 April 2006
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 143-151
- https://doi.org/10.1109/fccm.2006.45
Abstract
Many important applications are organized around long-lived, irregular sparse graphs (e.g., data and knowledge bases, CAD optimization, numerical problems, simulations). The graph structures are large, and the applications need regular access to a large, data-dependent portion of the graph for each operation (e.g., the algorithm may need to walk the graph, visiting all nodes, or propagate changes through many nodes in the graph). On conventional microprocessors, the graph structures exceed on-chip cache capacities, making main-memory bandwidth and latency the key performance limiters. To avoid this "memory wall," we introduce a concurrent system architecture for sparse graph algorithms that places graph nodes in small distributed memories paired with specialized graph processing nodes interconnected by a lightweight network. This gives us a scalable way to map these applications so that they can exploit the high-bandwidth and low-latency capabilities of embedded memories (e.g., FPGA Block RAMs). On typical spreading-activation queries on the ConceptNet Knowledge Base, a sample application, this translates into an order of magnitude speedup per FPGA compared to a state-of-the-art Pentium processorKeywords
This publication has 29 references indexed in Scilit:
- A Portable Programming Interface for Performance Evaluation on Modern ProcessorsThe International Journal of High Performance Computing Applications, 2000
- The density advantage of configurable computingComputer, 2000
- An efficient, protected message interfaceComputer, 1998
- Baring it all to software: Raw machinesComputer, 1997
- A case for intelligent RAMIEEE Micro, 1997
- A parallel processing chip with embedded DRAM macrosIEEE Journal of Solid-State Circuits, 1996
- Hitting the memory wallACM SIGARCH Computer Architecture News, 1995
- Classification and retrieval of knowledge on a parallel marker-passing architectureIEEE Transactions on Knowledge and Data Engineering, 1993
- A bridging model for parallel computationCommunications of the ACM, 1990
- Data parallel algorithmsCommunications of the ACM, 1986