Mensaje activo


Un mensaje activo (en informática ) es un objeto de mensajería capaz de realizar el procesamiento por sí solo. Es un protocolo de mensajería liviano que se usa para optimizar las comunicaciones de red con énfasis en reducir la latencia al eliminar los gastos generales de software asociados con el almacenamiento en búfer y proporcionar aplicaciones con acceso directo a nivel de usuario al hardware de la red.[1] [2] Esto contrasta con los sistemas de mensajería tradicionales basados ​​en computadora en los que los mensajes son entidades pasivas sin poder de procesamiento. [3]

Los mensajes activos son comunicaciones primitivas para aprovechar todo el rendimiento y la flexibilidad de las interconexiones informáticas modernas. A menudo se clasifican como uno de los tres tipos principales de programación de memoria distribuida, siendo los otros dos datos en paralelo y paso de mensajes . La opinión es que los mensajes activos son en realidad un mecanismo de nivel inferior que se puede utilizar para implementar el paso de mensajes o en paralelo de datos de manera eficiente.

La idea básica es que cada mensaje tiene un encabezado que contiene la dirección o índice de un controlador de espacio de usuario que se ejecutará cuando llegue el mensaje, con el contenido del mensaje pasado como argumento al controlador. Los primeros sistemas de mensajes activos pasaban la dirección del código remoto real a través de la red, sin embargo, este enfoque requería que el iniciador conociera la dirección de la función del controlador remoto al redactar un mensaje, lo que puede ser bastante limitante incluso dentro del contexto de un SPMD.modelo de programación (y generalmente se basa en la uniformidad del espacio de direcciones que está ausente en muchos sistemas modernos). Las interfaces de mensajes activos más nuevas requieren que el cliente registre una tabla con el software en el momento de la inicialización que mapea un índice entero con la dirección local de una función de controlador; en estos sistemas, el remitente de un mensaje activo proporciona un índice en la tabla del manejador remoto, y al llegar el mensaje activo, la tabla se usa para mapear este índice con la dirección del manejador que se invoca para manejar el mensaje. [4]

Otras variaciones de mensajes activos [ cita requerida ] llevan el código real en sí, no un puntero al código. El mensaje normalmente contiene algunos datos. Al llegar al extremo receptor, se adquieren más datos y se realiza el cálculo en el mensaje activo, haciendo uso de los datos del mensaje y de los datos del nodo receptor. Esta forma de mensajería activa no está restringida a SPMD , aunque el originador y el receptor deben compartir algunas nociones sobre a qué datos se puede acceder en el nodo receptor.

Una implementación de nivel superior para mensajes activos también se denomina comunicación Swarm en el proyecto SwarmESB. El modelo básico de los mensajes activos se amplía con nuevos conceptos y se utiliza Java Script para expresar el código de los mensajes activos.