Optimizing the Cray Graph Engine for performant analytics on cluster, SuperDome Flex, Shasta systems and cloud deployment

Christopher D. Rickett,Kristyn J. Maschhoff,Sreenivas R. Sukumar
DOI: https://doi.org/10.1002/cpe.7982
2024-01-16
Concurrency and Computation Practice and Experience
Abstract:We present updates to the Cray Graph Engine, a high performance in‐memory semantic graph database, which enable performant execution across multiple architectures as well as deployment in a container to support cloud and as‐a‐service graph analytics. This paper discusses the changes required to port and optimize CGE to target multiple architectures, including Cray Shasta systems, large shared‐memory machines such as SuperDome Flex (SDF), and cluster environments such as Apollo systems. The porting effort focused primarily on removing dependences on XPMEM and Cray PGAS and replacing these with a simplified PGAS library based upon POSIX shared memory and one‐sided MPI, while preserving the existing Coarray‐C++ CGE code base. We also discuss the containerization of CGE using Singularity and the techniques required to enable container performance matching native execution. We present early benchmarking results for running CGE on the SDF, Infiniband clusters and Slingshot interconnect‐based Shasta systems.
computer science, theory & methods, software engineering
What problem does this paper attempt to address?