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
miércoles, 28 de marzo de 2012
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:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <pthread.h> //libreria de thread | |
#include <semaphore.h> //libreria estilo semaforo | |
#include <stdlib.h> | |
char n[1024]; | |
sem_t sema; | |
void * escri() | |
{ | |
while(1){ | |
printf("Dime algo: "); | |
scanf("%s",n); | |
sem_post(&sema); //iniciar semaforo | |
} | |
} | |
void * mostrar() | |
{ | |
while(1){ | |
sem_wait(&sema); | |
printf("lo que me dijiste es: "); | |
printf("esto: %s\n",n); | |
} | |
} | |
int main() | |
{ | |
//int status; | |
pthread_t hilo1, hilo2; | |
pthread_create(&hilo1,NULL,escri,NULL); | |
pthread_create(&hilo2,NULL,mostrar,NULL); | |
pthread_join(hilo1,NULL); | |
pthread_join(hilo2,NULL); | |
return 0; | |
-UU-:----F1 threadl.c Top L36 (C/l Abbrev)---------------------------------------------------------------------------------------------------- |
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
Suscribirse a:
Entradas (Atom)