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


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)

Funciona para lo mismo en java, ayuda agregar el hilo en caso de espera

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.