Вы находитесь на странице: 1из 4

BALOTARIO CAPITULO 7

1. Cuáles son los niveles de abstracción en los códigos secuenciales del paralelismo
implícito:
- Nivel programa: diferentes programas intervienen en una aplicación 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 ejecución de uno o varios bucles.
- Nivel operaciones: operaciones independientes se pueden paralelizar.

2. Qué relación hay entre paralelismo implícito, explícito y arquitectura paralelas


- La relación se encuentra en el código de modo implícito, sus niveles pueden
hacerse explícitos 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
instrucción vectorial para aprovechar su arquitectura SIMD.

3. Cuáles 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.

4. Como son los clúster


Son computadores paralelos basados en computadores (nodos) y redes disponibles
comercialmente, permitiendo ser los sistemas con mejor relación prestaciones/coste
en los diferentes niveles del mercado.

5. Cuáles 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.

6. Como se clasifican los computadores paralelos en función de la organización de su


espacio de direcciones:
- Sistemas con memoria compartida (multiprocesadores)
- Sistemas con memoria distribuida (multicomputadores)

7. Defina un multiprocesador y multicomputador


- En un multiprocesador tiene una menor latencia lo que lo vuelve poco escalable,
comunicación mediante variables compartidas, no hay datos duplicados en la
memoria principal, se necesita implementar técnicas de sincronización, no se
necesita distribuir códigos y datos y la programación es más sencilla.
- En un multicomputador posee menor latencia lo que lo vuelve escalable, la
comunicación es mediante paso de mensajes, los datos duplicados en la memoria
principal permiten copiar datos, la sincronización es mediante los mecanismos de
comunicación, hay que distribuir códigos y datos entre los procesadores y la
programación es más difícil generalmente.

8. Cuáles 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 físicamente los módulos de memoria principal entre los
procesadores

9. Cuál es la clasificación 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.

10. Cuáles son las denominaciones de computadores paralelos, y defina cada uno de ellos
- MPP (Massively Parallel Processors), computadores paralelos con un número de
procesadores superior a 100.
- Clúster, computador paralelo constituido por un conjunto de computadores
completos (PC, estaciones de trabajo, servidor), conectados a una red comercial
(LAN o SAN).
- Clúster Beowulf, son clúster con sistemas operativos libres.
- Constelaciones, son clúster de nodos con procesamiento simétrico.
- Red de Computadores, conjunto de computadores conectados mediante
tecnología de red LAN, cada uno con pantalla, teclado y con acceso al exterior.
- Grid, recursos autónomos geográficamente distribuidos, conectados mediante una
infraestructura de telecomunicaciones que conforman un sistema de altas
prestaciones virtual.

11. Cuáles son las facetas que se usan en la programación paralela.


- Punto de partida.
- Modos de programación.
- Herramientas para obtener programas paralelos.
- Alternativas de comunicación.
- Estilos de programación paralela.
- Estructura de programas paralelos.
- Alternativas para crear y terminar procesos hebras.
- Procesos de paralelización.
12. Cuáles son las ventajas en el uso de bibliotecas de funciones para programación
paralelas
- Los programadores están más familiarizados con los lenguajes secuenciales, no
tienen que aprenderlos.
- Las bibliotecas están disponibles para todos los sistemas paralelos.
- Las bibliotecas están más cercanas al hardware y dan al programador el control al
más bajo nivel.
- Se pueden usar a la vez bibliotecas para programar con hebras y bibliotecas para
programar con procesos.

13. Cuáles son los patrones de comunicación 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 operación.
- Se realizan múltiples reducciones en paralelos con el mismo conjunto de datos.
- Se sincronizan múltiples procesos en un punto.

14. Cuál es la clasificación de las funciones colectivas de comunicación


- Comunicación múltiple uno a uno.
- Comunicación uno a todos.
- Comunicación todos a uno.
- Comunicación todos a todos.
- Comunicación colectiva compuesta.

15. Cuáles son las alternativas que se encuentran en la creación de un conjunto de


procesos
- Creación dinámica no simultánea y terminación síncrona.
- Creación simultánea y terminación asíncrona.
- Creación no simultánea y terminación asíncrona.
- Creación simultánea y terminación síncrona.

16. Como está dividida estructura de programas paralelos


- Dueño esclavo o granja de tareas.
- Paralelismo de datos o descomposición de datos.
- Divide y vencerás o descomposición recursiva.
- Segmentada o flujo de datos.

17. En la descomposición de tareas, cuales son los niveles de abstracción


- Nivel función.
- Nivel bucle.

18. Cuáles son las medidas que se usan para los computadores paralelos
- Tiempo de ejecución de respuesta o la ejecución de una entrada en el sistema.
- Productividad o número de entradas que el computador es capaz de procesar por
unidad de tiempo.

19. Cuáles son los benchmark usados para evaluar computadores paralelos y de un
ejemplo por cada uno:
- Microbenchmark, el test ping-pong para interconexión de redes.
- Núcleos, multiplicaciones de matrices para ver la velocidad de las aplicaciones.
- Sintéticos, los que no se usan en aplicaciones reales.
- Programas reales, base de datos para servidores web o correo electrónico.
- Aplicaciones diseñadas, aplicaciones que se aproximan a las aplicaciones reales.

20. Como se realiza la ganancia en velocidad de un computador paralelo


La ganancia de la velocidad en los computadores paralelos se obtiene mediante la
división de las prestaciones que se consiguen para aplicaciones en sistemas con
multiprocesadores entre las prestaciones obtenidas ejecutando la versión secuencial
en un sistema uniprocesador.

Вам также может понравиться