Comunicación en Sistemas Distribuidos: MPI vs. Middleware Orientado a Mensajes (MOM)

Clasificado en Informática

Escrito el en español con un tamaño de 3,06 KB

Interfaz de Paso de Mensajes (MPI)

Los Sockets resultan insuficientes por dos razones principales:

  • Operan en un nivel de abstracción que solo soporta primitivas básicas de envío y recepción.
  • Fueron creados para protocolos de pilas de propósito general (TCP/IP).

MPI está diseñada específicamente para aplicaciones paralelas con comunicación transitoria.

Características clave de MPI

  • Asume que las fallas (como caídas de procesos o particiones de red) son fatales y no requieren recuperación automática.
  • Asume que la comunicación ocurre dentro de un grupo conocido de procesos identificados.
  • Dentro del grupo, cada proceso tiene un ID único.

Comunicación Persistente Orientada a Mensajes (MOM)

El Middleware Orientado a Mensajes (MOM) da soporte a la comunicación asíncrona persistente.

Capacidad de Almacenamiento de Mensajes

Permite la transmisión sin la necesidad de que el remitente o el destinatario estén activos simultáneamente durante la transmisión del mensaje.

Una diferencia clave entre Sockets Berkeley y MPI es que los sistemas de colas de mensajes están diseñados para soportar la transferencia de mensajes en minutos, y no solo en milisegundos o segundos.

Modelo de Colas de Mensajes

Las aplicaciones se comunican insertando mensajes en colas específicas.

Funcionamiento del Modelo

  • Los mensajes son reenviados a una serie de servidores de comunicación y, en algún momento, se entregan al destino, incluso si este no estaba disponible inicialmente.
  • Cada aplicación tiene su propia cola privada a la que otras aplicaciones pueden enviar mensajes.
  • Una vez que un mensaje es depositado en una cola, permanece ahí hasta que sea eliminado. Esto ocurre sin importar si el remitente o el destinatario están en ejecución.

Administradores de Colas y Ruteadores

Las colas son manejadas por Administradores de Colas, que interactúan directamente con la aplicación que está enviando o recibiendo un mensaje, o por Administradores Ruteadores (enrutadores).

Agentes de Mensajes

En el contexto de la integración de sistemas, es importante saber cómo integrar aplicaciones nuevas y existentes a un solo Sistema Distribuido (SD).

El Problema del Formato

Las aplicaciones deben entender los mensajes. El problema surge cuando una aplicación integrada requiere un formato específico de los mensajes.

  • Si hay muchas aplicaciones que requieren distintos formatos, el formato común tiende a ser una secuencia de bytes.
  • La realidad es que los formatos suelen ser distintos, lo que dificulta la interoperabilidad directa.

Nace el Agente de Mensajes (Message Agent): una puerta de enlace a nivel de aplicaciones dentro de un sistema de colas de mensajes, cuya función principal es gestionar la traducción y el formato de los mensajes entre sistemas heterogéneos.

Entradas relacionadas: