154 research outputs found

    Parallelizing Deadlock Resolution in Symbolic Synthesis of Distributed Programs

    Full text link
    Previous work has shown that there are two major complexity barriers in the synthesis of fault-tolerant distributed programs: (1) generation of fault-span, the set of states reachable in the presence of faults, and (2) resolving deadlock states, from where the program has no outgoing transitions. Of these, the former closely resembles with model checking and, hence, techniques for efficient verification are directly applicable to it. Hence, we focus on expediting the latter with the use of multi-core technology. We present two approaches for parallelization by considering different design choices. The first approach is based on the computation of equivalence classes of program transitions (called group computation) that are needed due to the issue of distribution (i.e., inability of processes to atomically read and write all program variables). We show that in most cases the speedup of this approach is close to the ideal speedup and in some cases it is superlinear. The second approach uses traditional technique of partitioning deadlock states among multiple threads. However, our experiments show that the speedup for this approach is small. Consequently, our analysis demonstrates that a simple approach of parallelizing the group computation is likely to be the effective method for using multi-core computing in the context of deadlock resolution

    A simulation study on parallel backtracking with solution memoing for independent and-parallelism

    Get PDF
    Goal-level Independent and-parallelism (IAP) is exploited by scheduling for simultaneous execution two or more goals which will not interfere with each other at run time. This can be done safely even if such goals can produce multiple answers. The most successful IAP implementations to date have used recomputation of answers and sequentially ordered backtracking. While in principle simplifying the implementation, recomputation can be very inefficient if the granularity of the parallel goals is large enough and they produce several answers, while sequentially ordered backtracking limits parallelism. And, despite the expected simplification, the implementation of the classic schemes has proved to involve complex engineering, with the consequent difficulty for system maintenance and expansion, and still frequently run into the well-known trapped goal and garbage slot problems. This work presents ideas about an alternative parallel backtracking model for IAP and a simulation studio. The model features parallel out-of-order backtracking and relies on answer memoization to reuse and combine answers. Whenever a parallel goal backtracks, its siblings also perform backtracking, but after storing the bindings generated by previous answers. The bindings are then reinstalled when combining answers. In order not to unnecessarily penalize forward execution, non-speculative and-parallel goals which have not been executed yet take precedence over sibling goals which could be backtracked over. Using a simulator, we show that this approach can bring significant performance advantages over classical approaches

    Constraint programming on hierarchical multiprocessor systems

    Get PDF
    The work reported in this thesis is about constraint processing in the context of hierarchical multiprocessor systems, including distributed systems. More speci cally, it develops techniques and a system to help bringing the power available in today's multiprocessing networked systems into the constraint processing eld. Solving constraint speci ed problems is a process which lends itself naturally to parallelisation, as it usually implies going through very large search spaces, looking for a solution. Parallel constraint solving draws on the idea of dividing the search space among several workers, so the search may proceed faster, and thanks to the declarative nature of constraint programming, the parallelisation happens transparently as far as the user is concerned. However, to fully take advantage of the parallel computing power available, techniques must be developed to help ensure that the workers executing the search are kept busy at all times, which is an issue tackled by this work; RESUMO: Esta tese debruça-se sobre a programação por restrições no contexto dos sistemas multiprocessador hierárquicos, incluindo os sistemas distribuídos. Mais especificamente, o trabalho elaborado desenvolve as técnicas de resolução de problemas de satisfação de restrições recorrendo ao paralelismo. A actualidade do tema prende-se com a cada vez maior divulgação de que são objecto os sistemas multiprocessador que, juntamente com a omnipresença das redes de computadores, põe à nossa disposição uma capacidade de cálculo que necessita de ser posta a uso, o que tarda em acontecer. Nesta tese desenvolve-se um sistema que permite tirar partido desses recursos através do processamento de restrições A programação por restrições é um paradigma declarativo, em que o utilizador não tem de se preocupar com o controlo da computação, e a introdução de paralelismo nesta área pode realizar-se transparentemente. Por outro lado, o processo de pesquisa de soluções para problemas especificados por restrições adapta-se particularmente bem a ser paralelizado. Este tese apresenta uma abordagem _à resolução paralela de restrições, que junta paralelismo local, sob a forma de trabalhadores, com paralelismo distribuído, em que os actores são as equipas. O sistema construído, destinado a sistemas distribuídos de larga escala, que _é descrito e os seus resultados apresentados, inclui distribuição de trabalho, através de roubo de trabalho. Este funciona, localmente, sem a colaboração do roubado e, remotamente, com colaboração, num ambiente em que todas as equipas cooperam na procura da solução

    Parallel backtracking with answer memoing for independent and-parallelism

    Full text link
    Goal-level Independent and-parallelism (IAP) is exploited by scheduling for simultaneous execution two or more goals which will not interfere with each other at run time. This can be done safely even if such goals can produce múltiple answers. The most successful IAP implementations to date have used recomputation of answers and sequentially ordered backtracking. While in principie simplifying the implementation, recomputation can be very inefficient if the granularity of the parallel goals is large enough and they produce several answers, while sequentially ordered backtracking limits parallelism. And, despite the expected simplification, the implementation of the classic schemes has proved to involve complex engineering, with the consequent difficulty for system maintenance and extensión, while still frequently running into the well-known trapped goal and garbage slot problems. This work presents an alternative parallel backtracking model for IAP and its implementation. The model features parallel out-of-order (i.e., non-chronological) backtracking and relies on answer memoization to reuse and combine answers. We show that this approach can bring significant performance advantages. Also, it can bring some simplification to the important engineering task involved in implementing the backtracking mechanism of previous approaches

    Aplikasi Paralel Branch and Bound Untuk Menyelesaikan Vehicle Routing Problem Menggunakan Pustaka Mpich Dan Glpk

    Get PDF
    Vehicle Routing Problem (VRP) merupakan permasalahan optimasi dalam Riset Operasional, yaitu permasalahan melakukan pengantaran barang (komoditas) dari sebuah depot ke sejumlah pelanggan dengan lokasi dan jumlah permintaan barang yang diketahui. Karakteristik VRP yang diimplementasikan adalah VRP yang mempunyai kapasitas kendaraan sama, jumlah kendaraan tetap, batasan jarak dan meminimalkan jarak tempuh semua kendaraan sebagai tujuan. Untuk penyelesaian VRP, diimplementasikan algoritma paralel branch and bound yang dapat dijalankan oleh beberapa komputer untuk mendapatkan solusi eksak dengan waktu komputasi yang lebih cepat. Langkah-langkah penyelesaian VRP dengan algoritma paralel branch and bound dimulai dengan tahap inisialisasi, yang menghasilkan subproblem yang berupa program linear pada search tree, kemudian dilakukan pembagian subproblem ke sejumlah komputer untuk dikerjakan masing-masing komputer. Setelah proses komputasi selesai, diperoleh solusi optimal beserta informasi rute terbaik yang ditemukan. Uji coba dan evaluasi dilakukan dengan data yang dihasilkan secara acak, untuk jumlah pelanggan sebanyak 15-40, dengan menggunakan 1, 2, 4, dan 8 komputer. Dari hasil pengukuran waktu komputasi, didapat bahwa penambahan jumlah komputer pada proses komputasi dapat mempercepat waktu komputasi, bahkan dapat mencapai superlinear speedup terutama untuk jumlah pelanggan yang besar, akan tetapi pada suatu saat penambahan jumlah komputer malah memperlambat waktu komputasi, karena overhead waktu komunikasi yang semakin besar

    Asymptotically near-optimal RRT for fast, high-quality, motion planning

    Full text link
    We present Lower Bound Tree-RRT (LBT-RRT), a single-query sampling-based algorithm that is asymptotically near-optimal. Namely, the solution extracted from LBT-RRT converges to a solution that is within an approximation factor of 1+epsilon of the optimal solution. Our algorithm allows for a continuous interpolation between the fast RRT algorithm and the asymptotically optimal RRT* and RRG algorithms. When the approximation factor is 1 (i.e., no approximation is allowed), LBT-RRT behaves like RRG. When the approximation factor is unbounded, LBT-RRT behaves like RRT. In between, LBT-RRT is shown to produce paths that have higher quality than RRT would produce and run faster than RRT* would run. This is done by maintaining a tree which is a sub-graph of the RRG roadmap and a second, auxiliary graph, which we call the lower-bound graph. The combination of the two roadmaps, which is faster to maintain than the roadmap maintained by RRT*, efficiently guarantees asymptotic near-optimality. We suggest to use LBT-RRT for high-quality, anytime motion planning. We demonstrate the performance of the algorithm for scenarios ranging from 3 to 12 degrees of freedom and show that even for small approximation factors, the algorithm produces high-quality solutions (comparable to RRG and RRT*) with little running-time overhead when compared to RRT

    Parallel Test Generation With Low Communication Overhead

    Get PDF
    In this paper we present a method of parallelizing test generation for combinational logic using boolean satisfiability. We propose a dynamic search-space allocation strategy to split work between the available processors. This strategy is easy to implement with a greedy heuristic and is economical in its demand for inter-processor communication. We derive an analytical model to predict the performance of the parallel versus sequential implementations. The effectiveness of our method and analysis is demonstrated by an implementation on a Sequent (shared memory) multiprocessor. The experimental data shows significant performance improvement in parallel implementation, validates our analytical model, and allows predictions of performance for a range of time-out limits and degrees of parallelism

    Some implementations results on random polling dynamic load balancing

    Get PDF
    Using two sample applications, we demonstrate the effectiveness of our portable and reusable library for parallel tree search. On 1024 Transputers we achieve near optimal speedup even for quite small instances of the `Golomb ruler\u27 problem. The `0/1 knapsack problem\u27 is more challenging but it is possible to achieve superlinear speedup compared to the standard sequential depth first algorithm the implementation is based on

    On the Imbalance of Distributions of Solutions of CNF-Formulas and its Impact on Satisfiability Solvers

    Get PDF
    Let F be Boolean formulas in conjunctive normal form with n variables, r clauses, every clause has length s. We show that if F is split into two subformulas F_{v} and F_{overline{v}} by setting v true and false in F, then the expected number of solutions of one of the two subformulas F_{v} and F_{overline{v}} is significantly higher than that in the other subformula, when dealing with classes of formulas where the great majority of formulas is satisfiable. We discuss practical consequences of this result
    corecore