154 research outputs found
Parallelizing Deadlock Resolution in Symbolic Synthesis of Distributed Programs
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
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
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
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
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
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
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
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
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
- …