Está en la página 1de 9

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN DE

AREQUIPA
FACULTAD DE PRODUCCIÓN Y SERVICIOS

ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS

Asignatura: Sistemas Distribuidos


Laboratorio 05

Docente: Ing. Calienes Rodriguez, Ricardo


Fabrizio

Presentado por:
• Maraza Itomacedo Diego

AREQUIPA – PERÚ
2020
I. INVESTIGACION
Conocer e investigar las distintas arquitecturas de comunicación de mensajes que se
pueden ejecutar en un sistema distribuido, conociendo las características esenciales
de cada propuesta de solución.
II. DESCRIPCION DEL PROCEDIMIENTO REALIZADO EN LA PRACTICA

Revisión de conceptos y recaudación de información del libro de Sistemas Distribuidos


ANDREW S. TANENBAUM

Revisión de conceptos y recaudación de información en internet

III. RESULTADOS OBTENIDOS

A. Multitransmisión
La multitransmisión en un sistema distribuido es el soporte para enviar datos
a varios destinatarios.
1. Multitransmisión al nivel de aplicación
Los nodos se organizan en una red sobrepuesta, las conexiones entre
los nodos de la red sobrepuesta pueden cruzar diversas uniones físicas, y
como tal, los mensajes de enrutamiento dentro de la sobrepuesta pueden no
ser óptimos.
2. Diseminación de datos basada en el gossip
El objetivo principal de estos protocolos epidémicos es propagar
rápidamente información entre una gran colección de nodos utilizando sólo
información local. En otras palabras, no hay un componente central mediante
el cual se coordine la diseminación de información.
▪ Modelos de diseminación de información
Si utilizamos la terminología de epidemias, decimos que un nodo
integrante de un sistema distribuido está infectado cuando mantiene
información que vale la pena propagar hacia otros nodos.
Un nodo que aún no ha visto esta información se conoce como
susceptible. Por último, se dice que un nodo actualizado que no esté
dispuesto o no sea capaz de propagar su información será eliminado.
Observe que suponemos que podemos distinguir la información vieja de la
nueva, por ejemplo, porque se le ha asignado un registro de tiempo o un
número de versión. En este sentido, se afirma que los nodos también
propagan actualizaciones
▪ Eliminación de datos
Los algoritmos epidémicos son extremadamente buenos para propagar
actualizaciones. Sin embargo, tienen un extraño efecto colateral: propagar
la eliminación de un elemento de datos es difícil.
El truco es registrar la eliminación de un elemento de datos como otra
actualización cualquiera, y mantener un registro de dicha eliminación.
▪ Aplicaciones
Descubrir nodos que tienen algunos vínculos de área amplia de salida,
para posteriormente aplicar el gossiping direccional como ya
mencionamos. Otra área de aplicación interesante es la de simplemente
recopilar o, de hecho, agregar información.
B. Sistema de colas de mensajes WebSphere de IBM
Un administrador de colas es responsable de eliminar mensajes de sus colas
de envío, y de reenviarlos a otros administradores de colas. De igual manera, un
administrador de colas es responsable de manejar mensajes de entrada; la toma
de la red subyacente y luego almacena cada mensaje en la cola de entrada
adecuada. Los administradores de colas están conectados por pares a través de
canales de mensajes, los cuales son una abstracción de las conexiones al nivel de
transporte.
▪ Canales
Cada canal de mensaje tiene una cola de envío asociada desde la cual
atrae los mensajes que debe transferir hacia el otro extremo. A lo largo
del canal, la transferencia puede ocurrir sólo si sus MCA de envío y
recepción están arriba y en ejecución. Además de poder iniciar ambos
MCA manualmente, existen diversas formas alternas para iniciar un canal,
algunas de las cuales explicaremos a continuación:
▪ Hacer que una aplicación inicie directamente un extremo del
canal, activando el MCA de envío o recepción
▪ Configurar la cola de envío del canal para iniciar un disparador
cuando un mensaje se coloque primero en la cola.
▪ Iniciar MCA sobre red.
3. Transferencia de mensajes
Para transferir un mensaje desde un administrador de cola hacia otro,
es necesario que cada mensaje lleve su dirección de destino, para lo cual se
utiliza un encabezado de transmisión. Además de la dirección de destino,
también es necesario especificar la ruta que debe seguir un mensaje. La
especificación de la ruta se hace proporcionando el nombre de la cola local de
envió a la que se adjuntará un mensaje. Es importante observar que cada
administrador de cola tiene un nombre único en el sistema que efectivamente
se usa como identificador para ese administrador de cola.
4. Administración de redes superpuestas
Las redes sobrepuestas deben administrarse manualmente. Esta
administración no sólo involucra la creación de canales entre administradores
de cola, sino también el llenado de las tablas de enrutamiento.
Evidentemente, esto puede crecer hasta convertirse en una pesadilla. En el
núcleo de la administración sobrepuesta se encuentra la función de control de
canales, la cual lógicamente se ubica entre los agentes del canal de mensajes.
Este componente permite que un operador dé un seguimiento exacto a lo que
sucede en dos puntos finales de un canal.
C. La interfaz de paso de mensajes (MPI)
La MPI está diseñada para aplicaciones paralelas, y como tal, fue confeccionada
para comunicación transitoria. Utiliza directamente la red subyacente.
Las primitivas deben estar en un nivel de abstracción conveniente (para un
desarrollo sencillo de aplicaciones), y que su implementación sólo implique una
sobrecarga mínima. En la parte central de la MPI se encuentran las primitivas de
mensajería para soportar la comunicación transitoria:
▪ MPI_bsend: . El remitente presenta un mensaje para su transmisión, el
cual, generalmente se copia primero en un bufer local de la MPI del
sistema en ejecución.
▪ MPI_send: Puede bloquear al que llama hasta que el mensaje especificado
se haya copiado en la MPI del sistema en ejecución del lado del remitente,
o hasta que el destinatario haya iniciado una operación de recepción.
▪ MPI_ssend: La comunicación síncrona mediante la que el remitente se
bloquea hasta que su petición es aceptada para un mayor procesamiento.
▪ MPI_sendrecv: Envía una petición al destinatario y se bloquea hasta que le
devuelve una respuesta. Básicamente, esta primitiva corresponde a un
RPC normal.
▪ MPI_isend: Un remitente pasa un apuntador al mensaje, y después la
MPI del sistema en ejecución se ocupa de la comunicación. El remitente
continúa de inmediato.
▪ MPI_issend: Un remitente pasa únicamente un apuntador a la MPI
del sistema en ejecución. Cuando el sistema en ejecución indica que
ha procesado el mensaje, el remitente está seguro de que el destinatario
ha aceptado el mensaje y trabajará en él
▪ MPI_recv: Esta bloquea a quien llama hasta que llega un mensaje
▪ MPI_irecv: Un destinatario indica que está preparado para aceptar
un mensaje. El destinatario puede verificar si en realidad ha llegado
un mensaje, o se bloquea hasta que llega alguno

IV. ANALISIS DE RESULTADOS

Informe de laboratorio: Servicios con datos simples


o Siguiendo los pasos desarrollamos el servicio lo cual es especificar en un fichero
IDL, con extensión .x, el nombre del servicio

o Declarar los servicios que proporcionará el servidor. El siguiente listado (fichero


rusuarios.x del directorio caso1_erroneo/idl) muestra esta declaración, donde
nuevamente se han usado nombres en mayúsculas
o Generamos los resguardos del cliente y del servidor.

o Comenzamos la Implementación del Servidor

o El contenido inicial del fichero del servidor (al que hemos llamado rusuariosd.c)
sería el siguiente:
o Sobre ese esqueleto, se pasa directamente a programar los servicios, usando las
llamadas al sistema de UNIX getpwnam y getpwuid, respectivamente.
o Comenzando implementación Cliente
o En este momento ya se puede compilar y ejecutar este programa cliente.

o Intentemos ejecutar este programa cliente


Se ha producido un error cuando se trata un uid que no corresponde a ningún
usuario en la máquina donde ejecuta el servidor.

o Al ejecutar esa prueba, el nombre de usuario que se imprime no es el del root,


sino el correspondiente al identificador de usuario 1

V. CONCLUSIONES

o La multitransmisión en si asigna una dirección a un grupo de computadoras, por lo


cual esto se esto se emplea con frecuencia para conferencias de audio o video.
o MPI se usa si la portabilidad es necesario, es decir Si se requiere una aplicación
paralela portable, MPI será una buena elección.
o Respecto al Ejemplo realizado se concluye que al programa con las funciones se le
llama “servidor”, y al programa que llama a esas funciones se le llama “cliente”. Es
decir que el servidor está siempre corriendo y a la espera de que algún cliente
llame a alguna de sus funciones.
o Los algoritmos epidémicos para la multitransmisión pueden ser muy útiles para
enviar mensajes, sin embargo, se vuelve un arma de doble filo al ser inseguro y
difícil de controlar el proceso de eliminación en todos los nodos, igualmente es
necesario conocer y diferenciar las directivas MPI para que puedan ser aplicadas
correctamente.

También podría gustarte