ASPEN: An Efficient Algorithm for Data Redistribution Between Producer and Consumer Grids

  • Clément FoyerEmail author
  • Adrian Tate
  • Simon McIntosh-Smith
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11339)


HPC applications and libraries have frequently moved parallel data from one distribution scheme to another, for reasons of performance. In modern times, a resurgence of interest in this data redistribution problem has emerged due to the need to relocate data distributed across one Producer grid onto a different distribution scheme across a Consumer grid. In this paper, we study the efficient algorithms to perform redistribution, and show how the best methods from the literature are still dependent on the number of processors in both grids. We describe a new algorithm ASPEN that exploits more cyclic patterns and relations in the distribution, is not dependent on the total number of processors and is thus well suited for use in a workflow management systems. We describe a preliminary implementation of the algorithm within such a workflow system and show performance results that indicate a significant performance benefit in data redistribution generation.


Data distribution Redistribution Data placement Data locality Memory layout Communication pattern Parallel programming Distributed memory 



This work was partly funded by the EXPERTISE project (, which has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 721865.


  1. 1.
    Guo, M., Nakata, I.: A framework for efficient data redistribution on distributed memory multicomputers. J. Supercomput. 20(3), 243–265 (2001). Scholar
  2. 2.
    Hsu, C.H., Bai, S.W., Chung, Y.C., Yang, C.S.: A generalized basic-cycle calculation method for efficient array redistribution. IEEE Trans. Parallel Distrib. Syst. 11(12), 1201–1216 (2000)CrossRefGoogle Scholar
  3. 3.
    Hsu, C.H., Chung, Y.C., Yang, D.L., Dow, C.R.: A generalized processor mapping technique for array redistribution. IEEE Trans. Parallel Distrib. Syst. 12(7), 743–757 (2001)CrossRefGoogle Scholar
  4. 4.
    Loveman, D.B.: High performance fortran. IEEE Parallel Distrib. Technol. Syst. Appl. 1(1), 25–42 (1993)CrossRefGoogle Scholar
  5. 5.
    Petitet, A.P., Dongarra, J.J.: Algorithmic redistribution methods for block-cyclic decompositions. IEEE Trans. Parallel Distrib. Syst. 10(12), 1201–1216 (1999)CrossRefGoogle Scholar
  6. 6.
    Prylli, L., Tourancheau, B.: Fast runtime block cyclic data redistribution on multiprocessors. J. Parallel Distrib. Comput. 45(1), 63–72 (1997)CrossRefGoogle Scholar
  7. 7.
    Ramaswamy, S., Simons, B., Banerjee, P.: Optimizations for efficient array redistribution on distributed memory multicomputers. J. Parallel Distrib. Comput. 38(2), 217–228 (1996)CrossRefGoogle Scholar
  8. 8.
    Thakur, R., Choudhary, A., Fox, G.: Runtime array redistribution in HPF programs. In: Proceedings of the Scalable High-Performance Computing Conference, pp. 309–316. IEEE (1994)Google Scholar
  9. 9.
    Thakur, R., Choudhary, A., Ramanujam, J.: Efficient algorithms for array redistribution. IEEE Trans. Parallel Distrib. Syst. 7(6), 587–594 (1996)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Clément Foyer
    • 1
    • 2
    Email author
  • Adrian Tate
    • 1
  • Simon McIntosh-Smith
    • 2
  1. 1.Cray EMEA Research LabBristolUK
  2. 2.High Performance Computing Research group, Department of Computer ScienceUniversity of BristolBristolUK

Personalised recommendations