4,664 research outputs found

    Dynamic Graphs on the GPU

    Get PDF
    We present a fast dynamic graph data structure for the GPU. Our dynamic graph structure uses one hash table per vertex to store adjacency lists and achieves 3.4–14.8x faster insertion rates over the state of the art across a diverse set of large datasets, as well as deletion speedups up to 7.8x. The data structure supports queries and dynamic updates through both edge and vertex insertion and deletion. In addition, we define a comprehensive evaluation strategy based on operations, workloads, and applications that we believe better characterize and evaluate dynamic graph data structures

    Dynamic Planar Embeddings of Dynamic Graphs

    Full text link
    We present an algorithm to support the dynamic embedding in the plane of a dynamic graph. An edge can be inserted across a face between two vertices on the face boundary (we call such a vertex pair linkable), and edges can be deleted. The planar embedding can also be changed locally by flipping components that are connected to the rest of the graph by at most two vertices. Given vertices u,vu,v, linkable(u,v)(u,v) decides whether uu and vv are linkable in the current embedding, and if so, returns a list of suggestions for the placement of (u,v)(u,v) in the embedding. For non-linkable vertices u,vu,v, we define a new query, one-flip-linkable(u,v)(u,v) providing a suggestion for a flip that will make them linkable if one exists. We support all updates and queries in O(log2n^2 n) time. Our time bounds match those of Italiano et al. for a static (flipless) embedding of a dynamic graph. Our new algorithm is simpler, exploiting that the complement of a spanning tree of a connected plane graph is a spanning tree of the dual graph. The primal and dual trees are interpreted as having the same Euler tour, and a main idea of the new algorithm is an elegant interaction between top trees over the two trees via their common Euler tour.Comment: Announced at STACS'1

    Distributed Community Detection in Dynamic Graphs

    Full text link
    Inspired by the increasing interest in self-organizing social opportunistic networks, we investigate the problem of distributed detection of unknown communities in dynamic random graphs. As a formal framework, we consider the dynamic version of the well-studied \emph{Planted Bisection Model} \sdG(n,p,q) where the node set [n][n] of the network is partitioned into two unknown communities and, at every time step, each possible edge (u,v)(u,v) is active with probability pp if both nodes belong to the same community, while it is active with probability qq (with q<<pq<<p) otherwise. We also consider a time-Markovian generalization of this model. We propose a distributed protocol based on the popular \emph{Label Propagation Algorithm} and prove that, when the ratio p/qp/q is larger than nbn^{b} (for an arbitrarily small constant b>0b>0), the protocol finds the right "planted" partition in O(log⁥n)O(\log n) time even when the snapshots of the dynamic graph are sparse and disconnected (i.e. in the case p=Θ(1/n)p=\Theta(1/n)).Comment: Version I

    Adaptive Partitioning for Large-Scale Dynamic Graphs

    Get PDF
    Abstract—In the last years, large-scale graph processing has gained increasing attention, with most recent systems placing particular emphasis on latency. One possible technique to improve runtime performance in a distributed graph processing system is to reduce network communication. The most notable way to achieve this goal is to partition the graph by minimizing the num-ber of edges that connect vertices assigned to different machines, while keeping the load balanced. However, real-world graphs are highly dynamic, with vertices and edges being constantly added and removed. Carefully updating the partitioning of the graph to reflect these changes is necessary to avoid the introduction of an extensive number of cut edges, which would gradually worsen computation performance. In this paper we show that performance degradation in dynamic graph processing systems can be avoided by adapting continuously the graph partitions as the graph changes. We present a novel highly scalable adaptive partitioning strategy, and show a number of refinements that make it work under the constraints of a large-scale distributed system. The partitioning strategy is based on iterative vertex migrations, relying only on local information. We have implemented the technique in a graph processing system, and we show through three real-world scenarios how adapting graph partitioning reduces execution time by over 50 % when compared to commonly used hash-partitioning. I
    • 

    corecore