J Supercomput (2008) 46: 40–57
DOI 10.1007/s11227-008-0185-1
A message passing strategy for array redistributions
in a torus network
Stavros Souravlas · Manos Roumeliotis
Published online: 26 February 2008
© Springer Science+Business Media, LLC 2008
Abstract The array redistribution problem occurs in many important applications in
parallel computing. In this paper, we consider this problem in a torus network. Tori
are preferred to other multidimensional networks (like hypercubes) due to their better
scalability (IEE Trans. Parallel Distrib. Syst. 50(10), 1201–1218, 2001). We present
a message combining approach that splits any array redistribution problem in a se-
ries of broadcasts where all sources send messages of the same size, thus a balanced
traffic load is achieved. Unlike existing array redistribution algorithms, the scheme
introduced in this work eliminates the need for data reorganization in the memory of
the source and target processors. Moreover, the processing of the scheduled broad-
casts is pipelined, thus the total cost of redistribution is reduced.
Keywords Array redistribution · Superclasses · Pipeline · High performance
Fortran · Communication scheduling
1 Introduction
The problem of array redistribution between several processors is very important, af-
fecting the performance of parallel programs. Many complicated parallel computing
applications are composed of several stages. As the program proceeds from one stage
to another, it may require different distribution of data between several processor
sets. Such applications are the alternate direction implicit method [2] and the multi-
dimensional fast Fourier transform [3–5]. Data redistribution is, therefore, required
S. Souravlas ( ) · M. Roumeliotis
Applied Informatics Department, University of Macedonia, 156 Egnatia St. 54006, Thessaloniki,
Greece
e-mail: sourstav@uom.gr
M. Roumeliotis
e-mail: manos@uom.gr