174 research outputs found

    Theoretically Efficient Parallel Graph Algorithms Can Be Fast and Scalable

    Full text link
    There has been significant recent interest in parallel graph processing due to the need to quickly analyze the large graphs available today. Many graph codes have been designed for distributed memory or external memory. However, today even the largest publicly-available real-world graph (the Hyperlink Web graph with over 3.5 billion vertices and 128 billion edges) can fit in the memory of a single commodity multicore server. Nevertheless, most experimental work in the literature report results on much smaller graphs, and the ones for the Hyperlink graph use distributed or external memory. Therefore, it is natural to ask whether we can efficiently solve a broad class of graph problems on this graph in memory. This paper shows that theoretically-efficient parallel graph algorithms can scale to the largest publicly-available graphs using a single machine with a terabyte of RAM, processing them in minutes. We give implementations of theoretically-efficient parallel algorithms for 20 important graph problems. We also present the optimizations and techniques that we used in our implementations, which were crucial in enabling us to process these large graphs quickly. We show that the running times of our implementations outperform existing state-of-the-art implementations on the largest real-world graphs. For many of the problems that we consider, this is the first time they have been solved on graphs at this scale. We have made the implementations developed in this work publicly-available as the Graph-Based Benchmark Suite (GBBS).Comment: This is the full version of the paper appearing in the ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), 201

    Optimal Energetic Paths for Electric Cars

    Get PDF

    Optimal energetic paths for electric cars

    Full text link
    A weighted directed graph G=(V,A,c)G=(V,A,c), where A⊆V×VA\subseteq V\times V and c:A→Rc:A\to R, describes a road network in which an electric car can roam. An arc uvuv models a road segment connecting the two vertices uu and vv. The cost c(uv)c(uv) of an arc uvuv is the amount of energy the car needs to traverse the arc. This amount may be positive, zero or negative. To make the problem realistic, we assume there are no negative cycles. The car has a battery that can store up to BB units of energy. It can traverse an arc uv∈Auv\in A only if it is at uu and the charge bb in its battery satisfies b≄c(uv)b\ge c(uv). If it traverses the arc, it reaches vv with a charge of min⁥(b−c(uv),B)\min(b-c(uv),B). Arcs with positive costs deplete the battery, arcs with negative costs charge the battery, but not above its capacity of BB. Given s,t∈Vs,t\in V, can the car travel from ss to tt, starting at ss with an initial charge bb, where 0≀b≀B0\le b\le B? If so, what is the maximum charge with which the car can reach tt? Equivalently, what is the smallest ÎŽB,b(s,t)\delta_{B,b}(s,t) such that the car can reach tt with a charge of b−ήB,b(s,t)b-\delta_{B,b}(s,t), and which path should the car follow to achieve this? We refer to ÎŽB,b(s,t)\delta_{B,b}(s,t) as the energetic cost of traveling from ss to tt. We let ÎŽB,b(s,t)=∞\delta_{B,b}(s,t)=\infty if the car cannot travel from ss to tt starting with an initial charge of bb. The problem of computing energetic costs is a strict generalization of the standard shortest paths problem. We show that the single-source minimum energetic paths problem can be solved using simple, but subtle, adaptations of the Bellman-Ford and Dijkstra algorithms. To make Dijkstra's algorithm work in the presence of negative arcs, but no negative cycles, we use a variant of the A∗A^* search heuristic. These results are explicit or implicit in some previous papers. We provide a simpler and unified description of these algorithms.Comment: 11 page

    Privaatsust sĂ€ilitavad paralleelarvutused graafiĂŒlesannete jaoks

    Get PDF
    Turvalisel mitmeosalisel arvutusel pĂ”hinevate reaalsete privaatsusrakenduste loomine on SMC-protokolli arvutusosaliste ĂŒmmarguse keerukuse tĂ”ttu keeruline. Privaatsust sĂ€ilitavate tehnoloogiate uudsuse ja nende probleemidega kaasnevate suurte arvutuskulude tĂ”ttu ei ole paralleelseid privaatsust sĂ€ilitavaid graafikualgoritme veel uuritud. Graafikalgoritmid on paljude arvutiteaduse rakenduste selgroog, nagu navigatsioonisĂŒsteemid, kogukonna tuvastamine, tarneahela vĂ”rk, hĂŒperspektraalne kujutis ja hĂ”redad lineaarsed lahendajad. Graafikalgoritmide suurte privaatsete andmekogumite töötlemise kiirendamiseks ja kĂ”rgetasemeliste arvutusnĂ”uete tĂ€itmiseks on vaja privaatsust sĂ€ilitavaid paralleelseid algoritme. SeetĂ”ttu esitleb kĂ€esolev lĂ”putöö tipptasemel protokolle privaatsuse sĂ€ilitamise paralleelarvutustes erinevate graafikuprobleemide jaoks, ĂŒhe allika lĂŒhima tee, kĂ”igi paaride lĂŒhima tee, minimaalse ulatuva puu ja metsa ning algebralise tee arvutamise. Need uued protokollid on ĂŒles ehitatud kombinatoorsete ja algebraliste graafikualgoritmide pĂ”hjal lisaks SMC protokollidele. Nende protokollide koostamiseks kasutatakse ka ĂŒhe kĂ€suga mitut andmeoperatsiooni, et vooru keerukust tĂ”husalt vĂ€hendada. Oleme vĂ€ljapakutud protokollid juurutanud Sharemind SMC platvormil, kasutades erinevaid graafikuid ja vĂ”rgukeskkondi. Selles lĂ”putöös kirjeldatakse uudseid paralleelprotokolle koos nendega seotud algoritmide, tulemuste, kiirendamise, hindamiste ja ulatusliku vĂ”rdlusuuringuga. Privaatsust sĂ€ilitavate ĂŒhe allika lĂŒhimate teede ja minimaalse ulatusega puuprotokollide tegelike juurutuste tulemused nĂ€itavad tĂ”husat meetodit, mis vĂ€hendas tööaega vĂ”rreldes varasemate töödega sadu kordi. Lisaks ei ole privaatsust sĂ€ilitavate kĂ”igi paaride lĂŒhima tee protokollide hindamine ja ulatuslik vĂ”rdlusuuringud sarnased ĂŒhegi varasema tööga. Lisaks pole kunagi varem kĂ€sitletud privaatsust sĂ€ilitavaid metsa ja algebralise tee arvutamise protokolle.Constructing real-world privacy applications based on secure multiparty computation is challenging due to the round complexity of the computation parties of SMC protocol. Due to the novelty of privacy-preserving technologies and the high computational costs associated with these problems, parallel privacy-preserving graph algorithms have not yet been studied. Graph algorithms are the backbone of many applications in computer science, such as navigation systems, community detection, supply chain network, hyperspectral image, and sparse linear solvers. In order to expedite the processing of large private data sets for graphs algorithms and meet high-end computational demands, privacy-preserving parallel algorithms are needed. Therefore, this Thesis presents the state-of-the-art protocols in privacy-preserving parallel computations for different graphs problems, single-source shortest path (SSSP), All-pairs shortest path (APSP), minimum spanning tree (MST) and forest (MSF), and algebraic path computation. These new protocols have been constructed based on combinatorial and algebraic graph algorithms on top of the SMC protocols. Single-instruction-multiple-data (SIMD) operations are also used to build those protocols to reduce the round complexities efficiently. We have implemented the proposed protocols on the Sharemind SMC platform using various graphs and network environments. This Thesis outlines novel parallel protocols with their related algorithms, the results, speed-up, evaluations, and extensive benchmarking. The results of the real implementations of the privacy-preserving single-source shortest paths and minimum spanning tree protocols show an efficient method that reduced the running time hundreds of times compared with previous works. Furthermore, the evaluation and extensive benchmarking of privacy-preserving All-pairs shortest path protocols are not similar to any previous work. Moreover, the privacy-preserving minimum spanning forest and algebraic path computation protocols have never been addressed before.https://www.ester.ee/record=b555865

    Parallel Metric Tree Embedding based on an Algebraic View on Moore-Bellman-Ford

    Full text link
    A \emph{metric tree embedding} of expected \emph{stretch~α≄1\alpha \geq 1} maps a weighted nn-node graph G=(V,E,ω)G = (V, E, \omega) to a weighted tree T=(VT,ET,ωT)T = (V_T, E_T, \omega_T) with V⊆VTV \subseteq V_T such that, for all v,w∈Vv,w \in V, dist⁥(v,w,G)≀dist⁥(v,w,T)\operatorname{dist}(v, w, G) \leq \operatorname{dist}(v, w, T) and operatornameE[dist⁥(v,w,T)]≀αdist⁥(v,w,G)operatorname{E}[\operatorname{dist}(v, w, T)] \leq \alpha \operatorname{dist}(v, w, G). Such embeddings are highly useful for designing fast approximation algorithms, as many hard problems are easy to solve on tree instances. However, to date the best parallel (polylog⁥n)(\operatorname{polylog} n)-depth algorithm that achieves an asymptotically optimal expected stretch of α∈O⁥(log⁥n)\alpha \in \operatorname{O}(\log n) requires Ω⁥(n2)\operatorname{\Omega}(n^2) work and a metric as input. In this paper, we show how to achieve the same guarantees using polylog⁥n\operatorname{polylog} n depth and O~⁥(m1+Ï”)\operatorname{\tilde{O}}(m^{1+\epsilon}) work, where m=∣E∣m = |E| and Ï”>0\epsilon > 0 is an arbitrarily small constant. Moreover, one may further reduce the work to O~⁥(m+n1+Ï”)\operatorname{\tilde{O}}(m + n^{1+\epsilon}) at the expense of increasing the expected stretch to O⁥(ϔ−1log⁥n)\operatorname{O}(\epsilon^{-1} \log n). Our main tool in deriving these parallel algorithms is an algebraic characterization of a generalization of the classic Moore-Bellman-Ford algorithm. We consider this framework, which subsumes a variety of previous "Moore-Bellman-Ford-like" algorithms, to be of independent interest and discuss it in depth. In our tree embedding algorithm, we leverage it for providing efficient query access to an approximate metric that allows sampling the tree using polylog⁥n\operatorname{polylog} n depth and O~⁥(m)\operatorname{\tilde{O}}(m) work. We illustrate the generality and versatility of our techniques by various examples and a number of additional results

    Efficient Parallel Implementation of the Ramalingam Decremental Algorithm for Updating the Shortest Paths Subgraph

    Get PDF
    We propose an efficient parallel implementation of the Ramalingam algorithm for dynamic updating the shortest paths subgraph of a directed weighted graph with a sink after deletion of an edge. To this end, a model of associative (content addressable) parallel systems with vertical processing (the STAR-machine) is used. On the STAR-machine, the Ramalingam decremental algorithm for dynamic updating the shortest paths subgraph is represented as the main procedure DeleteArc that uses a group of auxiliary procedures. We provide the DeleteArc procedure along with the auxiliary procedures, prove correctness of these procedures and evaluate the time complexity. We also consider an example of implementing the DeleteArc procedure on the STAR-machine

    Design and analysis of sequential and parallel single-source shortest-paths algorithms

    Get PDF
    We study the performance of algorithms for the Single-Source Shortest-Paths (SSSP) problem on graphs with n nodes and m edges with nonnegative random weights. All previously known SSSP algorithms for directed graphs required superlinear time. Wie give the first SSSP algorithms that provably achieve linear O(n-m)average-case execution time on arbitrary directed graphs with random edge weights. For independent edge weights, the linear-time bound holds with high probability, too. Additionally, our result implies improved average-case bounds for the All-Pairs Shortest-Paths (APSP) problem on sparse graphs, and it yields the first theoretical average-case analysis for the "Approximate Bucket Implementation" of Dijkstra\u27s SSSP algorithm (ABI-Dijkstra). Futhermore, we give constructive proofs for the existence of graph classes with random edge weights on which ABI-Dijkstra and several other well-known SSSP algorithms require superlinear average-case time. Besides the classical sequential (single processor) model of computation we also consider parallel computing: we give the currently fastest average-case linear-work parallel SSSP algorithms for large graph classes with random edge weights, e.g., sparse rondom graphs and graphs modeling the WWW, telephone calls or social networks.In dieser Arbeit untersuchen wir die Laufzeiten von Algorithmen fĂŒr das KĂŒrzeste-Wege Problem (Single-Source Shortest-Paths, SSSP) auf Graphen mit n Knoten, M Kanten und nichtnegativen zufĂ€lligen Kantengewichten. Alle bisherigen SSSP Algorithmen benötigen auf gerichteten Graphen superlineare Zeit. Wir stellen den ersten SSSP Algorithmus vor, der auf beliebigen gerichteten Graphen mit zufĂ€lligen Kantengewichten eine beweisbar lineare average-case-KomplexitĂ€t O(n+m)aufweist. Sind die Kantengewichte unabhĂ€ngig, so wird die lineare Zeitschranke auch mit hoher Wahrscheinlichkeit eingehalten. Außerdem impliziert unser Ergebnis verbesserte average-case-Schranken fĂŒr das All-Pairs Shortest-Paths (APSP) Problem auf dĂŒnnen Graphen und liefert die erste theoretische average-case-Analyse fĂŒr die "Approximate Bucket Implementierung" von Dijkstras SSSP Algorithmus (ABI-Dijkstra). Weiterhin fĂŒhren wir konstruktive Existenzbeweise fĂŒr Graphklassen mit zufĂ€lligen Kantengewichten, auf denen ABI-Dijkstra und mehrere andere bekannte SSSP Algorithmen durchschnittlich superlineare Zeit benötigen. Neben dem klassischen seriellen (Ein-Prozessor) Berechnungsmodell betrachten wir auch Parallelverarbeitung; fĂŒr umfangreiche Graphklassen mit zufĂ€lligen Kantengewichten wie z.B. dĂŒnne Zufallsgraphen oder Modelle fĂŒr das WWW, Telefonanrufe oder soziale Netzwerke stellen wir die derzeit schnellsten parallelen SSSP Algorithmen mit durchschnittlich linearer Arbeit vor
    • 

    corecore