Boolean circuit programming: A new paradigm to design parallel algorithms

The Boolean circuit has been an important model of parallel computation, but not many parallel algorithms have been designed on this model because it is 'awkward to program.' To overcome this drawback, we propose a description language for designing parallel algorithms on the Boolean circuit. This description language is to parallel algorithms what the pseudo-code is to sequential algorithms. Through example codes, we show that the description language is a convenient tool to design parallel algorithms due to its general iterative and recursive structures and the ease of modular design.

[1]  Anoop Gupta,et al.  Parallel computer architecture - a hardware / software approach , 1998 .

[2]  János Komlós,et al.  An 0(n log n) sorting network , 1983, STOC.

[3]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[4]  Michael D. Ciletti,et al.  Advanced Digital Design with the Verilog HDL , 2010 .

[5]  Heribert Vollmer,et al.  Introduction to Circuit Complexity: A Uniform Approach , 2010 .

[6]  Peter J. Ashenden,et al.  The Designer's Guide to VHDL , 1995 .

[7]  Joseph JáJá,et al.  An Introduction to Parallel Algorithms , 1992 .

[8]  Wojciech Rytter,et al.  Constant-Time Randomized Parallel String Matching , 1997, SIAM J. Comput..

[9]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[10]  H. James Hoover,et al.  Limits to Parallel Computation: P-Completeness Theory , 1995 .

[11]  Wojciech Rytter,et al.  Efficient parallel algorithms , 1988 .

[12]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[13]  E. Szemerédi,et al.  O(n LOG n) SORTING NETWORK. , 1983 .

[14]  Mike Paterson,et al.  Improved sorting networks withO(logN) depth , 1990, Algorithmica.

[15]  Ramesh Subramonian,et al.  LogP: towards a realistic model of parallel computation , 1993, PPOPP '93.

[16]  John E. Savage,et al.  Models of computation - exploring the power of computing , 1998 .

[17]  Heribert Vollmer,et al.  Introduction to Circuit Complexity , 1999, Texts in Theoretical Computer Science An EATCS Series.

[18]  K. Mani Chandy Parallel program design , 1989 .

[19]  S. Sitharama Iyengar,et al.  Introduction to parallel algorithms , 1998, Wiley series on parallel and distributed computing.

[20]  Eitan M. Gurari,et al.  Introduction to the theory of computation , 1989 .

[21]  Israel Koren Computer arithmetic algorithms , 1993 .

[22]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[23]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .

[24]  Eunhui Park,et al.  An Improved Boolean Circuit for Maximum Matching in a Convex Bipartite Graph , 2008, Fundam. Informaticae.

[25]  Lawrence Snyder,et al.  Type architectures, shared memory, and the corollary of modest potential , 1986 .

[26]  Ingo Wegener,et al.  The complexity of Boolean functions , 1987 .

[27]  G. Bergland Fast Fourier transform hardware implementations--A survey , 1969 .

[28]  G. Bergland,et al.  Fast Fourier transform hardware implementations--An overview , 1969 .