GraphSSD: Graph Semantics Aware SSD

GraphSSD: Graph Semantics Aware SSD
复制标题

DOI:
10.1145/3307650.3322275
复制
发表时间:
2019-06
期刊:
2019 ACM/IEEE 46th Annual International Symposium on Computer Architecture (ISCA)
影响因子:
--
通讯作者:
Kiran Kumar Matam;Gunjae Koo;Haipeng Zha;Hung-Wei Tseng;M. Annavaram
Kiran Kumar Matam;Gunjae Koo;Haipeng Zha;Hung-Wei Tseng;M. Annavaram
中科院分区:
其他
文献类型:
--
作者:
Kiran Kumar Matam;Gunjae Koo;Haipeng Zha;Hung-Wei Tseng;M. Annavaram

文献摘要

相似文献

Graph Analytics在许多应用程序,例如社交网络,药物发现和推荐系统中都起着关键作用。考虑到可能超过主内存能力的大尺寸图,应用程序性能是由存储访问时间界定的。核心外图处理框架试图通过诸如图形碎片和子图形分区之类的技术来解决此存储访问瓶颈。即使有了这些技术,需要访问不同图形碎片或子图的数据也会导致存储系统成为一个重大的性能障碍。在本文中,我们提出了一个GraphSSD的图形语义知识固态驱动器(SSD)框架,该框架称为GraphSSD,它是用于存储,访问和执行SSD上的图形分析的完整系统解决方案。 GraphSSD并没有将存储视为块的集合,而是考虑图形布局,访问和更新机制时考虑图形结构。 GraphSSD用新颖的顶点映射方案代替了SSD中的常规逻辑映射机制,并利用了闪存属性的详细知识以最大程度地减少页面访问。 GraphsSD还通过最大程度地减少不必要的页面移动开销来支持有效的图形更新(顶点和边缘修改)。 GraphSSD提供了一个简单的编程界面,该界面使应用程序开发人员能够在其应用程序中访问本机数据,从而简化了代码开发。它还通过最小的更改将图形访问API映射到适当的存储访问机制,将NVME(非挥发性内存快递)接口增加。我们的评估结果表明,GraphSSD框架可将性能提高到1.85 x,用于基本的图形数据获取功能,并平均1.40x,1.42x,1.42x,1.60x,1.56 X和1.29x,用于广泛使用的广度第一搜索,连接的组件,随机步行,最大独立集和页面排名应用程序。
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 x for the basic graph data fetch functions and on average 1.40x, 1.42x, 1.60x, 1.56x, and 1.29x for the widely used breadth-first search, connected components, random-walk, maximal independent set, and page rank applications, respectively.