
graph servers when an edge is inserted/deleted in the graph.
Among existing systems, PlatoGL [31] is the state-of-the-
art to support a dynamic graph storage by utilizing the block-
based key-value store. That is, edges in a graph are stored
as tuples of key, value, where the key is a vertex s in the
graph with some extra information and the value is a block
that stores a proportion of neighbors of vertex s. In addition,
for the efficient weighted neighbor sampling, PlatoGL [31]
proposed a block-based sampling method by exploiting the
Inverse Transform Sampling (ITS) method [47]. However,
PlatoGL suffers from the following two limitations.
• the expensive memory consumption issue. Since a source
vertex s might have multiple blocks, each key designed by
PlatoGL consist of various information except the unique
identifier (ID) of vertex s for uniquely mapping to a specific
block. Thus, it has to maintain large number of indexings for
mapping the keys with their corresponding values (which is
the limitation of the key-value format), leading to expensive
memory overhead.
• the inefficient dynamic graph updates issue. It needs to
update c
umulative sum table (CSTable) (which is used for
fast weighted sampling) for each source vertex. To be spe-
cific, when a new neighbor of a source vertex s is inserted,
the CSTable of s should be re-computed from scratch since
each element v in CSTable requires to sum up all the weights
of vertices before v. In worst case, it takes O(n
L
) time cost
where n
L
is the number of elements (i.e., out-neighbors) in
CSTable. The case would be worse in reality since the graph
is frequently evolving in real-world applications.
Contributions. This paper tackles above questions. We intro-
duce PlatoD2GL, a distributed d
ynamic deep graph learning
system that supports both efficient dynamic graph updates,
without taking much memory cost, and fast sampling strategy.
The following shows our contributions.
(1) We propose a dynamic graph storage layer inside Pla-
toD2GL to store multiple GNN-related data. Specifically, we
design a novel and effective non-key-value topology storage,
termed samtree, which largely reduces the memory cost for
the dynamic updates by avoiding maintaining the indexings
for key-value mapping. Besides, we propose efficient inser-
tion and deletion mechanisms, and theoretically prove that
the average time cost of insertion and deletion is linear to
the number of vertices in the samtree.
(2) We propose an efficient sampling indexing structure FSTable
by utilizing Fenwick tree [10]. To our best knowledge, we
are the first to exploit Fenwick tree for dynamic graphs. In
addition, we theoretically prove that the time complexity of
updating a FSTable with n
L
elements is O(log n
L
), which
is more efficient than existing CSTable used in PlatoGL.
(3) We also design a novel weighted sampling method FTS by
incorporating our FSTable with traditional ITS method.
(4) We propose two novel optimization techniques inside our
PlatoD2GL system: (1) a compression technique by com-
pressing our samtree for further reducing the memory cost
and (2) a batch-based latch-free concurrent mechanism by
Symbol Description
G(V, E) The directed graph G with vertices set V , edges set E
w
u,v
The weight of an edge e(u, v)
w
u
The sum of weights of all edges that linked from u
N
s
The set of out-neighbours of vertex s
n
s
The number of out-neighbours of vertex s
T
s
The samtree of vertex s for storing its out-neighbors
c, H The node capacity and height of a smatree T , respectively
r
i
The node in the i-th level of a smatree T
α The slackness for α-Split algorithm
n
L
The number of vertices in a leaf node of a samtree
C The cumulative sum table (CSTable) for ITS method
F The FSTable for FTS method
S
L
The sum of weights in a leaf node
TABLE I: Frequently-used notations.
avoiding the race conditions for accelerating the dynamic
updating process.
(5) We experimentally verified that by conducting comprehen-
sive experiments on two public datasets and one production
dataset with up to 65.9 billion edges. Comprehensive ex-
periments demonstrate that PlatoD2GL takes less memory
cost than state-of-the-art by up to 79.8% on billion-scale
graphs. Besides, PlatoD2GL is faster than state-of-the-art by
up to 6.3 times and up to 13.7 times in terms of dynamic
updates and sampling, respectively.
II. P
RELIMINARIES
In this section, we firstly introduce background of the
problem studied in this paper, and then present a widely-used
weighted sampling method Inverse Transform Sampling (ITS),
which is the building stone in our proposed system. Table I
lists the notations used in this paper.
A. Background
We start with a simple directed weighted graph G(V, E,
W) where V and E represents the set of vertices and edges,
respectively, and W: E→R
+
is a function that assigns a
weight w
u,v
to an edge e(u, v) linking from vertex u to vertex
v. For simplicity, we denote a weighted edge as e(u, v, w
u,v
).
Let N
u
denote the set of out-neighbours of vertex u. In the
following, we use “out-neighbor” and “neighbor” interchange-
ably if it is clear in the context. In this paper, we consider the
heterogeneous graph with multiple types of vertices and/or
edges, which is common in real-world applications. Besides,
in this paper, we focus on the dynamic graphs. Given a time
interval t,adynamic graph can be considered as a series of
graphs {G
(t)
|t ∈ [1,T]} where G
(t)
is a heterogeneous graph
at timestamp t and T is the largest timestamp.
Basic operations in GNN models. GNN approaches
could be basically formulated as message passing [52],
[13], [45], [17], [43], [38], [39], where vertices in the
graph propagate their messages to their neighbours and
updates their representations (i.e., in form of embedding)
by aggregating the received messages from their neighbours.
Given a heterogeneous graph G, the embedding e
(0)
u
of each
vertex u is initially assigned as its features vector f
u
. To get
2422
Authorized licensed use limited to: Tencent. Downloaded on April 22,2025 at 08:50:16 UTC from IEEE Xplore. Restrictions apply.
评论