Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trabajo Sistemas Distribuidos
Trabajo Sistemas Distribuidos
Entrega
Módulo
Sistemas Distribuidos
Nombre de la entrega
Nivel académico
Pregrado
Tipo de entrega
Proyecto grupal
INSTRUCCIONES PARA
REALIZAR LA ENTREGA
Se deben crear tres máquinas virtuales enlazadas a través de una red interna, de tal manera
que se comuniquen y hagan ping.
En segunda instancia, se busca que se aprenda a crear un sistema HPC (High Performance
Compute) enlazando una máquina máster con dos máquinas virtuales esclavas en Linux,
probar la interconexión de las redes y desarrollar los talleres de la segunda y tercera entrega.
Se sugiere que cada estudiante elabore los talleres en su portátil para que adquiera el
conocimiento y luego integre los resultados en el documento maestro.
Para elaborar el proyecto, el estudiante debe ir aplicando los procesos metodológicos del
programa, hacer ejercicios de clase y una vez afianzado el conocimiento, debe construir las
respectivas entregas en las fechas pactadas en el curso.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO
22
ENTREGA PREVIA 1
SEMANA 3
Primera entrega:
Realice el siguiente paso a paso en su computador:
1. Para realizar esta entrega es indispensable que realice las lecturas de los Escenarios 1, 2 y
3, sobre fundamentos de los sistemas distribuidos y el manejo de sockets.
2. Debe instalar VirtualBox 5.2 (software libre) de 64 bits para Windows si su computador
está con este sistema operativo, luego debe montar el sistema operacional Linux
CentOS 6.10 en la máquina virtual (VM) de 50 GB de disco, un core y 1024 GB de
memoria RAM. Durante el proceso de instalación habilite la aplicación de Eclipse y el
Java.
3. Actualice el sistema operacional Linux con el comando: yum -y update y luego expórtela
para tener una copia de respaldo.
b. Elabore un programa socket server que recoja las peticiones de un programa cliente.
c. Elabore un programa socket cliente que solicite capture por consola, el número de
cuenta y un valor en tipo de dato String, arme un mensaje por concatenación de
cadenas de caracteres en la variable mensaje y envíela al programa socket servidor,
el cual debe recibir el mensaje, extraer las subcadenas cuenta y valor y convertirlas
a valores numéricos, así podrá ingresar al archivo y grabar los datos separados por
comas. Si pudo grabar, el socket server debe enviar un mensaje al cliente diciendo:
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO
33
Registro grabado OK, o un NO-OK si la operación falló. El cliente recibe el mensaje,
publica el resultado y cierra la transacción, pero el socket server queda abierto
esperando por si otro cliente solicita un servicio.
d. Repita el proceso hasta grabar 5 registros diferentes en los campos (cuenta y valor).
e. Después el socket cliente hace una consulta, como lo hace un cajero automático,
dando el número de cuenta y el servidor devuelve el valor si encontró la cuenta.
3. Adjunte el enlace del video al documento de la entrega en una parte visible al final, antes
de las conclusiones.
2. Incluya la explicación de las líneas de código de los sockets construidos para el taller.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO
44
ENTREGA PREVIA 2
SEMANA 5
Haga un diseño de una red interna y una red pública NAT, para enlazar tres máquinas
virtuales.
1. Monte una máquina virtual máster con VirtualBox de 50 GB, un core y 1024 de RAM.
Configure una red LAN interna por el dispositivo 1 llamada Rocks y una red pública por el
dispositivo 2, como NAT.
2. Cree una segunda máquina virtual de 30 GB, 1 core y 1024 bytes de RAM con el
nombre “nodo-0”, configure una red LAN interna llamada Rocks por el dispositivo de
red 1.
3. Cree una tercera máquina virtual de 30 GB, 1 core y 1024 bytes de RAM con el nombre
“nodo-1”, configure una red LAN interna llamada Rocks por el dispositivo de red 1.
d. Aprenda a usar los comandos básicos de Rocks, tales como ssh, rocks list,
qstat, qsub, rocks run host, ganglia, etc. Ver manual en: http://digital.csic.es/
bitstream/10261/36977/1/ContrerasB_MatDidact_Programac_rocks.pdf
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO
55
#include <stdio.h>
#include "mpi.h"
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Finalize();
return 0;
}
1. Elabore el documento con la información resumida del estado del arte de lo que es
Rocks.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO
66
3. Adjunte el código fuente a la entrega del programa holamundo modificado (un ciclo)
para que haga el printf al menos mil veces y registre los pantallazos de lo que hace.
4. Adjunte el enlace del video al final del documento antes de las conclusiones.
Referencias
https://www.ele.uva.es/~ivasan/HPC/abstracts/2015_2016_Diego_Jose.pdf
http://www.rocksclusters.org/docs/guides.html
https://e-archivo.uc3m.es/bitstream/handle/10016/18024/PFC-IgnacioVeronaRios.pdf (ver
página 63 en adelante para uso de comandos)
ENTREGA FINAL
SEMANA 7
Tercera entrega
Con base en el Rocks instalado en la entrega 2, desarrolle un programa para calcular el área
bajo la curva de la figura 1(a).
Para esto utilice los fundamentos del cálculo de un área bajo la curva, que consiste en dividir
el área de la curva de la figura 1(a) en trapecios sucesivos como se muestra en la figura 1(b),
mediante sumas sucesivas, lo cual nos lleva al uso de la integración de la función entre los
límites a y b de f(x)dx.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO
77
b
y y = f(x) y y= f(x)dx
a
a b
x a b
(a) (b)
a. Elabore el documento con la información resumida del estado del arte de lo que es un
procesamiento paralelo y lo que usted entendió de programación paralela, junto con
su explicación de lo que usted cree que hace el sistema Rocks.
b. Adjunte el código fuente a la entrega del programa de la integral de f(x)dx junto con la
explicación de lo que hace ese código.
POLITÉCNICO
POLITÉCNICO GRANCOLOMBIANO
GRANCOLOMBIANO
88