SlideServe
Menu
Préférences
© SlideServe · v2026

Message Queue Dumping

howie avatar
8 diapositives · 274 Views · Jul 19, 2014

Message Queue Dumping. MPI Side Document. History. MPIR and MQD were designed around 1995 MPIR: Process discovery Formally described in the MPIR document in 2010 MQD details were omitted MQD: Message Queue Dumping Many MPI implementations support it and almost all debuggers use it

Message Queue Dumping - slide 1
01 / 8Message Queue Dumping
1 / 17

Télécharger la présentation

Message Queue Dumping
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Message Queue Dumping MPI Side Document

  2. History • MPIR and MQD were designed around 1995 • MPIR: Process discovery • Formally described in the MPIR document in 2010 • MQD details were omitted • MQD: Message Queue Dumping • Many MPI implementations support it and almost all debuggers use it • Not yet documented

  3. The MQD document • V1.0: Documenting existing interface and practice • Vnext: • Merge with the MPIR document to be one side document • Introduce handle introspection interface • Other improvements

  4. Message Queue Dumping Interface • Tools and Debuggers use MQD to extract information about messages • Practically, only debuggers (need symbols) • Typically there are three conceptual queues: • Unexpected Receive • Posted Receive • Send • The MQD allows the following • Querying if MQD is supported • If yes, allows for iterating over active communicators. • Within each communicator, allows for iterating over each message

  5. Terms and Definitions • DLL: An overloaded term that refers to either: dynamic-link library, dynamically loaded library, dynamic shared object file • Image file: An executable or a shared library • May contain symbols necessary for MQD • MPI Process: An OS process that is part of the MPI application. • MPI standard does not require OS process. It’s debuggers’ requirement. • mqs_image: abtract concepts that represents collection of image files • Loaded into the process address space • Can change/relocate during runtime • Host: Where we run the debuggers • Target: Where the MPI process resides

  6. MQD DLL • Provided by the MPI implementation • Debugger does not need to know the internal implementation • Dynamically loaded by the debugger • Found by: value of MPIR_dll_name symbol in the process • Invoke debugger’s provided functionalities through tables of callbacks • Debugger calls routine from the MQD DLL during setup to provide cb’s • This allows the debug DLL to work with any MQD-complaint debugger

  7. Debugger/Debug DLL interaction • See document

  8. What’s next • Can’t just put MQD at the end of MPIR – Need to merge them in a way that makes sense • Handle introspection interface • MPIR_dll_name is not sufficient • 64-bit MPI process has compiled with MPIR_dll_name pointing to 64-bit debug DLL. 32-bit debugger needs to load 32-bit DLL! • Resource management for MPIR • How to know if we’re launched under srun, apprun, mpirun. • What is the job number, etc. • Connectivity information (what are the state of the connection between MPI processes)