parallel programming plataforms

12
MULTIPROCESAMIENTO CAPITULO II PARALLEL PROGRAMMING PLATAFORMS Verónica Ramírez Raquel Solano

Upload: raquel-solano

Post on 23-Jun-2015

1.243 views

Category:

Education


7 download

DESCRIPTION

Plataformas de Programación Paralela

TRANSCRIPT

Page 1: Parallel Programming Plataforms

MULTIPROCESAMIENTO

CAPITULO IIPARALLEL PROGRAMMING PLATAFORMS

Verónica RamírezRaquel Solano

Page 2: Parallel Programming Plataforms
Page 3: Parallel Programming Plataforms

2.2 Consider a memory system with a level 1 cache of 32 KB and DRAM of 512 MB with the processor operating at 1 GHz. The latency to L1 cache is one cycle and the latency to DRAM is 100 cycles. In each memory cycle, the processor fetches four words (cache line size is four words). What is the peak achievable performance of a dot product of two vectors? Note: Where necessary, assume an optimal cache placement policy.

1./* dot product loop */2. for (i = 0; i < dim; i++) 3.dot_prod += a[i] * b[i];

Cada 100 ciclos de 4 palabras, cada 100 ciclos se obtiene 8 flops ya que se hace uso de 2 vectores, es decir en 200 ciclos si en cien son 4 palabras en 200 hacemos 8 flops, en un flop tendremos 25us en total a 40MFlops.

Page 4: Parallel Programming Plataforms

2.7 What are the major differences between message-passing and shared-address-space computers? Also outline the advantages and disadvantages of the two.

Las diferencias entre message-passing y shared-address-space son:

Shared address space soporta un espacio de datos común que es accesible a todos los procesadores, en cambio message-passing consiste de p nodos donde cada cual tiene su propio espacio de direccionamiento exclusivo.

En shared addres space las máquinas construidas de esta manera a menudo son llamados multiprocesadores, en message-passing conocido como mensaje que pasa esas máquinas son llamadas multicomputadoras

Page 5: Parallel Programming Plataforms

En shared address los procesadores interactúan mediante la modificación de objetos de datos almacenados en este espacio de direcciones compartida, message-passing se utiliza para transferir datos, trabajo y para sincronizar las acciones entre los procesos.

Page 6: Parallel Programming Plataforms

MESSAGE-PASSINGVENTAJAS

Requiere poco soporte de hardware. El programador tiene control explicito de la

locacion de los datos. La memoria es escalable con el numero de

procesadores Incrementa el numero de procesadores, y el

tamano de meporia proporcionalmente Los costos pueden ser comodos

DESVENTAJAS: Dificil para programar: El programador tiene

que manipular la comunicacion de datos entre Acceso no uniforme a memoria (NUMA) Puede ser dificil mapear extructuras de datos

existentes, basdados en memoria global para distribuir la organizacion de

Page 7: Parallel Programming Plataforms

SHARED-ADDRESSVENTAJAS

Espacio de direccionamiento global provee al usuario ambientes para acceso a memoria

Datos comunes entre las tareas es a la vez rápido y uniforme, debido a la proximidad de la memoria para CPUs

DESVENTAJAS Falta de escalabilidad entre memoria y CPU: Agregando

procesadores pueden incrementar geométricamente el tráfico de la ruta a la memoria compartida de la CPU y la administracion de la coherencia de caché

La responsabilidad del programador para la construcción de sincronización (correcto acceso a la memoria)

costoso diseño de memoria compartida con los equipos un número cada vez mayor de los procesadores

Page 8: Parallel Programming Plataforms

2.8 Why is it difficult to construct a true shared-memory computer? What is the minimum number of switches for connecting p processors to a shared memory with b words (where each word can be accessed independently)?

La dificultad de contruir computadores de memoria compartida es que tienen dificultad cuando un gran numero de procesadores quieren acceder a la memoria al mismo tiempo ya que las computadoras acceden a la memoria a travez del busEl numero total de switch es θ(bp).

Page 9: Parallel Programming Plataforms

2.9 Of the four PRAM models (EREW, CREW, ERCW, and CRCW), which model is the most powerful? Why?

El modelo más poderoso es CRCW(Concurrent-read, concurrent-write) ya que esta clase permite varios accesos de lectura y escritura a una ubicación de memoria comun.

Page 10: Parallel Programming Plataforms

2.12 A cycle in a graph is defined as a path originating and terminating at the same node. The length of a cycle is the number of edges in the cycle. Show that there are no odd-length cycles in a d-dimensional hypercube.

No existen ciclos de duración impar ya que cada nodo  dispone de la salida de dos arista esto es por cada nodo es decir si tengo dos nodos siempre va a tener 4 aristas si se tiene 3 nodos se tendrá 6 aristas y así sucesivamente a demás aplicando la siguiente formula 2 elevado a la n para ver el numero de nodos que poseemos en un hipercubo nos dice claramente que existen dos aristas para cada nodo su formula es  donde n es la dimensión del hipercubo

Page 11: Parallel Programming Plataforms

2.17 [Lei92] A mesh of trees is a network that imposes a tree interconnection on a grid of processing nodes. A mesh of trees is constructed as follows. Starting with a grid, a complete binary tree is imposed on each row of the grid. Then a complete binary tree is imposed on each column of the grid. Figure 2.36 illustrates the construction of a 4 x 4 mesh of trees. Assume that the nodes at intermediate levels are switching nodes. Determine the bisection width, diameter, and total number of switching nodes in a mesh.

Page 12: Parallel Programming Plataforms

Para 2D de malla: El diámetro es de 2 ( p-1) Bisección anchura es p El número total de conmutadores es p.

Para 2D de malla de árbol: N2-una hoja 2D-MOT (N = p) se compone de nodos N^2 ordenado como en un 2D-matriz N × N (pero sin los enlaces). El N filas y N columnas de la 2d-MOT formulario N fila TCC (Complete Árbol binario) y la columna N TCC, respectivamente. Para esa red, el total de número de nodos es |V | = N2+2N(N −1), , el número total de los bordes es |E| = O(N2), el grado de gráfico es d = 3, el diámetro de la gráfico es D = 4lgN=2lgp, el ancho de bisección de la gráfica es de peso corporal bw= N = p. El número total de nodos de conmutación es 2N(N −1)=2p(p-1).