Improving MPI applications with a new MPI_Info and the use of the memoization

  • Authors:
  • Alejandro Calderón;Jesús Carretero;Felix García-Carballeira;Javier Fernandez;Daniel Higuero;Borja Bergua

  • Affiliations:
  • Carlos III University of Madrid, Madrid, Spain;Carlos III University of Madrid, Madrid, Spain;Carlos III University of Madrid, Madrid, Spain;Carlos III University of Madrid, Madrid, Spain;Carlos III University of Madrid, Madrid, Spain;Carlos III University of Madrid, Madrid, Spain

  • Venue:
  • Proceedings of the 20th European MPI Users' Group Meeting
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

The MPI forum is actively working for a better MPI standard. The results are the new version 3 of the MPI standard, and the efforts for the incoming MPI 3.1/4.0. The technological changes provide many opportunities for improvements and new ideas. This paper introduces two main contributions in this direction: (1) how to improve the MPI_Info object implementation, and (2) a new way of using the former improved MPI_Info object as a storage solution. The MPI_Info object [1] is described as an unordered set of key-value pairs (both key and value are strings, and keys are unique). And it is implemented as a linked list in the two major MPI implementations available. We propose a new MPI_Info object implementation that (1) is based on the use of hash tables (what improves the overall performance), and (2) abstracts the underlying hash table infrastructure (what facilitates the usage of the most appropriated solution). Our proposal opens the possibility of extending the use of the MPI_Info object as a shared storage solution among MPI processes. To demonstrate the capabilities of our proposal, we explore the utilization of the memoization technique on MPI applications in order to improve the execution performance.