Siguiente: Modularidad.
Subir: Introducción MPI.
Anterior: Operaciones globales.
  Índice General
La necesidad por tener una comunicación asíncrona puede presentarse cuando un computo necesita
acceder los elementos de un dato estructurado compartido en una manera no estructurada. Una implementación
aproximada es el encapsular los datos estructurados en un conjunto de tareas de datos especializados, en la
cual las peticiones de lectura y escritura pueden ser ejecutadas. Este método no es eficiente en MPI debido
a su modelo de programación MPMD.
Una implementación alternativa con MPI, es el distribuir las estructuras de datos compartidas entre
los procesos existentes, los cuales deben solicitar periódicamente las solicitudes pendientes de lectura y
escritura. Para esto MPI presenta tres funciones MPI_IPROBE, MPI_PROBE, MPI_GET_COUNT.
- MPI_IPROBE: chequea existencia de mensajes pendientes sin recibirlos, permitiéndonos
escribir programas que generan cómputos locales con el procesamiento de mensajes sin previo aviso. El mensaje
puede ser recibido usando MPI_RECV.
- MPI_PROBE: es utilizado para recibir mensajes de los cuales se tiene información
incompleta. El siguiente fragmento de código hace uso de estas funciones para recibir un mensaje de una fuente
desconocida y con un número de enteros desconocidos como contenido. Primero detecta la llegada del mensaje
utilizado MPI_PROBE. Después, determina la fuente del mensaje y utiliza MPI_GET_COUNT para
conocer el tamaño del mensaje.Finalmente, direcciona un buffer par recibir el mensaje.
Siguiente: Modularidad.
Subir: Introducción MPI.
Anterior: Operaciones globales.
  Índice General
Ismael Olea
2004-03-22