93 research outputs found

    Parallel Merging and Sorting on Linked List

    Get PDF
    We study linked list sorting and merging on the PRAM model. In this paper we show that n real numbers can be sorted into a linked list in constant time with n2+e processors or in ) time with n2 processors. We also show that two sorted linked lists of n integers in {0, 1, ā€¦, m}Ā  can be merged into one sorted linked list in O(log(c)n(loglogm)1/2) time using n/(log(c)n(loglogm)1/2) Ā processors, where c is an arbitrarily large constant

    An Arbitrary CRCW PRAM Algorithm for Sorting Integers Into a LinkedList and Chaining on a Trie

    Get PDF
    Title from PDF of title page viewed June 1, 2020Thesis advisor: Yijie HanVitaIncludes bibliographical references (pages 22-23)Thesis (M.S.)--School of Computing and Engineering. University of Missouri--Kansas City, 2020The research work comprises of two parts. Part one is using an Arbitrary CRCW PRAM algorithm for sorting integers into a linked list. There are various algorithms and techniques to sort the integers in LinkedList. Arbitrary CRCW PRAM model, being the weakest model is able to sort n integers in a LinkedList in ā€œconstant timeā€ using nlogm processors and if we use nt processors, then it can be sorted in O(loglogm/logt) time by converting Arbitrary CRCW PRAM model to Priority CRCW PRAM model. Part two is Chaining on a Trie. This research paper solves the problem of chaining on a Trie by providing more efficient complexity. This Algorithm takes ā€œconstant timeā€ using n(logm+1) processors to chain the nodes on a Trie for n input integers on the Arbitrary CRCW PRAM model.Introduction -- Sort integers into a linked list -- Chaining on a Trie --Conclusio

    Efficient Circuit Simulation in MapReduce

    Get PDF
    The MapReduce framework has firmly established itself as one of the most widely used parallel computing platforms for processing big data on tera- and peta-byte scale. Approaching it from a theoretical standpoint has proved to be notoriously difficult, however. In continuation of Goodrich et al.\u27s early efforts, explicitly espousing the goal of putting the MapReduce framework on footing equal to that of long-established models such as the PRAM, we investigate the obvious complexity question of how the computational power of MapReduce algorithms compares to that of combinational Boolean circuits commonly used for parallel computations. Relying on the standard MapReduce model introduced by Karloff et al. a decade ago, we develop an intricate simulation technique to show that any problem in NC (i.e., a problem solved by a logspace-uniform family of Boolean circuits of polynomial size and a depth polylogarithmic in the input size) can be solved by a MapReduce computation in O(T(n)/log n) rounds, where n is the input size and T(n) is the depth of the witnessing circuit family. Thus, we are able to closely relate the standard, uniform NC hierarchy modeling parallel computations to the deterministic MapReduce hierarchy DMRC by proving that NC^{i+1} subseteq DMRC^i for all i in N. Besides the theoretical significance, this result has important applied aspects as well. In particular, we show for all problems in NC^1 - many practically relevant ones, such as integer multiplication and division and the parity function, being among these - how to solve them in a constant number of deterministic MapReduce rounds

    Shared memory with hidden latency on a family of mesh-like networks

    Get PDF

    Fast Parallel Algorithms for Basic Problems

    Get PDF
    Parallel processing is one of the most active research areas these days. We are interested in one aspect of parallel processing, i.e. the design and analysis of parallel algorithms. Here, we focus on non-numerical parallel algorithms for basic combinatorial problems, such as data structures, selection, searching, merging and sorting. The purposes of studying these types of problems are to obtain basic building blocks which will be useful in solving complex problems, and to develop fundamental algorithmic techniques. In this thesis, we study the following problems: priority queues, multiple search and multiple selection, and reconstruction of a binary tree from its traversals. The research on priority queue was motivated by its various applications. The purpose of studying multiple search and multiple selection is to explore the relationships between four of the most fundamental problems in algorithm design, that is, selection, searching, merging and sorting; while our parallel solutions can be used as subroutines in algorithms for other problems. The research on the last problem, reconstruction of a binary tree from its traversals, was stimulated by a challenge proposed in a recent paper by Berkman et al. ( Highly Parallelizable Problems, STOC 89) to design doubly logarithmic time optimal parallel algorithms because a remarkably small number of such parallel algorithms exist

    Work-Efficient Query Evaluation with PRAMs

    Get PDF
    The paper studies query evaluation in parallel constant time in the PRAM model. While it is well-known that all relational algebra queries can be evaluated in constant time on an appropriate CRCW-PRAM, this paper is interested in the efficiency of evaluation algorithms, that is, in the number of processors or, asymptotically equivalent, in the work. Naive evaluation in the parallel setting results in huge (polynomial) bounds on the work of such algorithms and in presentations of the result sets that can be extremely scattered in memory. The paper first discusses some obstacles for constant time PRAM query evaluation. It presents algorithms for relational operators that are considerably more efficient than the naive approaches. Further it explores three settings, in which efficient sequential query evaluation algorithms exist: acyclic queries, semi-join algebra queries, and join queries - the latter in the worst-case optimal framework. Under natural assumptions on the representation of the database, the work of the given algorithms matches the best sequential algorithms in the case of semi-join queries, and it comes close in the other two settings. An important tool is the compaction technique from Hagerup (1992)

    Optimal broadcast on parallel locality models

    Get PDF
    AbstractIn this paper matching upper and lower bounds for broadcast on general purpose parallel computation models that exploit network locality are proven. These models try to capture both the general purpose properties of models like the PRAM or BSP on the one hand, and to exploit network locality of special purpose models like meshes, hypercubes, etc., on the other hand. They do so by charging a cost l(|iāˆ’j|) for a communication between processors i and j, where l is a suitably chosen latency function.An upper bound T(p)=āˆ‘i=0loglogp2iĀ·l(p1/2i) on the runtime of a broadcast on a pĀ processor H-PRAM is given, for an arbitrary latency function l(k).The main contribution of the paper is a matching lower bound, holding for all latency functions in the range from l(k)=Ī©(logk/loglogk) to l(k)=O(log2k). This is not a severe restriction since for latency functions l(k)=O(logk/log1+Īµlog(k)) with arbitrary Īµ>0, the runtime of the algorithm matches the trivial lower bound Ī©(logp) and for l(k)=Ī˜(log1+Īµk) or l(k)=Ī˜(kĪµ), the runtime matches the other trivial lower bound Ī©(l(p)). Both upper and lower bounds apply for other parallel locality models like Y-PRAM, D-BSP and E-BSP, too

    Fast Parallel Deterministic and Randomized Algorithms for Model Checking

    Get PDF
    Model checking is a powerful technique for verification of concurrent systems. One of the potential problems with this technique is state space explosion. There are two ways in which one could cope with state explosion: reducing the search space and searching less space. Most of the existing algorithms are based on the first approach. One of the successful approach for reducing search space uses Binary Decision Diagrams (BDDs) to represent the system. Systems with a large number of states (of the order of 5 x 10 ) have been thus verified. But there are limitations to this heuristic approach. Even systems of reasonable complexity have many more states. Also, the BDD approach might fail even on some simple systems. In this paper we propose the use of parallelism to extend the applicability of BDDs in model checking. In particular we present very fast algorithms for model checking that employ BDDs. The algorithms presented are much faster than the best known previous algorithms. We also describe searching less space as an attractive approach to model checking. In this paper we demonstrate the power of this approach. We also suggest the use of randomization in the design of model checking algorithms
    • ā€¦
    corecore