Está en la página 1de 2

BALOTARIO CAPITULO 7 1.

Cules son los niveles de abstraccin en los cdigos secuenciales del paralelismo implcito: Nivel programa: diferentes programas intervienen en una aplicacin o diferentes aplicaciones se pueden ejecutar en paralelo. Nivel de funciones: un programa puede constituirse a base de funciones. Nivel bucle (bloque): funciones que se basa en la ejecucin de uno o varios bucles. Nivel operaciones: operaciones independientes se pueden paralelizar. Qu relacin hay entre paralelismo implcito, explcito y arquitectura paralelas La relacin se encuentra en el cdigo de modo implcito, sus niveles pueden hacerse explcitos y con arquitecturas paralelas que aprovechan el paralelismo. El paralelismo entre programas se usa a nivel de procesos. El paralelismo disponible entre funciones se puede extraer usando niveles de procesos o hebras. El paralelismo dentro de un bucle puede hacerse explicito dentro de una instruccin vectorial para aprovechar su arquitectura SIMD. Cules son las aplicaciones que requieren computadores paralelos Aplicaciones que requieren potencias mayores que las que proporciona un sistema uniprocesador. Aplicaciones que requieren tolerancia de fallos. Aplicaciones embebidas. Como son los clster Son computadores paralelos basados en computadores (nodos) y redes disponibles comercialmente, permitiendo ser los sistemas con mejor relacin prestaciones/coste en los diferentes niveles del mercado. Cules son las mejoras que se hacen a las computadoras paralela Aplicando paralelismo, segmentando o replicando recursos, en diferentes niveles. Aumentando la localidad de los recursos como agregando niveles de cache en el chip o agregando controladores de memoria. Como se clasifican los computadores paralelos en funcin de la organizacin de su espacio de direcciones: Sistemas con memoria compartida (multiprocesadores) Sistemas con memoria distribuida (multicomputadores) Defina un multiprocesador y multicomputador En un multiprocesador tiene una menor latencia lo que lo vuelve poco escalable, comunicacin mediante variables compartidas, no hay datos duplicados en la memoria principal, se necesita implementar tcnicas de sincronizacin, no se necesita distribuir cdigos y datos y la programacin es ms sencilla. En un multicomputador posee menor latencia lo que lo vuelve escalable, la comunicacin es mediante paso de mensajes, los datos duplicados en la memoria principal permiten copiar datos, la sincronizacin es mediante los mecanismos de comunicacin, hay que distribuir cdigos y datos entre los procesadores y la programacin es ms difcil generalmente. Cules son los caminos para incrementar la escalabilidad en multiprocesadores Incorporando cache en el sistema de memoria, para que cada procesador posea una cache local. Usando redes con menor latencia y mayor ancho de banda. Distribuyendo fsicamente los mdulos de memoria principal entre los procesadores Cul es la clasificacin de los multiprocesadores con acceso a memoria no uniforme NCC-NUMA, arquitectura con acceso a memoria no uniforma sin coherencia de cache entre nodos. CC-NUMA, arquitectura con acceso a memoria no uniforme y con cache coherente. COMA, arquitectura con acceso a memoria solo cache. Cules son las denominaciones de computadores paralelos, y defina cada uno de ellos MPP (Massively Parallel Processors), computadores paralelos con un nmero de procesadores superior a 100. Clster, computador paralelo constituido por un conjunto de computadores completos (PC, estaciones de trabajo, servidor), conectados a una red comercial (LAN o SAN). Clster Beowulf, son clster con sistemas operativos libres. Constelaciones, son clster de nodos con procesamiento simtrico. Red de Computadores, conjunto de computadores conectados mediante tecnologa de red LAN, cada uno con pantalla, teclado y con acceso al exterior. Grid, recursos autnomos geogrficamente distribuidos, conectados mediante una infraestructura de telecomunicaciones que conforman un sistema de altas prestaciones virtual. Cules son las facetas que se usan en la programacin paralela. Punto de partida. Modos de programacin. Herramientas para obtener programas paralelos. Alternativas de comunicacin. Estilos de programacin paralela. Estructura de programas paralelos. Alternativas para crear y terminar procesos hebras. Procesos de paralelizacin. Cules son las ventajas en el uso de bibliotecas de funciones para programacin paralelas Los programadores estn ms familiarizados con los lenguajes secuenciales, no tienen que aprenderlos. Las bibliotecas estn disponibles para todos los sistemas paralelos. Las bibliotecas estn ms cercanas al hardware y dan al programador el control al ms bajo nivel. Se pueden usar a la vez bibliotecas para programar con hebras y bibliotecas para programar con procesos. Cules son los patrones de comunicacin que se repiten en los diferentes algoritmos paralelos Se reordenan datos entre procesos. Se difunden datos. Se reducen un conjunto de datos a un nico dato mediante una operacin. Se realizan mltiples reducciones en paralelos con el mismo conjunto de datos. Se sincronizan mltiples procesos en un punto. Cul es la clasificacin de las funciones colectivas de comunicacin Comunicacin mltiple uno a uno. Comunicacin uno a todos. Comunicacin todos a uno. Comunicacin todos a todos. Comunicacin colectiva compuesta. Cules son las alternativas que se encuentran en la creacin de un conjunto de procesos Creacin dinmica no simultnea y terminacin sncrona. Creacin simultnea y terminacin asncrona. Creacin no simultnea y terminacin asncrona. Creacin simultnea y terminacin sncrona. Como est dividida estructura de programas paralelos Dueo esclavo o granja de tareas. Paralelismo de datos o descomposicin de datos. Divide y vencers o descomposicin recursiva. Segmentada o flujo de datos. En la descomposicin de tareas, cuales son los niveles de abstraccin Nivel funcin.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

Nivel bucle.

Cules son las medidas que se usan para los computadores paralelos Tiempo de ejecucin de respuesta o la ejecucin de una entrada en el sistema. Productividad o nmero de entradas que el computador es capaz de procesar por unidad de tiempo. Cules son los benchmark usados para evaluar computadores paralelos y de un ejemplo por cada uno: Microbenchmark, el test ping-pong para interconexin de redes. Ncleos, multiplicaciones de matrices para ver la velocidad de las aplicaciones. Sintticos, los que no se usan en aplicaciones reales. Programas reales, base de datos para servidores web o correo electrnico. Aplicaciones diseadas, aplicaciones que se aproximan a las aplicaciones reales. Como se realiza la ganancia en velocidad de un computador paralelo La ganancia de la velocidad en los computadores paralelos se obtiene mediante la divisin de las prestaciones que se consiguen para aplicaciones en sistemas con multiprocesadores entre las prestaciones obtenidas ejecutando la versin secuencial en un sistema uniprocesador.

19.

20.