40 research outputs found
GraphTheta: A Distributed Graph Neural Network Learning System With Flexible Training Strategy
Graph neural networks (GNNs) have been demonstrated as a powerful tool for
analysing non-Euclidean graph data. However, the lack of efficient distributed
graph learning (GL) systems severely hinders applications of GNNs, especially
when graphs are big and GNNs are relatively deep. Herein, we present
GraphTheta, a novel distributed and scalable GL system implemented in
vertex-centric graph programming model. GraphTheta is the first GL system built
upon distributed graph processing with neural network operators implemented as
user-defined functions. This system supports multiple training strategies, and
enables efficient and scalable big graph learning on distributed (virtual)
machines with low memory each. To facilitate graph convolution implementations,
GraphTheta puts forward a new GL abstraction named NN-TGAR to bridge the gap
between graph processing and graph deep learning. A distributed graph engine is
proposed to conduct the stochastic gradient descent optimization with a
hybrid-parallel execution. Moreover, we add support for a new cluster-batched
training strategy besides global-batch and mini-batch. We evaluate GraphTheta
using a number of datasets with network size ranging from small-, modest- to
large-scale. Experimental results show that GraphTheta can scale well to 1,024
workers for training an in-house developed GNN on an industry-scale Alipay
dataset of 1.4 billion nodes and 4.1 billion attributed edges, with a cluster
of CPU virtual machines (dockers) of small memory each (512GB). Moreover,
GraphTheta obtains comparable or better prediction results than the
state-of-the-art GNN implementations, demonstrating its capability of learning
GNNs as well as existing frameworks, and can outperform DistDGL by up to
with better scalability. To the best of our knowledge, this work
presents the largest edge-attributed GNN learning task conducted in the
literature.Comment: 18 pages, 14 figures, 5 table
The Evolution of Distributed Systems for Graph Neural Networks and their Origin in Graph Processing and Deep Learning: A Survey
Graph Neural Networks (GNNs) are an emerging research field. This specialized
Deep Neural Network (DNN) architecture is capable of processing graph
structured data and bridges the gap between graph processing and Deep Learning
(DL). As graphs are everywhere, GNNs can be applied to various domains
including recommendation systems, computer vision, natural language processing,
biology and chemistry. With the rapid growing size of real world graphs, the
need for efficient and scalable GNN training solutions has come. Consequently,
many works proposing GNN systems have emerged throughout the past few years.
However, there is an acute lack of overview, categorization and comparison of
such systems. We aim to fill this gap by summarizing and categorizing important
methods and techniques for large-scale GNN solutions. In addition, we establish
connections between GNN systems, graph processing systems and DL systems.Comment: Accepted at ACM Computing Survey
Concurrent query analytics on distributed graph systems
Large-scale graph problems, such as shortest path finding or social media graph evaluations, are an important area in computer science. In recent years, important graph applications such as PowerGraph or PowerLyra lead to a shift of paradigms of distributed graph processing systems towards processing of multiple parallel queries rather than a single global graph algorithm.
Queries usually have locality in graphs, i.e. involve only a subset of the graphs vertices. Suitable partitioning and query synchronization approaches can minimize communication overhead and query latency by exploiting this locality. Additionally, partitioning algorithms must be dynamic as the number and locality of queries can change over time. Existing graph processing systems are not optimized to exploit query locality or to adapt graph partitioning at runtime.
In this thesis we present Q-Graph, an open source, multitenant graph analytics system with dynamic graph repartitioning. Q-Graph's query-aware partitioning algorithm Q-Cut performs adaptive graph partitioning at runtime. Compared to static partitioning strategies, Q-Cut can exploit runtime knowledge about query locality and workload to improve partitioning dynamically.
Furthermore a case study with an implementation for the shortest path problem and point search queries is presented. We present evaluations showing the performance of Q-Graph and the effectiveness of Q-Cut. Measurements show that Q-Cut improves query processing performance by up to 60% and automatically adapts partitioning on changing query workload and locality, outperforming partitioning methods using domain knowledge.Large-scale Graph Probleme, wie beispielsweise Kürzeste-Wege Suchen oder Social Media Evaluationen, sind ein wichtiger Bereich in der Informatik. In den letzten Jahren zeigen Graph Anwendungen wie PowerGraph oder PowerLyra einen Paradigmenwechsel von verteilten Graph Systemen hin zu parallelen Anfragen, statt der Verarbeitung einzelner, globaler Anfragen.
Solche Anfragen besitzen üblicherweise eine Lokalität in der Graph Datenstruktur, d.h. sie betreffen nur einen Teilbereich der Knoten eines Graphs. Geeignete Ansätze zur Partitionierung können dies nutzen um den Kommunikationsaufwand zu reduzieren und die Anfragenlatenz zu minimieren. Außerdem müssen Partitionierungs Algorithmen dynamisch sein, da sich die Anzahl und Lokalität von Anfragen über die Zeit ändern kann. Existierende Graph Systeme sind nicht optimiert um Anfragen Lokalität zu berücksichtigen oder die Graph Partitionierung zur Laufzeit anzupassen.
In dieser Arbeit stellen wir Q-Graph vor, ein Open Source Graph System zur Verarbeitung nebenläufiger Anfragen und dynamischer Graph Partitionierung. Q-Graphs anfragenbasierter Partitionierungs Algorithmus Q-Cut kann die Partitionierung zur Laufzeit anpassen. Im Vergleich zu statischen Partitionierungen können hierbei Laufzeitinformationen über Anfragen Lokalität und Arbeitslast einbezogen werden.
Außerdem wird eine Implementierung für das Kürzeste-Wege Problem vorgestellt. Evaluationen zeigen die Leistungsfähigkeit von Q-Graph und die Effektivität von Q-Cut. Messungen zeigen, dass Q-Cut die Ausführungszeit von Anfragen um bis zu 60% verbessern kannund in der Lage ist, die Partitionierung an sich verändernde Anfragen Lokalität und Arbeitslast anzupassen. Q-Cut übertrifft dabei Methoden welche Domänenwissen zur Partitioninerung verwenden