| R. Finkel and U. Manber. DIB -- A Distributed Implementation of Backtracking. ACM Transactions of Programming Languages and Systems, 9(2):235--256, April 1987. |
....by having each processor work as if it is the only one (i.e. in serial, depth first order) and having idle processors steal threads from others, space requirements and communication requirements should be curbed. Since then, many researchers have implemented variants on this strategy [41, 42, 44, 50, 67, 70, 77, 81, 84, 94, 103]. Cilk s work stealing scheduler is very similar to the schedulers in some of these other systems, though Cilk s algorithm uses randomness and is provably efficient. Many multithreaded programming languages and runtime systems are based on heuristic scheduling techniques. Though systems such as ....
....strategies. Massively parallel supercomputers such as the Cray Research T3D or the Thinking Machines CM5, for example, either dedicate themselves to a single user at a time or gang timeshare within fixed size partitions [72] Systems such as Charm [91] the Parform [21] PVM Hence [96] and others [29, 42, 44, 97] support parallel computing on a network of workstations. In these systems, the set of machines on which the program runs is chosen statically by the user. Distributed operating systems [30, 82, 98, 99] and other systems [32, 40, 68, 74, 79, 110] provide transparent process placement and (in some ....
[Article contains additional citation context not shown here]
Raphael Finkel and Udi Manber. DIB---a distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
.... hypercubic and mesh network, parallel backtrack search, parallel random permutation, randomized load balancing algorithm 1 Introduction Many algorithms in operations research and artificial intelligence are based on the backtracking principle for traversing large irregularly shaped trees [8, 9, 15, 13, 19]. Similar problems also play a role in parallel programming languages [1, 12] and even for loop scheduling and some numerical problems like adaptive numerical integration it can be useful to view the computations as an implicitly defined tree. Section 2 introduces the abstract model of tree shaped ....
....algorithms which have the advantage to split subproblems only on demand by idle PEs. This adaptive approach has been used successfully for a variety of purposes such as parallel functional [1] and logic programming [12] or game tree search [8] Randomized partner selection goes at least back to [9]. The partner selection strategy turns out to be crucial. The apparently economic option to poll neighbors in the interconnection network can be extremely inefficient since it leads to a buildup of clusters of busy PEs shielding large subproblems from being split [23] Polling PEs in a global ....
R. Finkel and U. Manber. DIB -- A distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
....algorithms which have the advantage to split subproblems only on demand by idle PEs. This adaptive approach has been used successfully for a variety of purposes such as parallel functional [1] and logic programming [16] or game tree search [12] Randomized partner selection goes at least back to [13]. The partner selection strategy turns out to be crucial. The apparently economic option to poll neighbors in the interconnection network can be extremely inefficient since it leads to a buildup of clusters of busy PEs shielding large subproblems from being split [26] Polling PEs in a global ....
R. Finkel and U. Manber. DIB -- A distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
....to which to donate its excess tasks. The matching of the heavily loaded processors to lightly loaded processors must be performed eciently and in a distributed manner. In a work stealing algorithm, a lightly loaded processor steals tasks from a suitable processor (e.g. ELZ86b, FMM91, FM87, HZJ94, Mit98, BL94, ABP98] A particular example of this approach is idle initiated work stealing where a processor that becomes idle seeks to obtain tasks from nonidle processors. Randomized algorithms have proven to be a critical tool in this matching process since the earliest investigations ....
R. Finkel and U. Manber. DIB { A distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235-256, April 1987.
....to which to donate its excess tasks. The matching of the heavily loaded processors to lightly loaded processors must be performed efficiently and in a distributed manner. In a work stealing algorithm, a lightly loaded processor steals tasks from a suitable processor (e.g. ELZ86b, FMM91, FM87, HZJ94, Mit98, BL94, ABP98] A particular example of this approach is idle initiated work stealing where a processor that becomes idle seeks to obtain tasks from nonidle processors. Randomized algorithms have proven to be a critical tool in this matching process since the earliest investigations ....
R. Finkel and U. Manber. DIB -- A distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
....22, 17, 21] Load balancing techniques may be receiver initiated or sender initiated. In receiver initiated techniques, when a processor becomes idle, it requests a selected processor for work. Many different selection policies have been proposed such as use of a centralized server, random polling [12], nearest neighbor [25] global roundrobin [25] and asynchronous round robin [12, 25] In contrast to receiver initiated load balancing, in sender initiated schemes, a processor sends work to selected processors as it is generated. Selection strategies for sender initiated work transfers include ....
....In receiver initiated techniques, when a processor becomes idle, it requests a selected processor for work. Many different selection policies have been proposed such as use of a centralized server, random polling [12] nearest neighbor [25] global roundrobin [25] and asynchronous round robin [12, 25]. In contrast to receiver initiated load balancing, in sender initiated schemes, a processor sends work to selected processors as it is generated. Selection strategies for sender initiated work transfers include hierarchical techniques (with super servers, servers and clients) 13] random ....
[Article contains additional citation context not shown here]
Raphael A. Finkel and Udi Manber. DIB - a distributed implementation of backtracking. ACM Transactions of Programming Languages and Systems, 9 No. 2:235--256, April 1987.
....and objective function. This problem representation will remain static during optimisation. The optimisation part consists of a set of optimisers together with classes that represent auxiliary entities needed by the optimisers. There already exists several parallel optimisation libraries (e. g, [6], 7] but they are dedicated to one specic optimisation technique. Bringing parallelism to SCOOP meant to elaborate a high level parallelism model and optimiserindependant classes. Section 2 gives a brief overview of encodings, section 3 describes the main features of the optimisation part of ....
R. Finkel and U. Manber. DIBA Distributed Implementation of Backtracking. ACM Transaction on Programming Languages and Systems, 9(2):235256, 1987.
....problems in the fields of vehicle routing and forestry management [7] Originally SCOOP contained a set of sequential optimisation algorithms, but recently it has been extended to accomodate for parallel optimisation as well. There already exist several parallel optimisation libraries (e. g, [3, 4]) but they are dedicated to one specific optimisation technique. Bringing parallelism to SCOOP meant to elaborate a high level parallelism model and optimiser independent classes. SCOOP consists of two main parts, a problem specification or modeling part and an optimisation part. The modeling ....
R. Finkel and U. Manber. DIB---A Distributed Implementation of Backtracking. ACM Transaction on Programming Languages and Systems, 9(2):235--256, 1987.
....workers. Sample applications structured in this fashion range from (1) domain decomposed scientific applications to (2) MultiLisp implementations on parallel machines, where futures are entered into queues and removed and processed by available processors[20] to (3) parallel optimization codes[13, 40], and (4) even operating system services like file or I O servers. The sample parallel program used in our research is a client server structured application, a parallel branch and bound algorithm solving the Traveling Salesperson problem (TSP) We employ the algorithm of Little, Murty, Sweeney ....
....algorithms are commonly used in the solution of optimization problems and have therefore, been frequently studied and evaluated on parallel machines. Second, experimental evaluations of the algorithm s implementation on distributed memory platforms[43, 40] and on workstation networks[13] have already demonstrated the importance of the work sharing and tour abstractions to parallel program performance, where different implementations of the queue itself and of load balancing among queue fragments significantly effect speedup and scalability. In part, this importance is derived ....
[Article contains additional citation context not shown here]
R. Finkel and U. Manber. Dib - a distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--255, Apr 1987.
....algorithm which finds all the solutions of CSPs (total exploration of the search tree) and splits different parts of the tree to allocate them to processes in a network of computers. There has been a lot of researches on parallel processing of backtracking search for general tree search problem[3, 2, 6, 4]. Good experimental results have been reported and theoretical works about the load balancing among processes are numerous but we have found very few theoretical work about the minimization of the communication cost and we have decided to focus our interest on it. 2. The Distributed Algorithm The ....
R. Finkel and U. Manber. DIB---A Distributed Implementation of Backtracking. ACM Transaction on Programming Languages and Systems, 9(2):235--256, 1987.
....system of which we are aware. Finally, we point out that our use of work stealing and non blocking synchronization builds upon a long history in both areas, though they did not meet until now. The idea of work stealing goes back to 1981 [16] and has been used in many systems and applications since [20, 21, 27, 42, 46]. The first provably efficient work stealing algorithm [15] and implementation [14] is fairly recent, however. The idea of non blocking and wait free synchronization was developed by Herlihy [29] There has been a long line of work attempting to make the idea more practical via universal ....
Raphael Finkel and Udi Manber. DIB---a distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
....have been investigated from several points of view. A number of parallel implementations have been reported in the literature. Their origins lay in the simulations already cited in previous sections and in parallel implementations of related techniques, as divide and conquer [22] and backtracking [15]. These implementations involve the classical communication versus computation tradeoff. Briefly speaking, the amount of 19 decomposed subproblems can be reduced at the cost of increased communication, and viceversa. The vast majority of published implementations have focused on ....
R. Finkel and U. Manber. DIB -- A distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, Apr. 1987.
....We were also able to obtain near linear speedups for POV Ray. 6 Related work A number of systems have been developed to support parallel computation on distributed networks of workstations, but none provide all of the properties required for parallel computing on a global scale. The DIB system [8] uses a heuristic form of work stealing to schedule backtrack search applications on a network of workstations. The Benevolent Bandit Laboratory (BBL) 7] provides adaptive parallelism for applications running on a network of PCs and is probably the first example of a system that provides adaptive ....
Raphael Finkel and Udi Manber. DIB---a distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
....Person (TSP) problem is interesting for two reasons. First, branch and bound algorithms are commonly used in the solution of optimization problems. Second, experimental evaluations of this algorithm s implementation on multiprocessors, distributed memory machines[51] and on workstation networks[19] have already demonstrated the importance of two basic abstractions used in these implementations: 1) a work sharing and (2) a shared tour abstraction. Specifically, differences in the implementations of these abstractions can significantly affect program speedup and scalability, including ....
Finkel, R., and Manber, U. Dib - a distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems 9, 2 (April 1987), 235--255.
....to be made to convince companies of all sizes to develop parallel programs. The difficulty of programming (implementation of a B B on the one hand, choosing a parallelization version on the other hand, has led several research scientists to suggest programming environments dedicated to B B [23, 63, 59, 18] or to develop generic B B programs of which they have outlined the basic aspects [46, 18, 20, 31, 3] We present here a similar approach. We designed a specialized library for B B algorithms. The idea is, of course, to facilitate writing B B for any application and to make it possible : to ....
....a small number of processors and an efficient transmission mechanism. This applies in particular to strongly coupled multiprocessors such as asynchronous parallel machines with shared memory (the specialized process acts as a shared memory manager) but it has also been widely used on Hypercubes [17, 23, 13], Transputer networks [51, 37] in master slave processor organizations, and in simulating shared memory on a workstation network [7] 2 Strategies and management of nodes of equal priorities The success of parallelization should be measured experimentally in terms of absolute speed up ....
R. Finkel and U. Manber. Dib - a distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, Apr. 1987.
....a problem have to be found by expanding the whole search tree, satisfactory performances have been achieved: the speedup can be close to linearity, that is, the resolution time is almost divided by the number of engaged processes. It is established in theory [KGR94,Prc96] and veri ed in practice [FM87,FK88,RKR87]. However, an additional diOEculty has to be faced when only one or the best solution is expected: some processes running in parallel may explore a part of the search tree which would not have been examined during a sequential search, and this may produce useless work overheads and then an ....
....or several new root nodes. In [KGR94] is proven that we can make the communication overheads only grow in a polynomial way while guaranteeing an equitable work sharing. This con rms previous experimental results that show a speedup close to linearity for problems solved by this kind of algorithms [FM87,FK88,RKR87]. Applied to CSPs, as the solving time is often exponential in the number of variables, this implies that these overheads become negligible if the problem is big enough. Prc96] presents a PDFS algorithm solving CSPs whose number of interprocess messages is at worst O(dpn 2 ) In this algorithm, ....
R. Finkel and U. Manber. DIBŻA Distributed Implementation of Backtracking. ACM Transaction on Programming Languages and Systems, 9(2):235 256, 1987.
....system of which we are aware. Finally, we point out that our use of work stealing and non blocking synchronization builds upon a long history in both areas, though they did not meet until now. The idea of work stealing goes back to 1981 [16] and has been used in many systems and applications since [21, 22, 28, 44, 50]. The first provably efficient work stealing algorithm [15] and implementation [14] is fairly recent, however. The idea of non blocking and wait free synchronization was developed by Herlihy [30] There has been a long line of work attempting to make the idea more practical via universal ....
Raphael Finkel and Udi Manber. DIB---a distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
....is extended such that three classes of operations could be performed directly on the node interfaces: arithmetic, selection, and counting. Simulation studies of their hardware proposals show its usefulness in several applications, including dynamic load balancing, sorting, work distribution in DIB [82], etc. As with Livny and Manber s work, research on an active message construct called topologies on hypercubes [211] and distributed shared abstractions on shared memory multiprocessors [57] is based on previous work in message based operating systems for hypercubes, since it is assuming ....
R. Finkel and U. Manber. Dib - a distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--255, April 1987.
....parallel, because nodes on the wavefront can all be processed independently. However, if one wants to achieve good load balancing between the processors, then parallelizing D C becomes nontrivial. In fact, doing efficient D C on any real parallel machine has been a major challenge to researchers [3, 4, 9, 14] for many years. The difficulties are due to the fact that many D C computations are highly dynamic in the sense that these computations are data dependent. During computation, a problem instance can be expanded into any number of subproblems depending on the data that have been computed so far. ....
....nodes, and to have each processor perform load balancing based on load status information from its neighbor processors. For this scheme, the communication cost can be very high in the worst case. Recently, some researchers have made efforts to reduce communication overhead. A popular approach [4, 9, 16] is based on the donate highest subtree strategy, in which an idle processor will be given frontier nodes as near to the root as possible. Since a subtree rooted near the top usually has many nodes and these nodes can all be expanded locally, this strategy tends to reduce the amount of ....
[Article contains additional citation context not shown here]
R. Finkel and U. Manber. DIB -- a Distributed Implementation of Backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
....of a set of connected processors, each one with its own local memory; there is no common shared memory, and the processors communicate by exchange of messages. Some special features differantiate our library of other parallel branch and bound libraries that have been reported in the literature [1, 4, 5, 6]. The main objective of our library is to create a software tool that facilitates a broad spectrum of research, yet still permitting to develop algorithms to solve large problems, easily incorporating innovations in both domains of parallel algorithms design and operations research. Such a library ....
R. Finkel and U. Manber. DIB -- A distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
....the number of processes to divide the tree, i.e. each process will search several subtrees, but we have to take care of minimizing the message traOEc between processes to keep the communication cost as low as possible. As we previously wrote, many studies were made about parallel backtracking. In [FM87] is experimented some work distribution where each process has a helper. If the latter cannot grant a request, the process will try with another helper. This method may cause some idleness and the number of messages is not evaluated but it performs well on the tests pre sented. In [FK88] is ....
....golomb 5 Figure 6: Speedup : monoprocess time time with p processes ffl The speedup becomes nearly linear as n gets large for any xed p. ffl The higher p is, the lower the speedup eOEciency is for any xed n. Comparing these results with the ones generally obtained in previous works (see [Hen89] [FM87], VRR87] and [FK88] we can notice that when the problems are small, our algorithm is much less performant, whereas it is sometimes better when the problem sizes are large . The bad behavior of the algorithm when the problem size is small can be explain by the following reason : we observed that ....
R. Finkel and U. Manber. DIBŻA Distributed Implementation of Backtracking. ACM Transaction on Programming Languages and Systems, 9(2):235256, 1987.
....in a message, but such processes must retain no internal state between invocations. If a process evaluating some function fails, it can simply be restarted from the beginning with the same parameters. Examples of systems using this type of functional programming for fault tolerance include DIB [Finkel87], STARDUST [Hornig84] Lin and Keller s work [Lin86] and the multi satellite star model [Cheriton86b] Although these methods are straightforward, they can only be used for programs that follow the functional programming model, which may not be possible or practical for some applications. Also, ....
Raphael Finkel and Udi Manber. DIB---A distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
No context found.
R. Finkel and U. Manber. DIB -- A Distributed Implementation of Backtracking. ACM Transactions of Programming Languages and Systems, 9(2):235--256, April 1987.
No context found.
R. Finkel and U. Manber. DIB - a distributed implementation of backtracking. ACM Transactions of Programming Languages and Systems, 9(2):235--256, April 1987.
No context found.
Raphael Finkel and Udi Manber. DIB -- a distributed implementation of backtracking. ACM Transactions on Programming Languages and Systems, 9(2):235--256, April 1987.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC