jueves, 24 de mayo de 2012
Ultima semana
Lo sucedido con el proyecto
Pues en si el proyecto en mi nobre opinion hubo un poco de mala organización de parte del grupo y un poco encarreraro la realizacion del proyecto y pues si se pudiera regresar un poco el tiempo creo que lo que se tendria que corregir seria principal mente la mala organizacion que se tuvo.
Tambien se realizo un cluster con lam e interfaz grafica de manera loca aqui el link en la wiki :
http://elisa.dyndns-web.com/progra/clusterfuncional#Reuni.2BAPM-n_21_de_mayo_2012
Nominaciones:
Juan Carlos
Rafa
Pedro
jueves, 17 de mayo de 2012
Semana 15
Continuando con la entrada anterior intentamos realizar el pvm pero ahora de manera grafica tratar de jalar el pvm pero con varias complicaciones, al igual que en la terminal fue necesaio crear una area local y modificar los diferentes archivos host ademas de instalar los paquete para la interfaz grafica del pvm.
Esto se puede instalar desde Synaptico, solo buscando por xpvm y posteriormente lo instalamos :)
WIKI: LINK
Colaboradores para realizar esto: Obed, Esteba, Jony y Ave
Nominaciones:
Juan carlos
Rafa
Por el monitorio de cluster :D
Esto se puede instalar desde Synaptico, solo buscando por xpvm y posteriormente lo instalamos :)
WIKI: LINK
Colaboradores para realizar esto: Obed, Esteba, Jony y Ave
Nominaciones:
Juan carlos
Rafa
Por el monitorio de cluster :D
miércoles, 9 de mayo de 2012
Lab Sistemas Distribuidos y Paralelos
Grid computing
Que es?
Grid computing es una de las tecnologias mas inovadoras en la rama de computación, conrdinando esfuerzo para ciertos tipos de recursos que no estan sujetos a un control centralizado.
El termio Grid se refiere a una infraestructura que permite el uso de los ordenadores de forma colectiva con alto rendimiento con gran seguridad entre cada uno de sus integrantes. Esta especie de malla se concidera un sola supercomputadora.
Como funciona?
Para que esta "MALLA" funcione correctamente es necesario que este montado en un middleware que es un software para controlar las comunicaciones entre los diferentes nodos de manera flexible y limpia. Ademas se encarga de buscar la informacio y la manera de crear estadisticas de estas comunicaciones.
2-. Uso de los recursos:
En lo que trata realizar el grid es una serie de conexiones que aprovechen al maximo los diferentes tipos de recursos, acceso directo remoto a los ordenadores, software de lso mismos, dispositivos perifericos y agrupar eficientemente los procesos para realizar tareas de alta conplejidad.
3-. Seguridad:
Como esta MALLA se maneja de diferentes ordenadores o usuarios, es necesario poner una estandirizacion sobre quien tiene derecho a utlizar tal dispositivo, correr alguna aplicacion o por cuanto tiempo.
Arquitectura del Grid:
Aqui se compara la Arquitectura del Grid con el protocolo de Internet
La capa de aplicación es el software que interactua con el usuario ya sea como interfaz grafica o desde alguna terminal, para correr las diferentes aplicaciones y seguir con las capas de los recursos y distribuirlo de manera uniforme.
Posteriormente que se aya pasado la capa de aplicacion, sigue la de Recursos anteriormente, y agrupar eficientemente los procesos en esta capa.
En la capa de Conectividad como su nombre lo indica, conecta con toda la infraestructura y la parte de ella que intactuara con lso diferentes procesos.
Aplicaciones del Grid
Súper computación distribuida:
Son aquellas aplicaciones que no se pueden realizar con un solo nodo.
Sistemas distribuidos en tiempo real:
Son las aplicaciones que generan datos constantemente y que necesitan ser analizados en tiempo re
Servicios puntuales:
En estos tipos de serivicos no importa realemente el poder del procesamiento de datos si no la manera enq eu esta la arquitectura implementada y la buena organizacion de los recursos
Proceso intensivo de datos:
Este metodo requeire de uan gran capacidad de almacenamiento donde un unico ordenador u nodo es imposible de ofrecer este tipo de serivico, y en este caso interviene el Grid para mejorar el procesamiento de datos entre todas las redes y mejorar significativamente el espacio de almacenamiento
Entornos virtuales de colaboración.
En este caso se necesita de igualmanera gran cantidad de procesamiento para poder generar entornos visuales en 3D de manera distribuida
ligas:
http://www.cyta.com.ar/ta0704/v7n4a1.htm
http://www.ramonmillan.com/tutoriales/gridcomputing.php
http://www.textoscientificos.com/redes/computacion-grid/ventajas-desventajas-aplicaciones
Entrada para clase
En esta semana nos dedicamos un poco a probar sobre como se utilizar el PVM (Parallel Virtual Machine). Esta maquina virtual se utiliza para correr aplicaciones, tareas entre diferentes computadoras compartiendo sus recursos, procesadores y memoria de manera heterogenea como si fuera un cluster.
Esto fue obra de: Obed, Jony y yo
Instalación, configuración y corrida
Tambien existe uan forma grafica para este tipo de aplicaciones con algo llamado xPVM continuara....
Entrada a la wiki: WIKI
Nominaciones:
Para la compañera adriana y su aportacion de la aplicacion de Balanceo para compartir diferentes trabajos y ser una especie de cluster:
BLOG
Esto fue obra de: Obed, Jony y yo
Instalación, configuración y corrida
Tambien existe uan forma grafica para este tipo de aplicaciones con algo llamado xPVM continuara....
Entrada a la wiki: WIKI
Nominaciones:
Para la compañera adriana y su aportacion de la aplicacion de Balanceo para compartir diferentes trabajos y ser una especie de cluster:
BLOG
miércoles, 2 de mayo de 2012
Semana 13
En esta semana intentamos implementar todo lo anterior y unirlo con el cluster y verificar que todo salga de igual manera como si lo estuvieramos haciendo en una red local.
Esto lo realise en conjunto con mi compañero jonathan ya teniendo previo la instalacion de hamachi y la comunicación entre las dos computadoras.
Ya se realizo lo anterior y se empeso a seguir el tutorial que se encuentra en la wiki. Se utilizio las ip que nos marcava el hamachi para realizar el cluster.
Posteriormente de tener todo preparado listo, la computadora de jonathan seria el nodo principal, y en casi de mi comptadora seria el esclavo.
Se inicio el demonio primero para que se pudiera corre con
mpd &
Psosteriormente como eran dos nodos solamente se iso de esta manera:
$ mpdboot --verbose -n 2
Esto lo realise en conjunto con mi compañero jonathan ya teniendo previo la instalacion de hamachi y la comunicación entre las dos computadoras.
Ya se realizo lo anterior y se empeso a seguir el tutorial que se encuentra en la wiki. Se utilizio las ip que nos marcava el hamachi para realizar el cluster.
Posteriormente de tener todo preparado listo, la computadora de jonathan seria el nodo principal, y en casi de mi comptadora seria el esclavo.
Se inicio el demonio primero para que se pudiera corre con
mpd &
Psosteriormente como eran dos nodos solamente se iso de esta manera:
$ mpdboot --verbose -n 2
y para verificar que esten los dos nodos nomas se ase:
mpdtrace
y de prueba corrimos un programa en python en donde nos genera una imagen de un fractal.
Nominaciones:
Carmen Suarez
Jonathan
domingo, 29 de abril de 2012
Semana 12 Distribuidos
SEMANA 12
Todo esto lo hicimos entre triana, adriana y ave :P
ssh + hamachi + firewall
En esta semana trabajamos con Hamachi y SSH cosa que anteriormente se habia trabajado pero no se habia logrado la conectividad, ya que al realizar pruebas con los pings las computadoras no respondían. Al igual que la implementacion del firewall predefinido de ubuntu.
Lo primero que se realizo, fue instalar el hamachi en los diferentes computadoras a utilizar en este caso se instaló en la compu de triana, adriana y ave.
Esto de hamachi anteriormente se abria hablado sobre como instalarlo en la wiki al igual el manejo del ssh y el firewall solo nos dimos a la tarea de juntar todo.
Posteriormente uno de nosotros creo una red donde todos se podran conectar remotamente sin necesidad de estar en una misma red.
De la siguiente manera:
hamachi create aveits y nos pide algun password se la damos y listo :D
Las demas computadores se conectarían de la siguiente manera:
hamachi join aveits y ponemos la contraseña y ya con esto estámos dentro de la red virtual que hamachi nos ofrece.
Posteriormente para probar que todo funciona, podemos hacer ping a cualquiera de los nodos y verificar que si nos manda alguna respuesta:
Posterior a esto se realizó a generar los diferentes llaves para cada uno e los usuarios y copiarlos a las diferentes maquinas.
Luego se abrio el puerto 22 para que no hubiera ningun tipo de problema y para finalizar se vuelve a probar las ip con el ping.
Ya para finalizar se conectó remotamente a las diferentes maquinas con las ip que nos asigna hamachi y todo listo :D
Conexion desde la compu mia a la de adriana:
Puntos a jony por los envios de mensaje en c
Posdata: La entrada a la wiki de esto lo subio triana :D punts para el por eso y a adriana tambienWIKI
miércoles, 18 de abril de 2012
Avanze
En esta ocación investigue un poco sobre la manera en que se programa con la libreria mpi en congunto con pyMPI
aki el link:
LINKI WIKI
referencias
https://computing.llnl.gov/code/pdf/pyMPI.pdf
http://pympi.sourceforge.net/
Nomino a mi compañero Obed por las diferentes subrutinas que se pueden utilizar con esta libreria, las menciona en la misma entrada de la liga de la wiki antes de los ejemplos.
domingo, 15 de abril de 2012
Avances de semana
En esta ocación me dedique a buscar diferentes tipos de librerias para poder crear programas en paralelos y la instalacion respectivamente.
En el caso de lenguaje scrip python existen diferentes tipos de librerias entre esas, existe una que se llama pyMPI que se utiliza para programas en paralelo.
Pueden descargar la libreria del siguiente link:
Libreria pyMPI
Ya descargada la libreria se descomprime en cualquier directorio y posteriormente se pasa a la instalacion, como toda libreria o por lo general se siguen los siguientes pasos:
Dentro de la carpeta ya descomprimida se realiza los siguientes comandos desde terminal:
1-. ./configure
2-. sudo make
3-. sudo make install
En ciertas ocaciones pueden resultar una serie de problemas al hora de instalar este paquete, en caso de que no funcione es necesario instalar unos cierto paquetes de python desde el synaptic
como:
python3-dbg
pythonl3-all
python3-all-dbg
Ya posteriormente teniendo los paquetes intentamos nuevamente instalarlo con los pasos anteriores despues de esto sabremos si estan instalados correctamente, si despues del make install nos muestra lo siguiente:
Ya teniendo todo listo ya se puede ejecutar los diferentes tipos de programas paralelos de python
con el siguiente comando:
mpirun -np 3 pyMPI Programa.py
En el caso de lenguaje scrip python existen diferentes tipos de librerias entre esas, existe una que se llama pyMPI que se utiliza para programas en paralelo.
Pueden descargar la libreria del siguiente link:
Libreria pyMPI
Ya descargada la libreria se descomprime en cualquier directorio y posteriormente se pasa a la instalacion, como toda libreria o por lo general se siguen los siguientes pasos:
Dentro de la carpeta ya descomprimida se realiza los siguientes comandos desde terminal:
1-. ./configure
2-. sudo make
3-. sudo make install
En ciertas ocaciones pueden resultar una serie de problemas al hora de instalar este paquete, en caso de que no funcione es necesario instalar unos cierto paquetes de python desde el synaptic
como:
python3-dbg
pythonl3-all
python3-all-dbg
Ya posteriormente teniendo los paquetes intentamos nuevamente instalarlo con los pasos anteriores despues de esto sabremos si estan instalados correctamente, si despues del make install nos muestra lo siguiente:
Ya teniendo todo listo ya se puede ejecutar los diferentes tipos de programas paralelos de python
con el siguiente comando:
mpirun -np 3 pyMPI Programa.py
miércoles, 28 de marzo de 2012
Reporte Sistemas Distribuidos y Paralelos 8
En esta semana se realizaron una explicación breve de lo que cada equipo necesitaba hacer para este proyecto y una manera de organización. Al igual se empezaron a realizar las diferentes tipos de instalaciones de paquetes para el Cluster.
También realice un sencillo ejemplo de la implementación de "Executor" para java
Link del wiki: "Executor"
Nominaciones:
Una nominación a mi compañero Jonathan por su tutorial de mpi para c y su implementación en el Cluster.
Liga wiki: Tutoc
Y para José Guadalupe pos su entrada sobre el tema de OpenMosix y la manera en que se Compila el kernel.
Liga: OpenMosix
También realice un sencillo ejemplo de la implementación de "Executor" para java
Link del wiki: "Executor"
Nominaciones:
Una nominación a mi compañero Jonathan por su tutorial de mpi para c y su implementación en el Cluster.
Liga wiki: Tutoc
Y para José Guadalupe pos su entrada sobre el tema de OpenMosix y la manera en que se Compila el kernel.
Liga: OpenMosix
jueves, 22 de marzo de 2012
semana 7
Avances
Se realizo una reunión para verificar los diferentes tipos de avances que se a realizado entre todo el grupo en especial de los encargados del hardware del cluster por le momento y
realizar una calendarización para que todo salga bien y a tiempo.
Calendarización: https://docs.google.com/document/d/13SpAJyJ9EDO5ae6EiB91b-qfeyl9qfMOg7tXPLvnPQA/edit?pli=1
Se acordó utilizar la distribución de ubuntu 10.04 TLS de 64 bits para mejor rendimiento del sistema o Cluster. Ya instalado se pasara a realizar las diferentes tipos de configuraciones necesaria para poder realizar el funcionamiento correcto del cluster con el uso de VPN donde los compañeros Rafa y Juan Carlos hablaron sobre como se utilizaba y de que trataba este sistema.
Posteriormente en las semanas siguientes se continuara con lo planeado en la calendarización y realizar las diferentes tipos de pruebas necesarias y la implementación de diferentes tipos de lenguajes de programación ya sea python, java o lenguaje c.
Aportación de la semana pasada, pasada a la wiki:
Hilos en c
Nominaciones para Rafa y Juan Carlos por la realización de la junta
miércoles, 7 de marzo de 2012
Reporte de distribuidos(por el momento)
Thread en c (POSIX)
Los hilos son diferentes tipos de programas o ejecuciones de maneras continuas dentro de un mismo programa , ya sea en lenguaje java, python o en este caso "c".
Existen hoy en día diferentes tipos de implementación de los thread en concurrencia o programas en paralelismo.
Se puede utilizar una librería llamada <pthread.h> para utilizar estos importantes recursos llamados thread. En el caso de se se puede utilizar los hilos para que en un solo programa, correr múltiples métodos al mismo tiempo y controlar mas eficientemente los recursos.
Para declarar los thread en c se pone de la siguiente manera:
phtread_t thread1
Para poder correr los thread es parecido en java solo ponemos lo siguiente:
pthread_create(&thread,NULL,hilo,NULL);
Posteriormente se declaran los métodos en donde irán los procesos que realizaran los hilos:
void * hilo()
{
while(1)
{
}
}
Es aquí dentro del loop infinito lo que hará el hilo
pthread_join(thread,NULL)
Libreras útiles en "c" para uso de thread
<semaphore.h> //librería estilo semáforo
Esta librería ayuda para hacer esperar un thread a otro que termine de ejecutarse o detenerlos simultáneamente. Se puede iniciar el semáforo con lo siguiente:
sem_post(variable)
E indicar al otro thread que inicie si ejecución o hacer esperar el thread:
sem_wait(variable)
A continuacion un ejemplo de un programa en c con hilos:
jueves, 1 de marzo de 2012
Reporte de semana Distribuidos y Paralelos
En esta semana me dedique a la investigación del funcionamiento de los hilos en java y la sincronización de métodos, estos tipos de sincronizaciones funcionan para ejemplos como la cena de los filósofos, el productor y consumidor entre otros.
Liga a wiki: Segunda versión de hilos
miércoles, 22 de febrero de 2012
Reporte 4 Configuración de firewall vía terminal
Aquí les dejo un pequeño aporte sobre la configuración del firewall, antes de iniciar, en esta semana tratamos de reparar un poco el desastre que teníamos con la ejecución del cluster y me gustaría nominar a Jose Guadalupe por que resolvió una de las partes importantes que era lo de montar correctamente las carpetas a los usuario mpi(general de los nodos) con la utilización del servidor nfs.
Solo ayude un poco mas al cluster y la configuración del firewall para desbloquear puertos esenciales como el 22.
liga: wiki
liga del código en java mostrando funcionalidad de los hilos en java(solo lo subí de la entrada anterior) : wikihilos
Espero aportar más la siguiente semana con algún algoritmo mpi para el cluster
Solo ayude un poco mas al cluster y la configuración del firewall para desbloquear puertos esenciales como el 22.
liga: wiki
liga del código en java mostrando funcionalidad de los hilos en java(solo lo subí de la entrada anterior) : wikihilos
Espero aportar más la siguiente semana con algún algoritmo mpi para el cluster
jueves, 16 de febrero de 2012
Clase de distribuidos
in this week we are moddify the porccees in the cluster
the problem we have is some permission about all node and ruter of this bloqued all ports
before this problem we need to created a new comon user for all node
we can use te next line:
root@nodo :$/ add user mpi
in the user mpi need to generaed the keys
and the authorized keys and public key is in the folder .ssh
wiki explain this
next step is only agreed all permision in all node
esteban, me and obed help in this part, with generaed keyś and copy in all node and we prove with me computer and estabn computer.
link of wiki:
Wiki cluster
the problem we have is some permission about all node and ruter of this bloqued all ports
before this problem we need to created a new comon user for all node
we can use te next line:
root@nodo :$/ add user mpi
in the user mpi need to generaed the keys
and the authorized keys and public key is in the folder .ssh
wiki explain this
next step is only agreed all permision in all node
esteban, me and obed help in this part, with generaed keyś and copy in all node and we prove with me computer and estabn computer.
link of wiki:
Wiki cluster
Hilos java
Para utilizar hilos en java es sencillo y se pueden utilizar de dos maneras:
heredando desde un método Thread o utilizando una implementación con Runnable
La segunda opción es utilizada cuando se hereda para métodos ya sean como swing, u otro tipo de clases y no es posible heredad de una clase llamada Thread.
Posteriormente lo que ejecute el hilo es necesario un método run donde están las instrucciones para nuestro hilo y posteriormente se puede iniciar la ejecución del hilo con un método start()
Programa de ejemplo:
Las funciones del arreglo total solo son para verificar el tamaño del arreglo y con otro método dividirá el arreglo para enviarlo a diferentes hilos pero en este caso solo utiliza un hilo para mostrar su uso.
Programa de ejemplo:
Las funciones del arreglo total solo son para verificar el tamaño del arreglo y con otro método dividirá el arreglo para enviarlo a diferentes hilos pero en este caso solo utiliza un hilo para mostrar su uso.
jueves, 9 de febrero de 2012
Reporte 2 MPI
En esta semana me dedique un poco a lo que es el el protocolo de transferencia de datos, ya contando con ssh el siguiente paso seria aplicar este protocolo para el envio de los datos para pode correr las aplicaciones ya sea en un nodo o en conjunto.
liga: WIKI
Tercera seman de actividades: Posible implentación de programas en el cluster
liga: WIKI
Tercera seman de actividades: Posible implentación de programas en el cluster
miércoles, 8 de febrero de 2012
Lab MPI
Para poder utilizar esta libreria es necesario instalar la siguiente libreria, en el anterior post aparece ya que es necesario para la realización del cluster.
sudo apt-get install mpich2
Posteriormente de instalar se puede hacer unas cuantas pruebas para provar que funciona la libreria.
En este caso suele probocar problemas al instalar el mpich2, problemas como al hora de entrar como "root" aparecen problemas en la linea de comandos, o al modificar ciertos archivos.
Para poder verificar que si esta bien el archivo nos tenemos que dirijir a la siguiete dirección desde la terminal:
usuario:/etc/hosts
y verificamos que la primera linea sea de esta manera:
"127.0.0.1 hostname.domain hostname"
en caso de que no este de la misma manera al instalar mpich2 es necesario modificarla de la manera anterior.
Posteriormente que este corregido para comprobar que todo funcione podemos probarlo de esta manera en la terminal:
usuario:/ mpd &
de esta manera tambien se corre el cluster
y tiene que aparecer solos unos dijitos.
y tambien podemos verificar problemas con el comando mpdcheck.
sudo apt-get install mpich2
Posteriormente de instalar se puede hacer unas cuantas pruebas para provar que funciona la libreria.
En este caso suele probocar problemas al instalar el mpich2, problemas como al hora de entrar como "root" aparecen problemas en la linea de comandos, o al modificar ciertos archivos.
Para poder verificar que si esta bien el archivo nos tenemos que dirijir a la siguiete dirección desde la terminal:
usuario:/etc/hosts
y verificamos que la primera linea sea de esta manera:
"127.0.0.1 hostname.domain hostname"
en caso de que no este de la misma manera al instalar mpich2 es necesario modificarla de la manera anterior.
Posteriormente que este corregido para comprobar que todo funcione podemos probarlo de esta manera en la terminal:
usuario:/ mpd &
de esta manera tambien se corre el cluster
y tiene que aparecer solos unos dijitos.
y tambien podemos verificar problemas con el comando mpdcheck.
martes, 31 de enero de 2012
Sistemas distribuidos
Sistemas distribuidos y paralelos
Aporte mas que nada con los servicios y paquetes del ssh para poder comunicarse los nodos con claves de verificación entre todos los nodos esclavos y el nodo maestro.
Pequeño resumen expres:
Configuración de permisos para utilización de cluster
En la terminal de ubuntu se puede instalar de las siguientes maneras
sudo apt-get install ssh
Y tambien se puede instalar desde el gestor de paquetes de symaptic
buscando el paquete con ssh
posteriormente de instalarlo para poder general claves de seguridad para compatir archivos entre una red desde la terminal se ejecuta de la siguiente manera:
Aquí les dejo el link de la wiki del cluster completo de todas las aportaciones del team: wiki cluster
Suscribirse a:
Entradas (Atom)