  Graph neural networks (GNNs), which have emerged as an effective method for
handling machine learning tasks on graphs, bring a new approach to building
recommender systems, where the task of recommendation can be formulated as the
link prediction problem on user-item bipartite graphs. Training GNN-based
recommender systems (GNNRecSys) on large graphs incurs a large memory
footprint, easily exceeding the DRAM capacity on a typical server. Existing
solutions resort to distributed subgraph training, which is inefficient due to
the high cost of dynamically constructing subgraphs and significant redundancy
across subgraphs.
  The emerging persistent memory technologies provide a significantly larger
memory capacity than DRAMs at an affordable cost, making single-machine
GNNRecSys training feasible, which eliminates the inefficiencies in distributed
training. One major concern of using persistent memory devices for GNNRecSys is
their relatively low bandwidth compared with DRAMs. This limitation can be
particularly detrimental to achieving high performance for GNNRecSys workloads
since their dominant compute kernels are sparse and memory access intensive. To
understand whether persistent memory is a good fit for GNNRecSys training, we
perform an in-depth characterization of GNNRecSys workloads and a comprehensive
analysis of their performance on a persistent memory device, namely, Intel
Optane. Based on the analysis, we provide guidance on how to configure Optane
for GNNRecSys workloads. Furthermore, we present techniques for large-batch
training to fully realize the advantages of single-machine GNNRecSys training.
Our experiment results show that with the tuned batch size and optimal system
configuration, Optane-based single-machine GNNRecSys training outperforms
distributed training by a large margin, especially when handling deep GNN
models.
