ilike

http://octavio-razo.blogspot.com/

domingo, 3 de abril de 2011

TAREA 5

Diferencia entre maquina paralela y secuencial.
Una maquina con  procesamiento secuencial hace una tarea va después de otra. Es un proceso lento en el que si una tarea se enlentece, el sistema completo debe esperar. La ventaja es que es fácil de entender y de implementar.
En el procesamiento paralelo, varios procesos ocurren al mismo tiempo mejorando el rendimiento general del sistema. Su contrapartida es la complejidad. No siempre se puede paralelizar una tarea. Aunque se pueda, no siempre es fácil hacerlo. En principio, cuanto más nodos actúen en paralelo, más rápido ira el sistema. Hasta cierto punto. Lo común es que haya un límite en que añadir más nodos no aumente la eficiencia, sino que incluso la reduzca. Normalmente las tareas en paralelo tienen una fase secuencial al principio en la que se dividen las tareas y otra al final en la que consolidan resultados.

Tareas secuenciales.

§  Leer una novela (obligatoriamente una página detrás de otra, si no, el resultado varía).
§  Consultar el saldo, dar dinero, actualizar el saldo (en un cajero automático)
§  Ver a alguien, reconocerle, preguntarle por su familia.

Tareas paralelas

§  Consultar entra varias personas palabras en la enciclopedia (personas en paralelo)
§  Contar los votos en un proceso electoral (mesas en paralelo).
§  Buscar los “López” en una base de datos. (se divide la base de datos en trozos y se busca en paralelo).
§  Reconocer a una persona. Se analizan los rasgos faciales, el movimiento, los gestos, la voz, la entonación en paralelo.

Para mi la mayor diferencia es el tiempo, la maquina secuencial es mas lenta, por lo tanto en casos es insuficiente

Modelos de memoria compartida y distribuida 
Memoria Distribuida

Memoria Compartida

¿Por qué es util hacer simulación cuando se implementan sistemas de tiempo real?

Considero que la simulación permite ver la realidad el problema, en este caso de un sistema en tiempo real, así el analista imitara los peores casos que pasen en la realidad y así atender los problemas que pudieran aparecer, esto es vital en un so. en tiempo real pues en estos el tiempo puede ocasionar perdidas humanas o monetarias muy altas.


Resumen conferencia de openMP


En la conferencia  del lunes pasado, empezó con una introducción a que es el paralelismo, a sus inicios, vimos puntos  muy importantes, tales como  porque nacieron los procesadores de dos o mas núcleos, esto es porque  como no se puede alcanzar mayor velocidad que la de la luz, por tanto una forma de superar la velocidad de los procesadores fue poniendo mas núcleos, los cuales trabajaran simultáneamente para la resolución de problemas, después de esto dio el ejemplo de como hacer si no tener una maquina multiprocesador (caso real practicado en la tesis del Dr. Ramos) conecto las computadoras del laboratorios en LAN, utilizando una como la directora de todas, y asi usaba las computadoras para trabajar en paralelo.  Dio también el dato que la UNAM tiene la computadora con mas procesadores aquí en México;  Mostró el OpenMP, el cual es  un modelo de programación en paralelo con memoria compartida y con extensiones a lenguajes de programación existentes como Fortran, C y CPP
Programa sencillo
La mayoría de las construcciones son directivas de compilación o pragmas
La parte central de OpenMP es la paralelización de lazos

Programa Secuencial
void main() {
   double a[1000],b[1000],c[1000];
   for (int i = 0; i< 1000; i++){
         a[i] = b[iI] + c[i];
}  }


Programa Paralelo
void main() {
   double a[1000],b[1000],c[1000];
   #pragma omp parallel for
for (int i = 0; i< 1000; i++){
         a[i] = b[iI] + c[i];
}}