Arquitectura e Ingeniería de Computadores II

Anuncio
Arquitectura e Ingeniería de Computadores II
Curso 2011 / 12
Problemas - Hoja 1
1) Considerar una malla bidimensional
p x p con realimentación. Suponer que cada nodo se
está comunicando únicamente con los nodos adyacentes que se encuentran a la derecha y
abajo. ¿Cuál es el tiempo que se tarda en realizar todas las comunicaciones conjuntamente
(teniendo en cuenta el efecto de la congestión)? ¿Es este tiempo consistente con el modelo de
comunicaciones simplificado?
2) Repetir el ejercicio anterior, pero suponiendo que cada nodo establece una comunicación
con otro nodo seleccionado aleatoriamente. ¿Cuál es el speed-up de la comunicación del
primer caso frente al segundo?
3) Estudiar cómo se puede transformar un hipercubo de dimensión par en una malla
bidimensional. Dibujar el esquema para el caso de 16 procesadores y calcular la congestión
que se produce en función de p.
4) Un ciclo en un grafo se define como un camino que se origina y termina en el mismo nodo.
La longitud de un ciclo es el número de aristas que hay que atravesar para completarlo. Probar
que no existen ciclos de longitud impar en un hipercubo de dimensión d.
5) Calcular el diámetro, número de enlaces y ancho de bisección de un cubo k-ario (k
procesadores por dimensión) de dimensión d, con p procesadores y realimentación.
Calcular la distancia media entre cualquier par de nodos en la topología.
6) Para los grafos de dependencia de tareas de la Figura 1, determinar:
a) Máximo grado de concurrencia.
b) Longitud del camino crítico.
c) Máximo speed-up alcanzable sobre un sistema monoprocesador si un número
arbitrariamente grande de procesos están disponibles.
d) Mínimo número de procesos para obtener el máximo speed-up.
Figura 1
7) Considerar una versión simplificada del algoritmo de ordenación bucket-sort. Se parte de un
array A de n enteros aleatorios, cuyo valor se sabe que está en el rango [1,r]. La salida se
compone de r estructuras, de tal manera que al final del algoritmo la estructura i-ésima contiene
los índices de todos los elementos de A con valor i. Describir un proceso de descomposición
basado en los datos de entrada, y una posible asignación a p procesadores. Comentar
brevemente cómo funcionaría el algoritmo paralelo.
8) Considerar el problema de calcular la frecuencia de aparición de distintos conjuntos de
datos (itemsets) en las distintas transacciones de una base de datos. Para cada conjunto,
habría que recorrer cada transacción, contando el número de ocurrencias, a fin de actualizar el
contador de frecuencia asociado. Proponer la técnica de descomposición más apropiada para
resolver este problema.
9) Uno de los problemas que más carga computacional genera es el cálculo de predicciones en
tiempo real. Los vehículos auto-controlados llevan un amplio conjunto de sensores que
alimentan un procesador, el cual evalúa las distintas situaciones que se pueden presentar en
un futuro inmediato, y genera órdenes de control para mantener la trayectoria especificada. En
sistemas avanzados, el tiempo de respuesta requerido suele ser mínimo, y por lo tanto
inalcanzable para sistemas monoprocesador. En esta situación, se puede montar una
plataforma paralela que se encargue de gestionar el control. Especificar qué técnica de
descomposición sería la más apropiada para resolver este problema. ¿Qué tiene más sentido,
una estrategia de equilibrado de carga estática o una dinámica? Explicar brevemente cómo se
podría realizar este proceso de equilibrado.
10) La operación dual de la Difusión Todos-a-Todos es la Reducción Todos-a-Todos, en la que
cada nodo es destinatario de una Reducción Todos-a-Uno. Por ejemplo, considerar un
escenario en el que p procesadores tienen almacenados distintos vectores de p elementos, y
en el que el procesador i-ésimo calcula la suma de los elementos i-ésimos de todos los
vectores de la plataforma. Describir un algoritmo para realizar una Reducción Todos-a-Todos
en un hipercubo, con operador asociativo de suma. Si cada mensaje contiene m palabras y tadd
es el tiempo necesario para realizar una suma, ¿cuánto tiempo requeriría el algoritmo, en
términos de m, p, tadd, ts y tw?
11) Dado un árbol binario equilibrado, describir un procedimiento para realizar una Difusión
Todos-a-Todos, de tal manera que el tiempo de comunicación sea mínimo. Asumir que sólo el
nivel inferior del árbol contiene nodos de proceso, y que el intercambio de dos mensajes (de m
palabras) entre cualquier par de nodos (conectados por un canal bidireccional) tarda ts + tw·m·k,
siendo k el número de intercambios simultáneos que se realizan sobre el canal. Expresar el
tiempo total del algoritmo en función de m, p, ts y tw.
12) Suponer un procesador DLX cuyo CPI es 1.1. A fin de mejorar su rendimiento, se le dota de
posibilidad de lanzamiento múltiple, convirtiendo su arquitectura en superescalar. Para
posibilitar un mayor número de instrucciones lanzadas por ciclo, se estudian una serie de
técnicas de planificación estática, calculando un CPI teórico de 0.8. Sin embargo, debido a esta
planificación estática llevada a cabo por el compilador, se pierde la propiedad de proximidad
espacial en las referencias, haciendo que la tasa de fallos de la cache local se incremente del
15% al 20%. Este procesador se encuentra ubicado en una plataforma paralela NUMA de 1024
nodos, organizada en malla 2-D. Suponer que cuando se produce fallo de cache, el número de
veces que el dato requerido se encuentra en la memoria secundaria local es despreciable.
Calcular cuál sería el CPI real del sistema, en función de m, ts y tw y f (frecuencia interna del
procesador).
¿En qué afecta la organización interna de las memorias cache al tiempo de comunicaciones?
13) Partiendo del ejercicio anterior, estudiar cómo varía el rendimiento del sistema al organizar
los procesadores en hipercubo. Explicar cómo modificar la malla previa para que su
rendimiento sea igual al del hipercubo del presente ejercicio. Estudiar cómo afecta esta
decisión al coste de la plataforma.
Descargar