Proyecto Sistemas Operacionales Distribuidos-20191-1

Proyecto grupal _ pregrado-T2690PU1E1AED1V01 Módulo SISTEMAS DISTRIBUIDOS PREGRADO Nivel académico Nombre del proyecto

Views 146 Downloads 0 File size 294KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Proyecto grupal _ pregrado-T2690PU1E1AED1V01 Módulo

SISTEMAS DISTRIBUIDOS PREGRADO

Nivel académico Nombre del proyecto

Implementación de tecnologías Sockets, Procesamiento paralelo y programación paralela

Competencias y Conocer los conceptos fundamentales de los sistemas distribuidos, aprender a procesos transaccionales en máquinas virtuales con VirtualBox e instalar el elementos de competencia a desarrollar sistema operacional distribuido Rocks, aprender a compilar MPI con gcc, desarrollar ejercicios de programación paralela

Indicadores de competencia

DEFINICIÓN DEL PROYECTO Descripción del proyecto. Se deben crear tres máquinas virtuales enlazadas a través de una red interna, de tal manera que se vean y hagan ping. El objetivo es aprender en primera estancia a trabajar con aplicaciones distribuidas transaccionales para lo cual se debe montar una máquina virtual con Linux y sobre esta máquina instalar el eclipse para Java. Una vez echa esta parte de la primera entrega desarrollar un taller de sockets que se explica más adelante. En segunda estancia, se busca que se aprenda a crear un sistema HPC (High performance Compute) enlazando una maquina master con dos máquinas virtuales esclavas en Linux, probar la interconexión las redes y desarrollar los talleres de la segunda y tercera entrega. SUGENRENCIA. Se sugiere que cada estudiante, elabore en su portátil para que vaya adquiriendo el conocimiento y luego integrar los resultados del grupo en el documento maestro. Al finalizar el módulo, se debe entregar un DOCUMENTO COMPLETO, con el desarrollo de las respectivas competencias.

1 [ POLITÉCNICO GRANCOLOMBIANO ]

INSTRUCCIONES PARA ENTREGAR EL PROYECTO El estudiante debe ir elaborando las entregas 1, 2 y 3 en cada semana conforme a las instrucciones para la elaboración del proyecto. 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 comenzar a construir las respectivas entregas en las fechas pactadas en el curso ENTREGA 1 (SEMANA 3) Primera entrega: 1. Para realizar esta entrega es indispensable que realice las lecturas de los escenarios 1 y 2 sobre Fundamentos de los sistemas distribuidos y el manejo de sockets.

2. Instalar VirtuaBox 5.2 de 64 bits para Windows si su computador está con sistema operacional Windows (Software libre), luego montar el sistema operacional Linux CentOS 6.8 en la Máquina Virtual (VM) de 40 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. Actualizar el sistema operacional (yum -y update) y exportarla para tener una copia de respaldo 4. Desarrollar una aplicación Cliente-Servidor para un taller transaccional utilizando sockets así: a. Montar el compilador de Java b. Cree un archivo llamado datos.dat utilizando la utilidad manejo de archivos en Java. El archivo debe guardar los siguientes campos: numero de cuenta, nombre del cliente y saldo. Grabe los datos para 5 clientes. c. Elabore un programa socket Server que recoja las peticiones de un programa cliente. d. Elabore un programa socket Cliente que solicite al programa socket server que lea un registro dado, si lo encuentra, entonces modifique el saldo ya sea restándole un valor o sumándole un valor y le envíe un OK al cliente si la operación fue exitosa, o un NOOK si la operación falló. El cliente recibe el mensaje y cierra la transacción, pero el socket servidor queda abierto esperando por si otro cliente solicita servicio. e. Después el socket cliente hace una consulta como lo hace un cajero automático.

f. Elabore el documento con la documentación resumida del estado del arte de lo que es la programación con sockets y agregue el diseño de su aplicación y la trazabilidad con las pruebas del proceso descrito anteriormente.

ENTREGA 2 (SEMANA 5) Haga un diseño de una red interna y una red publica NAT, para enlazar tres máquinas virtuales.

2 [NOMBRE DEL MÓDULO]

1. Monte una máquina virtual MASTER 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 “nodo1” Configure una red LAN interna llamada Rocks por el dispositivo de red 1. 4. PROCEDA A MONTAR EL SISTEMA OPERACIONAL DISTRIBUIDO HPC con ROCKS

a. Descargue el Rocks 6.1.1 o 6.2 de la página oficial de Rockscluster.org y proceda a su instalación. http://www.rocksclusters.org/downloads.html b. Instale el Rocks server en el Master. Vaya documentando el proceso. c. Instale el Rocks cliente en los nodos y vaya documentado el proceso d. Aprenda a usar los comandos básicos de Rocks, tales como ssh, rocks list, ganglia, etc. e. Escriba el programa “holamundo.c” que se deja a continuación, compílelo y córralo. Luego adjunte las evidencias al documento de la segunda entrega. (Solicite asistencia al tutor por el correo y en los encuentros). #include #include "mpi.h" int main(int argc, char *argv[ ]) { int rank, size; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); printf(“Soy el core nro. %d de %d\n”, rank, size); MPI_Finalize(); return 0; }

Referencias: https://www.ele.uva.es/~ivasan/HPC/abstracts/2015_2016_Diego_Jose.pdf http://www.rocksclusters.org/docs/guides.html

3 [ POLITÉCNICO GRANCOLOMBIANO ]

https://e-archivo.uc3m.es/bitstream/handle/10016/18024/PFC-IgnacioVeronaRios.pdf página 63 en adelante para uso de comandos)

(ver

ENTREGA 3 Y SUSTENTACIÓN (SEMANAS 7) Tercera entrega: Con base en el Rocks instalado en la entrega 2, desarrolle un programa utilizando los fundamentos del cálculo de un área bajo la curva, que consiste en dividir el área de la curva de la figura 5.a de la lectura del escenario 6, página 23, en trapecios sucesivos como se muestra en la figura 5b, 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. b

y

y

y = f(x)

y=

f(x)dx a

a

(a)

b

x

a

(b)

b

Revise las referencias [1, 2] de la lectura del escenario 6 y en su máster y con dos Cores (tres máquinas virtuales), convierta el seudocódigo de la lectura en código revise otras bibliografías, complete el programa en C paralelo y hágalo correr. Agregue todas las evidencias y complete el documento de la entrega y aliste la sustentación en un video que debe cargar en YouTube cargando el enlace en la plataforma o cargue el video en la plataforma si el video es liviano.

CARGUE EL DOCUMENTO FINAL. Este documento debe contener todo lo requerido en la tercera entrega.

ENTREGA 3 Y SUSTENTACIÓN (SEMANAS 7 Y 8)

4 [NOMBRE DEL MÓDULO]