Implementing fast and reusable datatype processing

Robert Ross, Neill Miller, William D. Gropp

Research output: Contribution to journalArticlepeer-review

Abstract

Methods for describing structured data are a key aid in application development. The MPI standard defines a system for creating "MPI types" at run time and using these types when passing messages, performing RMA operations, and accessing data in files. Similar capabilities are available in other middleware. Unfortunately many implementations perform poorly when processing these structured data types. This situation leads application developers to avoid these components entirely, instead performing any necessary data processing by hand. In this paper we describe an internal representation of types and a system for processing this representation that helps maintain the highest possible performance during processing. The performance of this system, used in the MPICH2 implementation, is compared to well-written manual processing routines and other available MPI implementations. We show that performance for most tested types is comparable to manual processing. We identify additional opportunities for optimization and other software where this implementation can be leveraged.

Original languageEnglish (US)
Pages (from-to)404-413
Number of pages10
JournalLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume2840
DOIs
StatePublished - 2003
Externally publishedYes

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Implementing fast and reusable datatype processing'. Together they form a unique fingerprint.

Cite this