On the Implementation of Parallel Shortest Path Algorithms on a Supercomputer

  • Gabriele Di Stefano
  • Alberto Petricola
  • Christos Zaroliagis
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4330)


We investigate the practical merits of a parallel priority queue through its use in the development of a fast and work-efficient parallel shortest path algorithm, originally designed for an EREW PRAM. Our study reveals that an efficient implementation on a real supercomputer requires considerable effort to reduce the communication performance (which in theory is assumed to take constant time). It turns out that the most crucial part of the implementation is the mapping of the logical processors to the physical processing nodes of the supercomputer. We achieve the requested efficient mapping through a new graph-theoretic result of independent interest: computing a Hamiltonian cycle on a directed hyper-torus. No such algorithm was known before for the case of directed hypertori. Our Hamiltonian cycle algorithm allows us to considerably improve the communication cost and thus the overall performance of our implementation.


Hamiltonian Cycle Priority Queue Short Path Problem Sequential Algorithm Single Instruction Multiple Data 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ahuja, R.K., Magnanti, T.L., Orlin, J.B.: Network Flows. Prentice-Hall, Englewood Cliffs (1993)Google Scholar
  2. 2.
    Aglietti, F., et al.: An overview of the APEmille parallel computer. Nucl. Inst. And Methods in Phys. A 389, 56–58 (1997)CrossRefGoogle Scholar
  3. 3.
    Brodal, G.: Priority queues on parallel machines. In: Karlsson, R., Lingas, A. (eds.) SWAT 1996. LNCS, vol. 1097, pp. 416–427. Springer, Heidelberg (1996)Google Scholar
  4. 4.
    Brodal, G., Träff, J., Zaroliagis, C.: A Parallel Priority Queue with Constant Time Operations. Journal of Parallel and Distributed Computing 49, 4–21 (1998)MATHCrossRefGoogle Scholar
  5. 5.
    Cabasino, S., D’Autilia, R., Paolucci, P.S., Todesco, G.M.: The TAO language (1995),
  6. 6.
    Chen, D.Z., Hu, X.: Fast and efficient operations on parallel priority queues. In: Du, D.-Z., Zhang, X.-S. (eds.) ISAAC 1994. LNCS, vol. 834, pp. 279–287. Springer, Heidelberg (1994)Google Scholar
  7. 7.
    Chen, C.C., Quimpo, N.F.: On strongly Hamiltonian abelian group graphs. Lecture Notes in Mathematics, vol. 884, pp. 23–34 (1981)Google Scholar
  8. 8.
    Curran, S.J., Witte, D.: Hamilton paths in Cartesian products of directed cycles. Ann. Discrete Mathematics 27, 35–74 (1985)MathSciNetGoogle Scholar
  9. 9.
    Das, S.K., Pinotti, M.C., Sarkar, F.: Optimal and load balanced mapping of parallel priority queues in hypercubes. Trans. Par. Dist. Syst. 7, 555–564 (1996) [Corr. 896]CrossRefGoogle Scholar
  10. 10.
    Dijkstra, E.W.: A note on two problems in connexion with graphs. Numer. Math. 1, 269–271 (1959)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Di Stefano, G., Petricola, A., Zaroliagis, C.: On the Implementation of Parallel Shortest Path Algorithms on a Supercomputer. Tech. Rep. Univ. of L’Aquila (2006)Google Scholar
  12. 12.
    Francia, M., Panizzi, E., Petricola, A., Visconti, G.: Parallel Simulation of Orography Influence on Large-Scale Atmosphere Motion on APEmille. In: ACM Computing Frontiers 2004, pp. 320–325 (2004)Google Scholar
  13. 13.
    Fredman, M.L., Tarjan, R.E.: Fibonacci Heaps and their uses in Improved Network Optimization Algorithm. Journal of ACM 34(3), 596–615 (1987)CrossRefMathSciNetGoogle Scholar
  14. 14.
    Jájá, J.: An Introduction to Parallel Algorithms. Addison-Wesley, Reading (1992)MATHGoogle Scholar
  15. 15.
    Karp, R.M., Ramachandran, V.: Parallel Algorithms for Shared-Memory Machines. Handbook of Theoretical Computer Science A, C17, 869–942 (1990)MathSciNetGoogle Scholar
  16. 16.
    Leontiev, V.K.: Hamiltonian cycles in torical lattices. In: DMTCS Conference, AE, pp. 397–400 (2005)Google Scholar
  17. 17.
    Panizzi, E., Sacco, G.: The APEmille project. In: HPCN 2000. LNCS, pp. 539–542. Springer, Heidelberg (2000)Google Scholar
  18. 18.
    Rankin, R.A.: A campanological problem in group theory. Proc. Camb. Phil. Soc. 44, 17–25 (1948)MATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Stone, H.S.: High Performance Computer Architecture. Addison-Wesley, Reading (1990)Google Scholar
  20. 20.
    Trotter, W., Erdös, P.: When the Cartesian product of directed cycles is Hamiltonian. J. Graph Theory 2, 137–142 (1978)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Gabriele Di Stefano
    • 1
  • Alberto Petricola
    • 1
  • Christos Zaroliagis
    • 2
  1. 1.Dipartimento di Ingegneria Elettrica e dell’InformazioneUniversità dell’AquilaItaly
  2. 2.Computer Technology Institute and University of PatrasGreece

Personalised recommendations