Results 1  10
of
142
Algorithms for the Satisfiability (SAT) Problem: A Survey
 DIMACS Series in Discrete Mathematics and Theoretical Computer Science
, 1996
"... . The satisfiability (SAT) problem is a core problem in mathematical logic and computing theory. In practice, SAT is fundamental in solving many problems in automated reasoning, computeraided design, computeraided manufacturing, machine vision, database, robotics, integrated circuit design, compute ..."
Abstract

Cited by 145 (3 self)
 Add to MetaCart
(Show Context)
. The satisfiability (SAT) problem is a core problem in mathematical logic and computing theory. In practice, SAT is fundamental in solving many problems in automated reasoning, computeraided design, computeraided manufacturing, machine vision, database, robotics, integrated circuit design, computer architecture design, and computer network design. Traditional methods treat SAT as a discrete, constrained decision problem. In recent years, many optimization methods, parallel algorithms, and practical techniques have been developed for solving SAT. In this survey, we present a general framework (an algorithm space) that integrates existing SAT algorithms into a unified perspective. We describe sequential and parallel SAT algorithms including variable splitting, resolution, local search, global optimization, mathematical programming, and practical SAT algorithms. We give performance evaluation of some existing SAT algorithms. Finally, we provide a set of practical applications of the sat...
Customized Dynamic Load Balancing for a Network of Workstations
, 1997
"... this paper we show that different load balancing schemes are best for different applications under varying program and system parameters. Therefore, applicationdriven customized dynamic load balancing becomes essential for good performance. We present a hybrid compiletime and runtime modeling and ..."
Abstract

Cited by 82 (1 self)
 Add to MetaCart
this paper we show that different load balancing schemes are best for different applications under varying program and system parameters. Therefore, applicationdriven customized dynamic load balancing becomes essential for good performance. We present a hybrid compiletime and runtime modeling and decision process which selects (customizes) the best scheme, along with automatic generation of parallel code with calls to a runtime library for load balancing. 1997 Academic Press 1.
A Practical Approach to Dynamic Load Balancing
 IEEE Transactions on Parallel and Distributed Systems
, 1998
"... Abstract—This paper presents a cohesive, practical load balancing framework that improves upon existing strategies. These techniques are portable to a broad range of prevalent architectures, including massively parallel machines, such as the Cray T3D/E and Intel Paragon, shared memory systems, such ..."
Abstract

Cited by 82 (8 self)
 Add to MetaCart
(Show Context)
Abstract—This paper presents a cohesive, practical load balancing framework that improves upon existing strategies. These techniques are portable to a broad range of prevalent architectures, including massively parallel machines, such as the Cray T3D/E and Intel Paragon, shared memory systems, such as the Silicon Graphics PowerChallenge, and networks of workstations. As part of the work, an adaptive heat diffusion scheme is presented, as well as a task selection mechanism that can preserve or improve communication locality. Unlike many previous efforts in this arena, the techniques have been applied to two largescale industrial applications on a variety of multicomputers. In the process, this work exposes a serious deficiency in current load balancing strategies, motivating further work in this area. Index Terms—Dynamic load balancing, diffusion, massively parallel computing, irregular problems. ————————— — F —————————— 1
Distributed hierarchical control for parallel processing
 Computer
, 1990
"... he development of operating systems for parallel computers has closely followed that for serial computers. At first, the most advanced parallel computers ran in batch mode or singleuser mode. At best, they allowed a static partitioning among a number of users. They were typically designed with a sp ..."
Abstract

Cited by 79 (13 self)
 Add to MetaCart
he development of operating systems for parallel computers has closely followed that for serial computers. At first, the most advanced parallel computers ran in batch mode or singleuser mode. At best, they allowed a static partitioning among a number of users. They were typically designed with a specific computational task in mind or for a certain class of computations. Like serial computers, they are currently evolving towards generalpurpose, interactive, multiuser parallel systems. To explain the underlying motivation for our work, we note that a generalpurpose, interactive, multiuser, multiprogramming parallel environment has the following advantages (in addition to the traditional advantages in uniprocessor environments, such as cost effectiveness): l This environment provides users with a spectrum of computational powers, covering the range from personal computers to supercomputers. A user requiring more computational power can simply use more processors. Thus, a short response time for both simple and computationally intensive tasks is possible. l The spectrum of powers also aids program development and evaluation. Initially, only one processor is needed. Additional processors can be added later with
ACDS: Adapting Computational Data Streams for High Performance
 IN PROCEEDINGS OF INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS
, 2000
"... Dataintensive, interactive applications are an important class of metacomputing (Grid) applications. They are characterized by large dataflows between data providers and consumers, like scientific simulations and remote visualization clients of simulation output. Such dataflows vary at runtime, ..."
Abstract

Cited by 61 (27 self)
 Add to MetaCart
Dataintensive, interactive applications are an important class of metacomputing (Grid) applications. They are characterized by large dataflows between data providers and consumers, like scientific simulations and remote visualization clients of simulation output. Such dataflows vary at runtime, due to changes in consumers' data needs, changes in the nature of the data being transmitted, or changes in the availability of computing resources used by flows. The topic
Diffusive Load Balancing Policies for Dynamic Applications
"... Massively parallel architectures require decentralized and scalable system policies. The paper presents and evaluates a set of local dynamic load balancing strategies inspired by diffusion and characterized by different scopes of locality: the goal is to compare their performance depending on the ..."
Abstract

Cited by 54 (4 self)
 Add to MetaCart
Massively parallel architectures require decentralized and scalable system policies. The paper presents and evaluates a set of local dynamic load balancing strategies inspired by diffusion and characterized by different scopes of locality: the goal is to compare their performance depending on the application dynamicity. The paper shows that only slowly dynamic applications can take advantage of the diffusion policies with larger scope, because they are likely to base their decisions on non obsolete information only for limited load variations. Highly
TIGHT ANALYSES OF TWO LOCAL LOAD BALANCING ALGORITHMS
 SIAM J. COMPUT.
, 1999
"... This paper presents an analysis of the following load balancing algorithm. At each step, each node in a network examines the number of tokens at each of its neighbors and sends a token to each neighbor with at least 2d + 1 fewer tokens, where d is the maximum degree of any node in the network. We ..."
Abstract

Cited by 52 (5 self)
 Add to MetaCart
This paper presents an analysis of the following load balancing algorithm. At each step, each node in a network examines the number of tokens at each of its neighbors and sends a token to each neighbor with at least 2d + 1 fewer tokens, where d is the maximum degree of any node in the network. We show that within O(∆/α) steps, the algorithm reduces the maximum difference in tokens between any two nodes to at most O((d 2 log n)/α), where ∆ is the global imbalance in tokens (i.e., the maximum difference between the number of tokens at any node initially and the average number of tokens), n is the number of nodes in the network, and α is the edge expansion of the network. The time bound is tight in the sense that for any graph with edge expansion α, and for any value ∆, there exists an initial distribution of tokens with imbalance ∆ for which the time to reduce the imbalance to even ∆/2 is at least Ω(∆/α). The bound on the final imbalance is tight in the sense that there exists a class of networks that can be locally balanced everywhere (i.e., the maximum difference in tokens between any two neighbors is at most 2d), while the global imbalance remains Ω((d 2 log n)/α). Furthermore, we show that upon reaching a state with a global imbalance of O((d 2 log n)/α), the time for this algorithm to locally balance the network can be as large as Ω(n 1/2). We extend our analysis to a variant of this algorithm for dynamic and asynchronous
A Dynamic Distributed Load Balancing Algorithm with Provable Good Performance
 In Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures
, 1993
"... The overall efficiency of parallel algorithms is most decisively effected by the strategy applied for the mapping of workload. Strategies for balancing dynamically generated workload on a processor network which are also useful for practical applications have intensively been investigated by simulat ..."
Abstract

Cited by 47 (5 self)
 Add to MetaCart
(Show Context)
The overall efficiency of parallel algorithms is most decisively effected by the strategy applied for the mapping of workload. Strategies for balancing dynamically generated workload on a processor network which are also useful for practical applications have intensively been investigated by simulations and by direct applications. This paper presents the complete theoretical analysis of a dynamically distributed load balancing strategy. The algorithm is adaptive by nature and is therefore useful for a broad range of applications. A similar algorithmic principle has already been implemented for a number of applications in the areas of combinatorial optimization, parallel programming languages and graphical animation. The algorithm performed convincingly for all these applications. In our analysis we will prove that the expected number of packets on each processor varies only by a constant factor compared with that on any other processor, independent of the generation and consumption of ...
First and Second Order Diffusive Methods for Rapid, Coarse, Distributed Load Balancing (Extended Abstract)
, 1998
"... We consider the following general problem modeling load balancing in a variety of distributed settings. Given an arbitrary undirected connected graph G = (V; E) and a weight distribution w 0 on the nodes, determine a schedule to move weights in each step across edges so as to (approximately) ba ..."
Abstract

Cited by 44 (1 self)
 Add to MetaCart
We consider the following general problem modeling load balancing in a variety of distributed settings. Given an arbitrary undirected connected graph G = (V; E) and a weight distribution w 0 on the nodes, determine a schedule to move weights in each step across edges so as to (approximately) balance the weights on the nodes. We focus on diffusive schedules for this problem. All previously studied diffusive schedules can be modeled as w t+1 = Mw t where w t is the weight distribution after the tth step and M is a doubly stochastic matrix. We call these the first order schedules. First order schedules, although widely used in practice, have a serious drawback that they are very slow. In this paper, we introduce a new direction in diffusive schedules by considering schedules that are modeled as: w 1 = Mw 0 ; w t+1 = fiMw t +(1 \Gamma fi)w t\Gamma1 for some a...