25 research outputs found

    Efficient weighted multiselection in parallel architectures

    Get PDF
    ©2002 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.We study parallel solutions to the problem of weighted multiselection to select r elements on given weighted-ranks from a set S of n weighted elements, where an element is on weighted rank k if it is the smallest element such that the aggregated weight of all elements not greater than it in S is not smaller than k. We propose efficient algorithms on two of the most popular parallel architectures, hypercube and mesh. For a hypercube with p < n processors, we present a parallel algorithm running in 0(n^\varepsilon \min \{ r,\log p\} ) time for p = n^{1 - \varepsilon } ,0 < \varepsilon < 1 which is cost optimal when r \geqslant p. Our algorithm on \sqrt p \times \sqrt p mesh runs in 0(\sqrt p + \frac{n}{p}\log ^3 p) time which is the same as multiselection on mesh when r \geqslant \log p, and thus has the same optimality as multiselection in this case

    A Randomized Algorithm for Multiselection

    Get PDF

    Optimal Prefix Free Codes with Partial Sorting

    Get PDF
    We describe an algorithm computing an optimal prefix free code for n unsorted positive weights in less time than required to sort them on many large classes of instances, identified by a new measure of difficulty for this problem, the alternation alpha. This asymptotical complexity is within a constant factor of the optimal in the algebraic decision tree computational model, in the worst case over all instances of fixed size n and alternation alpha. Such results refine the state of the art complexity in the worst case over instances of size n in the same computational model, a landmark in compression and coding since 1952, by the mere combination of van Leeuwen\u27s algorithm to compute optimal prefix free codes from sorted weights (known since 1976), with Deferred Data Structures to partially sort multisets (known since 1988)

    Searching the solution space in constructive geometric constraint solving with genetic algorithms

    Get PDF
    Geometric problems defined by constraints have an exponential number of solution instances in the number of geometric elements involved. Generally, the user is only interested in one instance such that besides fulfilling the geometric constraints, exhibits some additional properties. Selecting a solution instance amounts to selecting a given root every time the geometric constraint solver needs to compute the zeros of a multi valuated function. The problem of selecting a given root is known as the Root Identification Problem. In this paper we present a new technique to solve the root identification problem. The technique is based on an automatic search in the space of solutions performed by a genetic algorithm. The user specifies the solution of interest by defining a set of additional constraints on the geometric elements which drive the search of the genetic algorithm. The method is extended with a sequential niche technique to compute multiple solutions. A number of case studies illustrate the performance of the method.Postprint (published version

    Efficient Parallel Scheduling of Malleable Tasks

    Get PDF

    PlinyCompute: A Platform for High-Performance, Distributed, Data-Intensive Tool Development

    Full text link
    This paper describes PlinyCompute, a system for development of high-performance, data-intensive, distributed computing tools and libraries. In the large, PlinyCompute presents the programmer with a very high-level, declarative interface, relying on automatic, relational-database style optimization to figure out how to stage distributed computations. However, in the small, PlinyCompute presents the capable systems programmer with a persistent object data model and API (the "PC object model") and associated memory management system that has been designed from the ground-up for high performance, distributed, data-intensive computing. This contrasts with most other Big Data systems, which are constructed on top of the Java Virtual Machine (JVM), and hence must at least partially cede performance-critical concerns such as memory management (including layout and de/allocation) and virtual method/function dispatch to the JVM. This hybrid approach---declarative in the large, trusting the programmer's ability to utilize PC object model efficiently in the small---results in a system that is ideal for the development of reusable, data-intensive tools and libraries. Through extensive benchmarking, we show that implementing complex objects manipulation and non-trivial, library-style computations on top of PlinyCompute can result in a speedup of 2x to more than 50x or more compared to equivalent implementations on Spark.Comment: 48 pages, including references and Appendi

    Software development for processing of images in correlative microscopy

    Get PDF
    Correlative microscopy is a powerful method for materials science and life science researchers to obtain information from a sample, such as morphology and topography. Using multiple microscopy methods to inspect the same sample yields more data, which requires a versatile tool to analyze accurately. Multiple software solutions exist that can achieve this task, but they are not fully specialized to correlative microscopy. The goal of this thesis is to develop correlative microscopy software with MATLAB App Designer and deliver a functional and intuitive program capable of basic microscope image correlation. The microscopy types focused on are light microscopy, scanning electron microscopy, and certain spectroscopy methods, although the program is designed as a general tool to analyze any images. MATLAB has an extensive library of built in functions for scientific analysis and image processing, which makes it an instinctive platform to develop image analysis software. MATLAB App Designer is a software building tool that enabled the creation of this project. Visual components were trivial to arrange and tie together, but due to the limited catalogue of components and certain other limitations, some compromises had to be made. Overall, it is a potent tool for creating software for specific tasks. Combined with deep knowledge of MATLABs’ intricacies, various App Designers limitations can also be bypassed. The resulting program is capable of correlating images from different microscopy methods and can be used to analyze and present data. The app includes algorithms for image transformations, image enhancements, color transformations, and custom image blending

    28th Annual Symposium on Combinatorial Pattern Matching : CPM 2017, July 4-6, 2017, Warsaw, Poland

    Get PDF
    Peer reviewe
    corecore