Abstract
Graph analytics play a key role in a number of applications such as social networks, drug discovery, and recommendation systems. Given the large size of graphs that may exceed the capacity of the main memory, application performance is bounded by storage access time. Out-of-core graph processing frameworks try to tackle this storage access bottleneck through techniques such as graph sharding, and sub-graph partitioning. Even with these techniques, the need to access data across different graph shards or sub-graphs causes storage systems to become a significant performance hurdle. In this paper, we propose a graph semantic aware solid state drive (SSD) framework, called GraphSSD, which is a full system solution for storing, accessing, and performing graph analytics on SSDs. Rather than treating storage as a collection of blocks, GraphSSD considers graph structure while deciding on graph layout, access, and update mechanisms. GraphSSD replaces the conventional logical to physical page mapping mechanism in an SSD with a novel vertex-to-page mapping scheme and exploits the detailed knowledge of the flash properties to minimize page accesses. GraphSSD also supports efficient graph updates (vertex and edge modifications) by minimizing unnecessary page movement overheads. GraphSSD provides a simple programming interface that enables application developers to access graphs as native data in their applications, thereby simplifying the code development. It also augments the NVMe (non-volatile memory express) interface with a minimal set of changes to map the graph access APIs to appropriate storage access mechanisms. Our evaluation results show that the GraphSSD framework improves the performance by up to 1.85 × for the basic graph data fetch functions and on average 1.40×, 1.42×, 1.60×, 1.56×, and 1.29× for the widely used breadth-first search, connected components, random-walk, maximal independent set, and page rank applications, respectively.
Original language | English |
---|---|
Title of host publication | ISCA 2019 - Proceedings of the 2019 46th International Symposium on Computer Architecture |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 116-128 |
Number of pages | 13 |
ISBN (Electronic) | 9781450366694 |
DOIs | |
Publication status | Published - 2019 Jun 22 |
Externally published | Yes |
Event | 46th International Symposium on Computer Architecture, ISCA 2019 - Phoenix, United States Duration: 2019 Jun 22 → 2019 Jun 26 |
Publication series
Name | Proceedings - International Symposium on Computer Architecture |
---|---|
ISSN (Print) | 1063-6897 |
Conference
Conference | 46th International Symposium on Computer Architecture, ISCA 2019 |
---|---|
Country/Territory | United States |
City | Phoenix |
Period | 19/6/22 → 19/6/26 |
Bibliographical note
Funding Information:This material is based upon work supported by Defense Advanced Research Projects Agency (DARPA) under Contract No. HR001117C0053, NSF grant 1719074, Samsung award 079856. Tseng is supported by NSF grants 1657039 and 1812987. Koo is supported by the National Research Foundation (NRF) grant funded by the Korea government (MSIT) (No. NRF-2018R1C1B5086594) and Institute of Information & Communication Technology Planning & Evaluation (IITP) grant funded by the Korea government (MSIT) (No. 2019-0-00533, Research on CPU vulnerability detection and validation). The views, opinions, and/or findings expressed are those of the author(s) and should not be interpreted as representing the official views or policies of the Department of Defense, the U.S. Government, or the Korean government.
Publisher Copyright:
© 2019 ACM.
Keywords
- Flash storage
- Graphs
- SSD
ASJC Scopus subject areas
- Hardware and Architecture