The article introduces Moctopus, a PIM-based data management system for graph databases. It addresses the challenges of RPQs on traditional graph databases due to the memory wall bottleneck. Moctopus employs a dynamic graph partitioning algorithm to handle graph skewness and preserve locality with low overhead. By leveraging PIM modules, Moctopus accelerates path matching and graph update operations efficiently. The system achieves superior performance compared to traditional graph databases like RedisGraph.
Moctopus leverages a labor-division approach to handle high-degree and low-degree nodes differently, optimizing workload distribution between the host CPU and PIM modules. The greedy-adaptive load balancing method ensures efficient partitioning among PIM modules while preserving graph locality with minimal overhead. Additionally, heterogeneous graph storage is utilized for high-degree nodes to optimize query and update operations.
Evaluation against RedisGraph and a hash scheme demonstrates Moctopus's significant speedups for RPQs and graph updates across various real-world graphs from the SNAP dataset. The system effectively addresses load imbalance, communication bottlenecks, and achieves high performance in processing regular path queries over graph databases.
Vers une autre langue
à partir du contenu source
arxiv.org
Questions plus approfondies