Abstract : We consider here the case of a code-coupling application consisting of two different programs, located on two different clusters linked by a high speed network, which regularly exchange data through a data redistribution.
We study how to achieve this redistribution in an efficient way while minimizing transfer time and network congestion.
We use to reach this goal a modeling of the problem using bipartite graphs. The chosen model allows us to take into account communications setup delays, the different available bandwidths and impose a limit of one simultaneous communication on each network interface (1-port model) and k simultaneous communications on the backbone.
We execute an experimental validation of this model and use it to develop two messages scheduling algorithms. We show that each of them is an approximation algorithm thus guaranteeing results with execution times no worse than 8/3 times optimal times. We conclude the study of these algorithms by experiments showing good performances in practice.
Finally, we extend the initial problem to the case of heterogeneous clusters :
we show that this case imposes us to lift the one-port constraint in
order to achieve performance and we show how to adapt our algorithms accordingly.
We also study the case of redistributions executed under steady state
on networks with more complex topologies allowing local communications.