Distributing Fast Fourier Transform Algorithms for Grid Computing

An abstract machine based approach to distributing the Fast Fourier Transform (FFT) on a queue of N=2 L complex values across a network of N/2 virtual machines is presented. The strategy involves three stages, in general, (a) constructing the FFT virtual machine (FFT_VM) as a set of communicating virtual machine compute nodes, (b) instantiation of the FFT_VM on a physical “grid” of networked computers, and (c) execution of the FFT data queue. The fundamental computational unit of the FFT_VM is a virtual machine called FFT_VM_Butterfly which reflects a specialised computation and communication unit referred to as the Butterfly algorithm, a core component of the FFT algorithms typified as Cooley-Tukey. This approach affords opportunity to prove the correctness of the software design in various contexts of application based only on rigorous logical analysis and also demonstrates flexibility and adaptability to metacomputing design and construction and use of dynamic execution environments such as computational grids.

[1]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[2]  Robert D. Kent,et al.  A Dynamic Scheme in Support of Scalability in General Purpose Distributed Virtual Environments , 2002 .

[3]  Robert D. Kent,et al.  Toward a Model of Models: Part I , 2002 .

[4]  Rajkumar Buyya,et al.  High Performance Cluster Computing , 1999 .

[5]  Ian T. Foster,et al.  The Globus project: a status report , 1998, Proceedings Seventh Heterogeneous Computing Workshop (HCW'98).

[6]  A. Yavuz Oruç,et al.  Systolic arrays for multidimensional discrete transforms , 1990, The Journal of Supercomputing.

[7]  C. Loan Computational Frameworks for the Fast Fourier Transform , 1992 .

[8]  Krich Sawamiphakdi,et al.  Solving Elastic Contact Between Rough Surfaces as an Unconstrained Strain Energy Minimization by Using CGM and FFT Techniques , 1999 .

[9]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.

[10]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[11]  Andy Schürr,et al.  Computing with graphs and graph transformations , 1999 .

[12]  John W. D. Connolly High Performance Computing in North America , 2002 .

[13]  David King,et al.  Knowledge-based FFT and convolution synthesis for any number of points , 1989 .

[14]  Udi Manber,et al.  Introduction to algorithms , 1989 .

[15]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[16]  C. Chester Techniques in partial differential equations , 1971 .

[17]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .