Matrix product on heterogeneous master-worker platforms

  • Authors:
  • Jack Dongarra;Jean-François Pineau;Yves Robert;Frédéric Vivien

  • Affiliations:
  • University of Tennessee and Oak Ridge National Lab, USA and University of Manchester UK, Knoxville, USA;Ecole Normale Supérieure de Lyon, Université de Lyon, LIP CNRS - ENS Lyon - INRIA - UCBL, Lyon, France;Ecole Normale Supérieure de Lyon, Université de Lyon, LIP CNRS - ENS Lyon - INRIA - UCBL, Lyon, France;INRIA, Université de Lyon, LIP CNRS - ENS Lyon - INRIA - UCBL, Lyon, France

  • Venue:
  • Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper is focused on designing efficient parallel matrix-product algorithms for heterogeneous master-worker platforms. While matrix-product is well-understood for homogeneous 2D-arrays of processors (e.g., Cannon algorithm and ScaLAPACK outer product algorithm), there are three key hypotheses that render our work original and innovative: - Centralized data. We assume that all matrix files originate from, and must be returned to, the master. The master distributes data and computations to the workers while in ScaLAPACK, input and output matrices are supposed to be equally distributed among participating resources beforehand). Typically, our approach is useful in the context of speeding up MATLAB or SCILAB clients running on a server (which acts as the master and initial repository of files). - Heterogeneous star-shaped platforms. We target fully heterogeneous platforms, where computational resources have different computing powers. Also, the workers are connected to the master by links of different capacities. This framework is realistic when deploying the application from the server, which is responsible for enrolling authorized resources. - Limited memory. As we investigate the parallelization of large problems, we cannot assume that full matrix column blocks can be stored in the worker memories and be re-used for subsequent updates (as in ScaLAPACK). We have devised efficient algorithms for resource selection (deciding which workers to enroll) and communication ordering (both for input and result messages), and we report a set of numerical experiments on a platform at our site. The experiments show that our matrix-product algorithm has smaller execution times than existing ones, while it also uses fewer resources.