Results 1  10
of
32
The Derivation of Distributed Termination Detection Algorithms from Garbage Collection Schemes
 ACM Transactions on Programming Languages and Systems
, 1993
"... It is shown that the termination detection problem for distributed computations can be modeled as an instance of the garbage collection problem. Consequently, algorithms for the termination detection problem are obtained by applying transformations to garbage collection algorithms. The transformatio ..."
Abstract

Cited by 35 (6 self)
 Add to MetaCart
It is shown that the termination detection problem for distributed computations can be modeled as an instance of the garbage collection problem. Consequently, algorithms for the termination detection problem are obtained by applying transformations to garbage collection algorithms. The transformation can be applied to collectors of the "markandsweep" type as well as to reference counting garbage collectors. As examples, the scheme is used to transform the distributed reference counting protocol of Lermen and Maurer, the weighted reference counting protocol, the local reference counting protocol, and BenAri's markandsweep collector into termination detection algorithms. Known termination detection algorithms as well as new variants are obtained. Categories and Subject Descriptors: D.1.3 [Programming Techniques]: Concurrent Programming; C.2.4 [ComputerCommunication Networks]: Distributed SystemsNetwork Operating Systems; D.4.2 [Operating Systems]: Storage Management D...
Local Parallel Model Checking for the Alternation Free µCalculus
 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’01), volume 2031 of LNCS
, 2001
"... In this paper, we describe the design and implementation of (several ... ..."
Abstract

Cited by 32 (6 self)
 Add to MetaCart
In this paper, we describe the design and implementation of (several ...
Distributed statespace generation of discretestate stochastic models
 INFORMS J. COMP
, 1995
"... Highlevel formalisms such as stochastic Petri nets can be used to model complex systems. Analysis of logical and numerical properties of these models often requires the generation and storage of the entire underlying state space. This imposes practical limitations on the types of systems which can ..."
Abstract

Cited by 27 (11 self)
 Add to MetaCart
Highlevel formalisms such as stochastic Petri nets can be used to model complex systems. Analysis of logical and numerical properties of these models often requires the generation and storage of the entire underlying state space. This imposes practical limitations on the types of systems which can be modeled. Because of the vast amount of memory consumed, we investigate distributed algorithms for the generation of state space graphs. The distributed construction allows us to take advantage of the combined memory readily available on a network of workstations. The key technical problem is to find effective methods for onthefly partitioning, so that the state space is evenly distributed among processors. In this paper we report on the implementation of a distributed statespace generator that may be linked to a number of existing system modeling tools. We discuss partitioning strategies in the context of Petri net models, and report on performance observed on a network of workstations, as well as on a distributed memory multicomputer.
Parallelization of the Vehicle Routing Problem with Time Windows
, 2001
"... Routing with time windows (VRPTW) has been an area of research that have
attracted many researchers within the last 10 { 15 years. In this period a number
of papers and technical reports have been published on the exact solution of the
VRPTW.
The VRPTW is a generalization of the wellknown capacitat ..."
Abstract

Cited by 24 (1 self)
 Add to MetaCart
Routing with time windows (VRPTW) has been an area of research that have
attracted many researchers within the last 10 { 15 years. In this period a number
of papers and technical reports have been published on the exact solution of the
VRPTW.
The VRPTW is a generalization of the wellknown capacitated routing problem
(VRP or CVRP). In the VRP a
eet of vehicles must visit (service) a number
of customers. All vehicles start and end at the depot. For each pair of customers
or customer and depot there is a cost. The cost denotes how much is costs a
vehicle to drive from one customer to another. Every customer must be visited
exactly ones. Additionally each customer demands a certain quantity of goods
delivered (know as the customer demand). For the vehicles we have an upper
limit on the amount of goods that can be carried (known as the capacity). In
the most basic case all vehicles are of the same type and hence have the same
capacity. The problem is now for a given scenario to plan routes for the vehicles
in accordance with the mentioned constraints such that the cost accumulated
on the routes, the xed costs (how much does it cost to maintain a vehicle) or
a combination hereof is minimized.
In the more general VRPTW each customer has a time window, and between
all pairs of customers or a customer and the depot we have a travel time. The
vehicles now have to comply with the additional constraint that servicing of the
customers can only be started within the time windows of the customers. It
is legal to arrive before a time window \opens" but the vehicle must wait and
service will not start until the time window of the customer actually opens.
For solving the problem exactly 4 general types of solution methods have
evolved in the literature: dynamic programming, DantzigWolfe (column generation),
Lagrange decomposition and solving the classical model formulation
directly.
Presently the algorithms that uses DantzigWolfe given the best results
(Desrochers, Desrosiers and Solomon, and Kohl), but the Ph.D. thesis of Kontoravdis
shows promising results for using the classical model formulation directly.
In this Ph.D. project we have used the DantzigWolfe method. In the
DantzigWolfe method the problem is split into two problems: a \master problem"
and a \subproblem". The master problem is a relaxed set partitioning
v
vi
problem that guarantees that each customer is visited exactly ones, while the
subproblem is a shortest path problem with additional constraints (capacity and
time window). Using the master problem the reduced costs are computed for
each arc, and these costs are then used in the subproblem in order to generate
routes from the depot and back to the depot again. The best (improving) routes
are then returned to the master problem and entered into the relaxed set partitioning
problem. As the set partitioning problem is relaxed by removing the
integer constraints the solution is seldomly integral therefore the DantzigWolfe
method is embedded in a separationbased solutiontechnique.
In this Ph.D. project we have been trying to exploit structural properties in
order to speed up execution times, and we have been using parallel computers
to be able to solve problems faster or solve larger problems.
The thesis starts with a review of previous work within the eld of VRPTW
both with respect to heuristic solution methods and exact (optimal) methods.
Through a series of experimental tests we seek to dene and examine a number
of structural characteristics.
The rst series of tests examine the use of dividing time windows as the
branching principle in the separationbased solutiontechnique. Instead of using
the methods previously described in the literature for dividing a problem into
smaller problems we use a methods developed for a variant of the VRPTW. The
results are unfortunately not positive.
Instead of dividing a problem into two smaller problems and try to solve
these we can try to get an integer solution without having to branch. A cut is an
inequality that separates the (nonintegral) optimal solution from all the integer
solutions. By nding and inserting cuts we can try to avoid branching. For the
VRPTW Kohl has developed the 2path cuts. In the separationalgorithm for
detecting 2path cuts a number of test are made. By structuring the order in
which we try to generate cuts we achieved very positive results.
In the DantzigWolfe process a large number of columns may be generated,
but a signicant fraction of the columns introduced will not be interesting with
respect to the master problem. It is a priori not possible to determine which
columns are attractive and which are not, but if a column does not become part
of the basis of the relaxed set partitioning problem we consider it to be of no
benet for the solution process. These columns are subsequently removed from
the master problem. Experiments demonstrate a signicant cut of the running
time.
Positive results were also achieved by stopping the routegeneration process
prematurely in the case of timeconsuming shortest path computations. Often
this leads to stopping the shortest path subroutine in cases where the information
(from the dual variables) leads to \bad" routes. The premature exit
from the shortest path subroutine restricts the generation of \bad" routes signi
cantly. This produces very good results and has made it possible to solve
problem instances not solved to optimality before.
The parallel algorithm is based upon the sequential DantzigWolfe based
algorithm developed earlier in the project. In an initial (sequential) phase unsolved
problems are generated and when there are unsolved problems enough
vii
to start work on every processor the parallel solution phase is initiated. In the
parallel phase each processor runs the sequential algorithm. To get a good workload
a strategy based on balancing the load between neighbouring processors is
implemented. The resulting algorithm is eÆcient and capable of attaining good
speedup values. The loadbalancing strategy shows an even distribution of work
among the processors. Due to the large demand for using the IBM SP2 parallel
computer at UNIC it has unfortunately not be possible to run as many tests
as we would have liked. We have although managed to solve one problem not
solved before using our parallel algorithm.
Garbage Collecting the World: One Car at a Time
 In Proc. OOPSLA 97
, 1997
"... A new garbage collection algorithm for distributed object systems, called DMOS (Distributed Mature Object Space), is presented. It is derived from two previous algorithms, MOS (Mature Object Space), sometimes called the train algorithm, and PMOS (Persistent Mature Object Space). The contribution of ..."
Abstract

Cited by 23 (4 self)
 Add to MetaCart
A new garbage collection algorithm for distributed object systems, called DMOS (Distributed Mature Object Space), is presented. It is derived from two previous algorithms, MOS (Mature Object Space), sometimes called the train algorithm, and PMOS (Persistent Mature Object Space). The contribution of DMOS is that it provides the following unique combination of properties for a distributed collector: safety, completeness, nondisruptiveness, incrementality, and scalability. Furthermore, the DMOS collector is nonblocking and does not use global tracing. 1 Introduction Automatic storage management is an essential property of high level programming systems providing an errorfree abstraction with which the programmer may manipulate space without regard to the inessential details of physical storage. The abstraction holds only until the store becomes full. Thus it is important for the storage management system to distinguish useful data from garbage, so that the space occupied by the garbag...
Exploiting Parallelism in Tabled Evaluations
 In 7th International Symposium, PLILP 95  LNCS
, 1995
"... . This paper addresses general issues involved in parallelizing tabled evaluations by introducing a model of sharedmemory parallelism which we call tableparallelism, and by comparing it to traditional models of parallelizing SLD. A basic architecture for supporting tableparallelism in the framewo ..."
Abstract

Cited by 21 (12 self)
 Add to MetaCart
. This paper addresses general issues involved in parallelizing tabled evaluations by introducing a model of sharedmemory parallelism which we call tableparallelism, and by comparing it to traditional models of parallelizing SLD. A basic architecture for supporting tableparallelism in the framework of the SLGWAM[14] is also presented, along with an algorithm for detecting termination of subcomputations. 1 Introduction The deficiencies of SLD resolution are well known, and extended efforts have been made to remedy these deficiencies. For instance, while SLD can be combined efficiently with negationbyfailure in SLDNF, the semantics of SLDNF have proven unacceptable for many purposes, in particular for nonmonotonic reasoning. Even without negation SLD is susceptible to infinite loops and redundant subcomputations, making it unacceptable for deductive databases. The latter deficiency, that of repeating subcomputations, has given rise to several systems which table subcomputations: ...
Achieving speedups in distributed symbolic reachability analysis through asynchronous computation
 In CHARME
, 2005
"... Abstract. This paper presents a novel BDDbased distributed algorithm for reachability analysis which is completely asynchronous. Previous BDDbased distributed schemes are synchronous: they consist of interleaved rounds of computation and communication, in which the fastest machine (or one which is ..."
Abstract

Cited by 20 (1 self)
 Add to MetaCart
Abstract. This paper presents a novel BDDbased distributed algorithm for reachability analysis which is completely asynchronous. Previous BDDbased distributed schemes are synchronous: they consist of interleaved rounds of computation and communication, in which the fastest machine (or one which is lightly loaded) must wait for the slowest one at the end of each round. We make two major contributions. First, the algorithm performs image computation and message transfer concurrently, employing nonblocking protocols in several layers of the communication and the computation infrastructures. As a result, regardless of the scale and type of the underlying platform, the maximal amount of resources can be utilized efficiently. Second, the algorithm incorporates an adaptive mechanism which splits the workload, taking into account the availability of free computational power. In this way, the computation can progress more quickly because, when more CPUs are available to join the computation, less work is assigned to each of them. Less load implies additional important benefits, such as better locality of reference, less overhead in compaction activities (such as reorder), and faster and better workload splitting. We implemented the new approach by extending a symbolic model checker from Intel. The effectiveness of the resulting scheme is demonstrated on a number of large industrial designs as well as public benchmark circuits, all known to be hard for reachability analysis. Our results show that the asynchronous algorithm enables efficient utilization of higher levels of parallelism. High speedups are reported, up to an order of magnitude, for computing reachability for models with higher memory requirements than was previously possible. 1
Local Parallel Model Checking for the AlternationFree µCalculus
 In Proceedings of the 9th International SPIN Workshop on Model checking of Software (SPIN
, 2002
"... We describe the design of (several variants of) a local parallel modelchecking algorithm for the alternationfree fragment of the µcalculus. It exploits a characterisation of the problem for this fragment in terms of twoplayer games. For the corresponding winner, our algorithm determines in paral ..."
Abstract

Cited by 20 (6 self)
 Add to MetaCart
We describe the design of (several variants of) a local parallel modelchecking algorithm for the alternationfree fragment of the µcalculus. It exploits a characterisation of the problem for this fragment in terms of twoplayer games. For the corresponding winner, our algorithm determines in parallel a winning strategy, which may be employed for debugging the underlying system interactively, and is designed to run on a network of workstations. Depending on the variant, its complexity is linear or quadratic. A prototype implementation within the verification tool Truth shows promising results in practice.
Distributed State Space Generation of DiscreteState Stochastic Models
 INFORMS Journal of Computing
, 1998
"... Highlevel formalisms such as stochastic Petri nets can be used to model complex systems. Analysis of logical and numerical properties of these models often requires the generation and storage of the entire underlying state space. This imposes practical limitations on the types of systems which can ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
Highlevel formalisms such as stochastic Petri nets can be used to model complex systems. Analysis of logical and numerical properties of these models often requires the generation and storage of the entire underlying state space. This imposes practical limitations on the types of systems which can be modeled. Because of the vast amount of memory consumed, we investigate distributed algorithms for the generation of state space graphs. The distributed construction allows us to take advantage of the combined memory readily available on a network of workstations. The key technical problem is to find effective methods for onthefly partitioning, so that the state space is evenly distributed among processors. In this paper we report on the implementation of a distributed state space generator that may be linked to a number of existing system modeling tools. We discuss partitioning strategies in the context of Petri net models, and report on performance observed on a network of workstations, as well as on a distributed memory multicomputer. Discretestate models are a valuable tool in the representation, design, and analysis of
Detecting Locally Stable Predicates without Modifying Application Messages
 In Proceedings of the 7th International Conference on Principles of Distributed Systems (OPODIS), La
, 2003
"... In this paper, we give an ecient algorithm to determine whether a locally stable predicate has become true in an underlying computation. ..."
Abstract

Cited by 11 (8 self)
 Add to MetaCart
In this paper, we give an ecient algorithm to determine whether a locally stable predicate has become true in an underlying computation.