Abstract
In this paper a regular bidirectional linear systolic array (RBLSA) for computing all-pairs shortest paths of a given directed graph is designed. The obtained array is optimal with respect to a number of processing elements (PE) for a given problem size. The execution time of the array has been minimized. To obtain RBLSA with optimal number of PEs, the accommodation of the inner computation space of the systolic algorithm to the projection direction vector is performed. Finally, FPGA-based reprogrammable systems are revolutionizing certain types of computation and digital logic, since as logic emulation systems they offer some orders of magnitude speedup over software simulation; herein, a FPGA realization of the RBLSA is investigated and the performance evaluation results are discussed.
Similar content being viewed by others
References
Aho V, Hopcroft JE, Ullman JD (1975) Design and analysis of computer algorithms. Addison-Wesley, Reading
Bekakos M, Milovanović E, Stojanović NT, Tokić T, Milovanović I, Milentijević I (2002) Transformation matrices for systolic array synthesis. J Electrotechn Math 7:9–15
Bekakos MP, Milovanović IŽ, Milovanović EI, Tokić TI, Stojčev MK (2001) Hexagonal systolic arrays for matrix multiplications. In: Bekakos MP (ed) Series: Advances in high performance computing, vol 5. WITpress, Southampton Boston, pp 175–209
Bondhugula U, Devulapalli A, Fernando J, Wyckoff P, Sadayappan P (2006) Parallel FPGA-based all-pairs shortest paths in a directed graph. In: Proc 20th IEEE international parallel and distributed processing symposium (IPDPS’06), Rhodos, Greece, 2006
Chai SM, Wills DS (2002) Systolic opportunities for multidimensional data streams. IEEE Trans Parallel Distrib Syst 13(4):388–398
Chang P-Y, Tsay J-C (1994) A family of efficient regular arrays for algebraic path problem. IEEE Trans Comput C-43(7):769–777
Djamegni CT, Quinton P, Rajopadhye S, Risset T (2000) Derivation of systolic algorithms for the algebraic path problem by recurrence transformations. Parallel Comput 26:1429–1445
Efremides OB, Bekakos MP (1999) Nonlinear approach to designing processor time optimal systolic arrays for matrix vector multiplication. In: Lipitakis EA (ed) Proc Fourth hellenic-european conference on computer mathematics and its applications, Athens’98, Publ. LEA, 1998, pp 327–336
Efremides OB, Bekakos MP (2001) Designing processor-time optimal systolic configurations. In: Bekakos MP (ed) Series: Advances in high performance computing, vol 5. WITpress, Southampton Boston, pp 339–364
Floyd RW (1962) Algorithm 97, Shortest path, C. ACM 5:345
Fortes JAB, Wah BW, Shang W, Ganapathy KN (1994) Algorithm-specific parallel processing with linear processor arrays. In: Advances in computers. Academic Press, vol 33, pp 1–39
Guibas J, Kung HT, Thompson CD (1979) Direct VLSI implementation of combinatorial algorithms. In: Proc caltech conference on VLSI: architecture, design, fabrication, 1979, pp 509–525
Kung SY (1988) VLSI array processors. Prentice Hall, Englewood Cliffs
Kung SY, Lo SC, Lewis PS (1987) Optimal systolic design for the transitive closure problem. IEEE Trans Comput C-36(5):603–614
Lee P-Z, Kedem ZM (1990) Mapping nested loop algorithms into multidimensional systolic arrays. IEEE Trans Parallel Distrib Syst 1(1):64–76
Leighton FT (1992) Introduction to parallel algorithms and architectures: arrays, trees, hypercubes. Morgan Kaufman, San Mateo
Lewis PS, Kung SY (1991) An optimal systolic array for algebraic path problem. IEEE Trans Comput C-40(1):100–105
Milovanović IŽ, Milovanović EI, Milentijević IZMK, Stojčev MK (1996) Designing of processor-time optimal systolic arrays for band-matrix vector multiplication. Comput Math Appl 32(2):21–31
Myoupo JF, Fabret AC (1996) A modular systolic linearization of the Warshal-Floyd algorithm. IEEE Trans Parallel Distrib Syst 7(5):449–455
Robert Y, Trystram D (1987) An orthogonal systolic array for algebraic path problem. Comput 39:187–199
Shang W, Fortes JAB (1992) On time mapping of uniform dependence algorithms into lower dimensional processor arrays. IEEE Trans Parallel Distrib Syst 3(3):350–363
Sedukhin SG (1990) The designing and analysis of systolic algorithms and structures. Programming 2:20–40 (in Russian)
Tokić TI, Milovanović IŽ, Randjelović DM, Milovanović EI (1998) Determining VLSI array size for one class of nested loop algorithms. In: Gudukbay V, Dagar T, Gursay A, Gelembe E (eds) Proc advances in computer and information sciences, Antalya’98, IOS Press, Amsterdam, 1998, pp 389–396
Varadarajan R, Ravichandran B (1993) Refinement based techniques for mapping nested loop algorithms onto linear systolic arrays, INTEGRATION. VLSI J 14:249–277
Warshall S (1962) Theorem on Boolean matrices. J ACM 9:11–12
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Milovanović, E.I., Milovanović, I.Ž., Bekakos, M.P. et al. Computing all-pairs shortest paths on a linear systolic array and hardware realization on a reprogrammable FPGA platform. J Supercomput 40, 49–66 (2007). https://doi.org/10.1007/s11227-006-0013-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-006-0013-4