Adapting Arkouda for Enabling Large Scale Graph Algorithms

Abstract

Large scale graph algorithms are required to help extract useful information from graphs. One of the main challenges arises when the size of the graph expands outside of the memory capacity that a typical computer can handle. Solutions must then be developed to allow data scientists to efficiently handle and analyze large graphs, using machines that have the capacity to handle massive graph sizes. Not only do these solutions need to be efficient, but they must also help simplify the implementation steps taken by data scientists. Arkouda is a software package under early development created with the intent to bridge the gap between massive parallel computations and data scientists wishing to perform exploratory data analysis by providing a NumPy-like interface for terabyte datasets. Arkouda is open source, and it is driven by a Python front-end with a Chapel back-end. Chapel is a programming language created by HPE and Cray to facilitate parallel program development. In this poster, we highlight the recent contributions to incorporate graph algorithms in Arkouda, their importance, the challenges that presented themselves, and future steps that need to be taken. This work can help further bridge the gap between high-performance computing (HPC) software and data science to create a framework that is straightforward for all data scientists to use. Our results show promise in using Arkouda for simplifying the interfaces required for graph analytical algorithms from conception to implementation. We especially acknowledge NSF grant number CCF-2109988 for funding this research.

Publication
In International Parallel & Distributed Processing Symposium