The Experts below are selected from a list of 324 Experts worldwide ranked by ideXlab platform

Fredrik Manne - One of the best experts on this subject based on the ideXlab platform.

  • multi core spanning forest algorithms using the Disjoint Set data structure
    International Parallel and Distributed Processing Symposium, 2012
    Co-Authors: Md Shahadath Hossain Patwary, Peder Refsnes, Fredrik Manne
    Abstract:

    We present new multi-core algorithms for computing spanning forests and connected components of large sparse graphs. The algorithms are based on the use of the Disjoint-Set data structure. When compared with the previous best algorithms for these problems our algorithms are appealing for several reasons: Extensive experiments using up to 40 threads on several different types of graphs show that they scale better. Also, the new algorithms do not make use of any hardware specific routines, and thus are highly portable. Finally, the algorithms are quite simple and easy to implement.

  • A new scalable parallel DBSCAN algorithm using the Disjoint-Set data structure
    International Conference for High Performance Computing Networking Storage and Analysis SC, 2012
    Co-Authors: Md Shahadath Hossain Patwary, Diana Palsetia, Wei-keng Liao, Fredrik Manne, Ankit Agrawal, Alok Choudhary
    Abstract:

    DBSCAN is a well-known density based clustering algorithm capable of discovering arbitrary shaped clusters and eliminating noise data. However, parallelization of Dbscan is challenging as it exhibits an inherent sequential data access order. Moreover, existing parallel implementations adopt a master-slave strategy which can easily cause an unbalanced workload and hence result in low parallel efficiency. We present a new parallel Dbscan algorithm (Pdsdbscan) using graph algorithmic concepts. More specifically, we employ the Disjoint-Set data structure to break the access sequentiality of Dbscan. In addition, we use a tree-based bottom-up approach to construct the clusters. This yields a better-balanced workload distribution. We implement the algorithm both for shared and for distributed memory. Using data Sets containing up to several hundred million high-dimensional points, we show that Pdsdbscan significantly outperforms the master-slave approach, achieving speedups up to 25.97 using 40 cores on shared memory architecture, and speedups up to 5,765 using 8,192 cores on distributed memory architecture.

  • IPDPS - Multi-core Spanning Forest Algorithms using the Disjoint-Set Data Structure
    2012 IEEE 26th International Parallel and Distributed Processing Symposium, 2012
    Co-Authors: Md Shahadath Hossain Patwary, Peder Refsnes, Fredrik Manne
    Abstract:

    We present new multi-core algorithms for computing spanning forests and connected components of large sparse graphs. The algorithms are based on the use of the Disjoint-Set data structure. When compared with the previous best algorithms for these problems our algorithms are appealing for several reasons: Extensive experiments using up to 40 threads on several different types of graphs show that they scale better. Also, the new algorithms do not make use of any hardware specific routines, and thus are highly portable. Finally, the algorithms are quite simple and easy to implement.

  • Experiments on union-find algorithms for the Disjoint-Set data structure
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2010
    Co-Authors: Md Shahadath Hossain Patwary, Jean Blair, Fredrik Manne
    Abstract:

    The Disjoint-Set data structure is used to maintain a collection of non-overlapping Sets of elements from a finite universe. Algorithms that operate on this data structure are often referred to as Union-Find algorithms. They are used in numerous practical applications and are also available in several software libraries. This paper presents an extensive experimental study comparing the time required to execute 55 variations of Union-Find algorithms. The study includes all the classical algorithms, several recently suggested enhancements, and also different combinations and optimizations of these. Our results clearly show that a somewhat forgotten simple algorithm developed by Rem in 1976 is the fastest, in spite of the fact that its worst-case time complexity is inferior to that of the commonly accepted “best” algorithms.

  • SEA - Experiments on union-find algorithms for the Disjoint-Set data structure
    Experimental Algorithms, 2010
    Co-Authors: Mostofa Ali Patwary, Jean R. S. Blair, Fredrik Manne
    Abstract:

    The Disjoint-Set data structure is used to maintain a collection of non-overlapping Sets of elements from a finite universe. Algorithms that operate on this data structure are often referred to as Union-Find algorithms. They are used in numerous practical applications and are also available in several software libraries. This paper presents an extensive experimental study comparing the time required to execute 55 variations of Union-Find algorithms. The study includes all the classical algorithms, several recently suggested enhancements, and also different combinations and optimizations of these. Our results clearly show that a somewhat forgotten simple algorithm developed by Rem in 1976 is the fastest, in spite of the fact that its worst-case time complexity is inferior to that of the commonly accepted “best” algorithms.

Md Shahadath Hossain Patwary - One of the best experts on this subject based on the ideXlab platform.

  • multi core spanning forest algorithms using the Disjoint Set data structure
    International Parallel and Distributed Processing Symposium, 2012
    Co-Authors: Md Shahadath Hossain Patwary, Peder Refsnes, Fredrik Manne
    Abstract:

    We present new multi-core algorithms for computing spanning forests and connected components of large sparse graphs. The algorithms are based on the use of the Disjoint-Set data structure. When compared with the previous best algorithms for these problems our algorithms are appealing for several reasons: Extensive experiments using up to 40 threads on several different types of graphs show that they scale better. Also, the new algorithms do not make use of any hardware specific routines, and thus are highly portable. Finally, the algorithms are quite simple and easy to implement.

  • A new scalable parallel DBSCAN algorithm using the Disjoint-Set data structure
    International Conference for High Performance Computing Networking Storage and Analysis SC, 2012
    Co-Authors: Md Shahadath Hossain Patwary, Diana Palsetia, Wei-keng Liao, Fredrik Manne, Ankit Agrawal, Alok Choudhary
    Abstract:

    DBSCAN is a well-known density based clustering algorithm capable of discovering arbitrary shaped clusters and eliminating noise data. However, parallelization of Dbscan is challenging as it exhibits an inherent sequential data access order. Moreover, existing parallel implementations adopt a master-slave strategy which can easily cause an unbalanced workload and hence result in low parallel efficiency. We present a new parallel Dbscan algorithm (Pdsdbscan) using graph algorithmic concepts. More specifically, we employ the Disjoint-Set data structure to break the access sequentiality of Dbscan. In addition, we use a tree-based bottom-up approach to construct the clusters. This yields a better-balanced workload distribution. We implement the algorithm both for shared and for distributed memory. Using data Sets containing up to several hundred million high-dimensional points, we show that Pdsdbscan significantly outperforms the master-slave approach, achieving speedups up to 25.97 using 40 cores on shared memory architecture, and speedups up to 5,765 using 8,192 cores on distributed memory architecture.

  • IPDPS - Multi-core Spanning Forest Algorithms using the Disjoint-Set Data Structure
    2012 IEEE 26th International Parallel and Distributed Processing Symposium, 2012
    Co-Authors: Md Shahadath Hossain Patwary, Peder Refsnes, Fredrik Manne
    Abstract:

    We present new multi-core algorithms for computing spanning forests and connected components of large sparse graphs. The algorithms are based on the use of the Disjoint-Set data structure. When compared with the previous best algorithms for these problems our algorithms are appealing for several reasons: Extensive experiments using up to 40 threads on several different types of graphs show that they scale better. Also, the new algorithms do not make use of any hardware specific routines, and thus are highly portable. Finally, the algorithms are quite simple and easy to implement.

  • Experiments on union-find algorithms for the Disjoint-Set data structure
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2010
    Co-Authors: Md Shahadath Hossain Patwary, Jean Blair, Fredrik Manne
    Abstract:

    The Disjoint-Set data structure is used to maintain a collection of non-overlapping Sets of elements from a finite universe. Algorithms that operate on this data structure are often referred to as Union-Find algorithms. They are used in numerous practical applications and are also available in several software libraries. This paper presents an extensive experimental study comparing the time required to execute 55 variations of Union-Find algorithms. The study includes all the classical algorithms, several recently suggested enhancements, and also different combinations and optimizations of these. Our results clearly show that a somewhat forgotten simple algorithm developed by Rem in 1976 is the fastest, in spite of the fact that its worst-case time complexity is inferior to that of the commonly accepted “best” algorithms.

Andrew Miller - One of the best experts on this subject based on the ideXlab platform.

  • Finding dominators via Disjoint Set union
    Journal of Discrete Algorithms, 2013
    Co-Authors: Wojciech Fraczak, Loukas Georgiadis, Andrew Miller, Robert E. Tarjan
    Abstract:

    The problem of finding dominators in a directed graph has many important applications, notably in global optimization of computer code. Although linear and near-linear-time algorithms exist, they use sophisticated data structures. We develop an algorithm for finding dominators that uses only a ''static tree'' Disjoint Set data structure in addition to simple lists and maps. The algorithm runs in near-linear or linear time, depending on the implementation of the Disjoint Set data structure. We give several versions of the algorithm, including one that computes loop nesting information (needed in many kinds of global code optimization) and that can be made self-certifying, so that the correctness of the computed dominators is very easy to verify.

  • Disjoint Set forest digraph representation for an efficient dominator tree construction
    International Workshop on Combinatorial Algorithms, 2012
    Co-Authors: Wojciech Fraczak, Andrew Miller
    Abstract:

    We consider a non-orthodox representation of directed graphs which uses the “Disjoint Set forest” data structure. We show how such a representation can be used in order to efficiently find the dominator tree. Even though the performance of our algorithm does not improve over the already known algorithms for constructing the dominator tree, the approach is new and it gives place to a highly structured and simple to follow proof of correctness.

  • IWOCA - Disjoint Set Forest Digraph Representation for an Efficient Dominator Tree Construction
    Lecture Notes in Computer Science, 2012
    Co-Authors: Wojciech Fraczak, Andrew Miller
    Abstract:

    We consider a non-orthodox representation of directed graphs which uses the “Disjoint Set forest” data structure. We show how such a representation can be used in order to efficiently find the dominator tree. Even though the performance of our algorithm does not improve over the already known algorithms for constructing the dominator tree, the approach is new and it gives place to a highly structured and simple to follow proof of correctness.

Robert E. Tarjan - One of the best experts on this subject based on the ideXlab platform.

  • Concurrent Disjoint Set union
    Distributed Computing, 2021
    Co-Authors: Siddhartha V. Jayanti, Robert E. Tarjan
    Abstract:

    We develop and analyze concurrent algorithms for the Disjoint Set union (“union-find” ) problem in the shared memory, asynchronous multiprocessor model of computation, with CAS (compare and swap) or DCAS (double compare and swap) as the synchronization primitive. We give a deterministic bounded wait-free algorithm that uses DCAS and has a total work bound of $$O\biggl ( m \cdot \left( \log {\left( \frac{np}{m} + 1 \right) } + \alpha {\left( n, \frac{m}{np} \right) } \right) \biggr )$$ O ( m · log np m + 1 + α n , m np ) for a problem with n elements and m operations solved by p processes, where $$\alpha $$ α is a functional inverse of Ackermann’s function. We give two randomized algorithms that use only CAS and have the same work bound in expectation. The analysis of the second randomized algorithm is valid even if the scheduler is adversarial. Our DCAS and randomized algorithms take $$O(\log n)$$ O ( log n ) steps per operation, worst-case for the DCAS algorithm, high-probability for the randomized algorithms. Our work and step bounds grow only logarithmically with p , making our algorithms truly scalable. We prove that for a class of symmetric algorithms that includes ours, no better step or work bound is possible. Our work is theoretical, but Alistarh et al (In search of the fastest concurrent union-find algorithm, 2019), Dhulipala et al (A framework for static and incremental parallel graph connectivity algorithms, 2020) and Hong et al (Exploring the design space of static and incremental graph connectivity algorithms on gpus, 2020) have implemented some of our algorithms on CPUs and GPUs and experimented with them. On many realistic data Sets, our algorithms run as fast or faster than all others.

  • Concurrent Disjoint Set Union.
    arXiv: Distributed Parallel and Cluster Computing, 2020
    Co-Authors: Siddhartha Jayanti, Robert E. Tarjan
    Abstract:

    We develop and analyze concurrent algorithms for the Disjoint Set union (union-find) problem in the shared memory, asynchronous multiprocessor model of computation, with CAS (compare and swap) or DCAS (double compare and swap) as the synchronization primitive. We give a deterministic bounded wait-free algorithm that uses DCAS and has a total work bound of $O(m \cdot (\log(np/m + 1) + \alpha(n, m/(np)))$ for a problem with $n$ elements and $m$ operations solved by $p$ processes, where $\alpha$ is a functional inverse of Ackermann's function. We give two randomized algorithms that use only CAS and have the same work bound in expectation. The analysis of the second randomized algorithm is valid even if the scheduler is adversarial. Our DCAS and randomized algorithms take $O(\log n)$ steps per operation, worst-case for the DCAS algorithm, high-probability for the randomized algorithms. Our work and step bounds grow only logarithmically with $p$, making our algorithms truly scalable. We prove that for a class of symmetric algorithms that includes ours, no better step or work bound is possible.

  • a randomized concurrent algorithm for Disjoint Set union
    arXiv: Distributed Parallel and Cluster Computing, 2016
    Co-Authors: Siddhartha V. Jayanti, Robert E. Tarjan
    Abstract:

    The Disjoint Set union problem is a basic problem in data structures with a wide variety of applications. We extend a known efficient sequential algorithm for this problem to obtain a simple and efficient concurrent wait-free algorithm running on an asynchronous parallel random access machine (APRAM). Crucial to our result is the use of randomization. Under a certain independence assumption, for a problem instance in which there are n elements, m operations, and p processes, our algorithm does Theta(m (alpha(n, m/(np)) + log(np/m + 1))) expected work, where the expectation is over the random choices made by the algorithm and alpha is a functional inverse of Ackermann's function. In addition, each operation takes O(log n) steps with high probability. Our algorithm is significantly simpler and more efficient than previous algorithms proposed by Anderson and Woll. Under our independence assumption, our algorithm achieves almost-linear speed-up for applications in which all or most of the processes can be kept busy.

  • a randomized concurrent algorithm for Disjoint Set union
    Principles of Distributed Computing, 2016
    Co-Authors: Siddhartha V. Jayanti, Robert E. Tarjan
    Abstract:

    Disjoint Set union is a basic problem in data structures with a wide variety of applications. We extend a known efficient sequential algorithm for this problem to obtain a simple and efficient concurrent wait-free algorithm running on an asynchronous parallel random access machine (APRAM). Crucial to our result is the use of randomization. Under a certain independence assumption, for a problem instance in which there are n elements, m operations, and l processes, our algorithm does θ(m (α{n, m/nl) + log (nl/m + 1 ))) expected work, where the expectation is over the random choices made by the algorithm and α is a functional inverse of Ackermann's function. In addition, each operation takes O(log n) steps with high probability. We point out some gaps in the earlier work on this problem by Anderson and Woll [1]. More importantly, our algorithm is significantly simpler than theirs. Finally, under our independence assumption our algorithm achieves speedup close to linear for applications in which all or most of the processes can be kept busy, thereby partially answering an open problem posed by them.

  • PODC - A Randomized Concurrent Algorithm for Disjoint Set Union
    Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing, 2016
    Co-Authors: Siddhartha Jayanti, Robert E. Tarjan
    Abstract:

    Disjoint Set union is a basic problem in data structures with a wide variety of applications. We extend a known efficient sequential algorithm for this problem to obtain a simple and efficient concurrent wait-free algorithm running on an asynchronous parallel random access machine (APRAM). Crucial to our result is the use of randomization. Under a certain independence assumption, for a problem instance in which there are n elements, m operations, and l processes, our algorithm does θ(m (α{n, m/nl) + log (nl/m + 1 ))) expected work, where the expectation is over the random choices made by the algorithm and α is a functional inverse of Ackermann's function. In addition, each operation takes O(log n) steps with high probability. We point out some gaps in the earlier work on this problem by Anderson and Woll [1]. More importantly, our algorithm is significantly simpler than theirs. Finally, under our independence assumption our algorithm achieves speedup close to linear for applications in which all or most of the processes can be kept busy, thereby partially answering an open problem posed by them.

Wojciech Fraczak - One of the best experts on this subject based on the ideXlab platform.

  • Finding dominators via Disjoint Set union
    Journal of Discrete Algorithms, 2013
    Co-Authors: Wojciech Fraczak, Loukas Georgiadis, Andrew Miller, Robert E. Tarjan
    Abstract:

    The problem of finding dominators in a directed graph has many important applications, notably in global optimization of computer code. Although linear and near-linear-time algorithms exist, they use sophisticated data structures. We develop an algorithm for finding dominators that uses only a ''static tree'' Disjoint Set data structure in addition to simple lists and maps. The algorithm runs in near-linear or linear time, depending on the implementation of the Disjoint Set data structure. We give several versions of the algorithm, including one that computes loop nesting information (needed in many kinds of global code optimization) and that can be made self-certifying, so that the correctness of the computed dominators is very easy to verify.

  • Disjoint Set forest digraph representation for an efficient dominator tree construction
    International Workshop on Combinatorial Algorithms, 2012
    Co-Authors: Wojciech Fraczak, Andrew Miller
    Abstract:

    We consider a non-orthodox representation of directed graphs which uses the “Disjoint Set forest” data structure. We show how such a representation can be used in order to efficiently find the dominator tree. Even though the performance of our algorithm does not improve over the already known algorithms for constructing the dominator tree, the approach is new and it gives place to a highly structured and simple to follow proof of correctness.

  • IWOCA - Disjoint Set Forest Digraph Representation for an Efficient Dominator Tree Construction
    Lecture Notes in Computer Science, 2012
    Co-Authors: Wojciech Fraczak, Andrew Miller
    Abstract:

    We consider a non-orthodox representation of directed graphs which uses the “Disjoint Set forest” data structure. We show how such a representation can be used in order to efficiently find the dominator tree. Even though the performance of our algorithm does not improve over the already known algorithms for constructing the dominator tree, the approach is new and it gives place to a highly structured and simple to follow proof of correctness.