## Implementation of an efficient parallel BDD package (1996)

### Cached

### Download Links

- [bears.ece.ucsb.edu]
- [bears.ece.ucsb.edu]
- [bears.ece.ucsb.edu]
- DBLP

### Other Repositories/Bibliography

Venue: | In DAC |

Citations: | 42 - 0 self |

### BibTeX

@INPROCEEDINGS{Stornetta96implementationof,

author = {Tony Stornetta and Forrest Brewer},

title = {Implementation of an efficient parallel BDD package},

booktitle = {In DAC},

year = {1996},

pages = {641--644},

publisher = {ACM}

}

### Years of Citing Articles

### OpenURL

### Abstract

Large BDD applications push computing resources to their limits. One solution to overcoming resource limitations is to distribute the BDD data structure across multiple networked workstations. This paper presents an efficient parallel BDD package for a distributed environment such as a network of workstations (NOW) or a distributed memory parallel computer. The implementation exploits a number of different forms of parallelism that can be found in depth-first algorithms. Significant effort is made to limit the communication overhead, including a two-level distributed hash table and an uncomputed cache. The package simultaneously executes multiple threads of computation on a distributed BDD. 1.

### Citations

3130 | Graph-based algorithms for boolean function manipulation
- Bryant
- 1986
(Show Context)
Citation Context ... that allows several different forms of parallelism to be exploited in depth-first algorithms on a distributed BDD data structure. A formal presentation of definitions and terminology can be found in =-=[4]-=-. Our parallel implementation does not currently support compression techniques such as attributed edges [5] or dynamic variable re-ordering [6]. However, because the distributed algorithms are strong... |

990 | Active messages: a mechanism for integrated communication and computation - Eicken, Culler, et al. - 1992 |

468 | Efficient implementation of a bdd package
- Brace, Rudell, et al.
- 1990
(Show Context)
Citation Context ...upport compression techniques such as attributed edges [5] or dynamic variable re-ordering [6]. However, because the distributed algorithms are strongly based on an efficient non-parallel BDD package =-=[3]-=-, these techniques will be supported in future work. 2. Implementation This section introduces the data structures used to store the distributed BDD. As in [3], our parallel BDD package uses hash tabl... |

439 |
Dynamic variable ordering for ordered binary decision diagrams
- Rudell
- 1994
(Show Context)
Citation Context ...entation of definitions and terminology can be found in [4]. Our parallel implementation does not currently support compression techniques such as attributed edges [5] or dynamic variable re-ordering =-=[6]-=-. However, because the distributed algorithms are strongly based on an efficient non-parallel BDD package [3], these techniques will be supported in future work. 2. Implementation This section introdu... |

152 | Zero-suppressed bdds for set manipulation in combinatorial problems - Minato - 1993 |

133 |
Shared binary decision diagram with attributed edges for efficient Boolean function manipulation
- MINATO, ISHIURA, et al.
- 1990
(Show Context)
Citation Context ...ed BDD data structure. A formal presentation of definitions and terminology can be found in [4]. Our parallel implementation does not currently support compression techniques such as attributed edges =-=[5]-=- or dynamic variable re-ordering [6]. However, because the distributed algorithms are strongly based on an efficient non-parallel BDD package [3], these techniques will be supported in future work. 2.... |

46 |
Zero-Suppressed BDDs for Set Manipulation
- Minato
- 1993
(Show Context)
Citation Context ... in a wide variety of applications where it is necessary to have an efficient means of representing and manipulating Boolean functions, such as in circuit verification [13] and combinatorial problems =-=[12]-=-. A problem of arbitrary size is generally limited by a workstationâ€™s resources, primarily the size of its physical and virtual memory. For instance, when a BDD application begins to utilize its swap ... |

43 |
Breadth-first manipulation of very large binary-decision diagrams
- Ochi, Yasuoka, et al.
- 1993
(Show Context)
Citation Context ...ily the size of its physical and virtual memory. For instance, when a BDD application begins to utilize its swap space, it tends to rely on it heavily. An efficient swapping algorithm was proposed in =-=[7]-=-. However, an alternative is to combine the resources of several workstations. This is advantageous because, by combining resources, there is both more memory and more processing power. To date, paral... |

39 |
et al. Parallel Programming in Split-C
- Culler
- 1993
(Show Context)
Citation Context ...n processor 1. Before the stack frame on processor 1 is deleted, the result is also forwarded to processor 2 (D). 4. Experimental Results The Parallel BDD package is implemented in C++ with a Split-C =-=[8]-=- communications interface. In Split-C, each processor runs a single thread of execution. This thread may either be a local thread of execution or one or more remote requests, however only one of these... |

33 | Efficient breadth-first manipulation of binary decision diagrams
- Ashar, Cheong
- 1994
(Show Context)
Citation Context ...vironments such as a network of workstations (NOW). Often, parallelism may be extracted from a problem in several different ways. For instance, [9] explores parallelism in breadthfirst BDD traversals =-=[11]-=-. In [2], parallelism in operation sequences is examined. This paper describes a technique that allows several different forms of parallelism to be exploited in depth-first algorithms on a distributed... |

25 | Algorithms for Approximate FSM Traversal - Cho, Hatchel, et al. - 1993 |

9 | et al., "LogP: Towards a realistic model of parallel computation - Culler - 1993 |

8 |
Parallel implementation of BDD algorithm using a distributed shared memory
- Parasuram, Stabler, et al.
- 1994
(Show Context)
Citation Context ...nd more processing power. To date, parallel BDD implementations that have been developed include packages for shared memory multi-processor systems [2], for a distributed shared memory (DSM) platform =-=[1]-=-, for SIMD architectures [9], and for vector processors [10]. This paper describes a different type of parallel BDD library package developed for use in non-shared distributed memory multi-processing ... |

7 |
Residue BDD and its application to the verification of arithmetic circuits
- Kimura
- 1995
(Show Context)
Citation Context ...decision diagrams (BDD) are used in a wide variety of applications where it is necessary to have an efficient means of representing and manipulating Boolean functions, such as in circuit verification =-=[13]-=- and combinatorial problems [12]. A problem of arbitrary size is generally limited by a workstationâ€™s resources, primarily the size of its physical and virtual memory. For instance, when a BDD applica... |

5 | et al. "APRIL: A Processor Architecture for Multiprocessing - Agarwal - 1990 |

3 | et al. "Parallel Programming in Split-C - Culler - 1993 |

2 | A Data Parallel Algorithm for Boolean Function Manipulation
- Gai, Rebaudengo, et al.
- 1995
(Show Context)
Citation Context ... date, parallel BDD implementations that have been developed include packages for shared memory multi-processor systems [2], for a distributed shared memory (DSM) platform [1], for SIMD architectures =-=[9]-=-, and for vector processors [10]. This paper describes a different type of parallel BDD library package developed for use in non-shared distributed memory multi-processing environments such as a netwo... |

1 |
Parallel Binary Decision Diagram Manipulation
- Kimura, Igaki, et al.
- 1992
(Show Context)
Citation Context ... by combining resources, there is both more memory and more processing power. To date, parallel BDD implementations that have been developed include packages for shared memory multi-processor systems =-=[2]-=-, for a distributed shared memory (DSM) platform [1], for SIMD architectures [9], and for vector processors [10]. This paper describes a different type of parallel BDD library package developed for us... |

1 |
A Vector Algorithm for Manipulating Boolean Functions Based on Shared Binary Decision Diagrams
- Ochi, Yajima, et al.
- 1991
(Show Context)
Citation Context ...ions that have been developed include packages for shared memory multi-processor systems [2], for a distributed shared memory (DSM) platform [1], for SIMD architectures [9], and for vector processors =-=[10]-=-. This paper describes a different type of parallel BDD library package developed for use in non-shared distributed memory multi-processing environments such as a network of workstations (NOW). Often,... |