2,847 research outputs found
Temporal Graph Traversals: Definitions, Algorithms, and Applications
A temporal graph is a graph in which connections between vertices are active
at specific times, and such temporal information leads to completely new
patterns and knowledge that are not present in a non-temporal graph. In this
paper, we study traversal problems in a temporal graph. Graph traversals, such
as DFS and BFS, are basic operations for processing and studying a graph. While
both DFS and BFS are well-known simple concepts, it is non-trivial to adopt the
same notions from a non-temporal graph to a temporal graph. We analyze the
difficulties of defining temporal graph traversals and propose new definitions
of DFS and BFS for a temporal graph. We investigate the properties of temporal
DFS and BFS, and propose efficient algorithms with optimal complexity. In
particular, we also study important applications of temporal DFS and BFS. We
verify the efficiency and importance of our graph traversal algorithms in real
world temporal graphs
Shared Arrangements: practical inter-query sharing for streaming dataflows
Current systems for data-parallel, incremental processing and view
maintenance over high-rate streams isolate the execution of independent
queries. This creates unwanted redundancy and overhead in the presence of
concurrent incrementally maintained queries: each query must independently
maintain the same indexed state over the same input streams, and new queries
must build this state from scratch before they can begin to emit their first
results. This paper introduces shared arrangements: indexed views of maintained
state that allow concurrent queries to reuse the same in-memory state without
compromising data-parallel performance and scaling. We implement shared
arrangements in a modern stream processor and show order-of-magnitude
improvements in query response time and resource consumption for interactive
queries against high-throughput streams, while also significantly improving
performance in other domains including business analytics, graph processing,
and program analysis
An Index for Single Source All Destinations Distance Queries in Temporal Graphs
Temporal closeness is a generalization of the classical closeness centrality
measure for analyzing evolving networks. The temporal closeness of a vertex
is defined as the sum of the reciprocals of the temporal distances to the other
vertices. Ranking all vertices of a network according to the temporal closeness
is computationally expensive as it leads to a single-source-all-destination
(SSAD) temporal distance query starting from each vertex of the graph. To
reduce the running time of temporal closeness computations, we introduce an
index to speed up SSAD temporal distance queries called Substream index. We
show that deciding if a Substream index of a given size exists is NP-complete
and provide an efficient greedy approximation. Moreover, we improve the running
time of the approximation using min-hashing and parallelization. Our evaluation
with real-world temporal networks shows a running time improvement of up to one
order of magnitude compared to the state-of-the-art temporal closeness ranking
algorithms
Recent Advances in Fully Dynamic Graph Algorithms
In recent years, significant advances have been made in the design and
analysis of fully dynamic algorithms. However, these theoretical results have
received very little attention from the practical perspective. Few of the
algorithms are implemented and tested on real datasets, and their practical
potential is far from understood. Here, we present a quick reference guide to
recent engineering and theory results in the area of fully dynamic graph
algorithms
Efficient Snapshot Retrieval over Historical Graph Data
We address the problem of managing historical data for large evolving
information networks like social networks or citation networks, with the goal
to enable temporal and evolutionary queries and analysis. We present the design
and architecture of a distributed graph database system that stores the entire
history of a network and provides support for efficient retrieval of multiple
graphs from arbitrary time points in the past, in addition to maintaining the
current state for ongoing updates. Our system exposes a general programmatic
API to process and analyze the retrieved snapshots. We introduce DeltaGraph, a
novel, extensible, highly tunable, and distributed hierarchical index structure
that enables compactly recording the historical information, and that supports
efficient retrieval of historical graph snapshots for single-site or parallel
processing. Along with the original graph data, DeltaGraph can also maintain
and index auxiliary information; this functionality can be used to extend the
structure to efficiently execute queries like subgraph pattern matching over
historical data. We develop analytical models for both the storage space needed
and the snapshot retrieval times to aid in choosing the right parameters for a
specific scenario. In addition, we present strategies for materializing
portions of the historical graph state in memory to further speed up the
retrieval process. Secondly, we present an in-memory graph data structure
called GraphPool that can maintain hundreds of historical graph instances in
main memory in a non-redundant manner. We present a comprehensive experimental
evaluation that illustrates the effectiveness of our proposed techniques at
managing historical graph information
- …