3rd Euromicro Workshop on Parallel and Distributed Processing
An improved data parallel algorithm for Boolean function manipulation using BDDs
San Remo, Italy
January 25-January 27
ISBN: 0-8186-7031-2
S. Gai, Dipartimento di Autom. e Inf., Politecnico di Torino, Italy
M. Rebaudengo, Dipartimento di Autom. e Inf., Politecnico di Torino, Italy
Sonza Reorda M., Dipartimento di Autom. e Inf., Politecnico di Torino, Italy
This paper describes a data-parallel algorithm for boolean function manipulation. The algorithm adopts Binary Decision Diagrams (BDDs), which are the state-of-the-art approach for representing and handling boolean functions. The algorithm is well suited for SIMD architectures and is based on distributing BDD nodes among the available Processing Elements and traversing BDDs in a breadth-first manner. An improved version of the same algorithm is also presented, which does not use virtual processors. A prototypical package has been implemented and its behavior has been studied with two different applications. In both cases the results show that the approach exploits well the parallel hardware by effectively, distributing the load; thanks to the limited CPU time required and to the great amount of memory available, it can solve problems that can not be faced with by conventional architectures.
Index Terms:
Boolean functions; parallel algorithms; data parallel algorithm; Boolean function manipulation; BDDs; Binary Decision Diagrams; SIMD architectures; CPU time; parallel algorithm
Citation:
S. Gai, M. Rebaudengo, Sonza Reorda M., "An improved data parallel algorithm for Boolean function manipulation using BDDs," pdp, pp.33, 3rd Euromicro Workshop on Parallel and Distributed Processing, 1995