Parallel Programming Plataforms

1,613 views

Published on

Plataformas de Programación Paralela

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,613
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
63
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Parallel Programming Plataforms

  1. 1. MULTIPROCESAMIENTO CAPITULO II PARALLEL PROGRAMMING PLATAFORMS Verónica Ramírez Raquel Solano
  2. 3. <ul><li>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. </li></ul><ul><li>/* dot product loop */ </li></ul><ul><li>for (i = 0; i < dim; i++) </li></ul><ul><li>dot_prod += a[i] * b[i]; </li></ul><ul><li>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. </li></ul>
  3. 4. <ul><li>2.7 What are the major differences between message-passing and shared-address-space computers? Also outline the advantages and disadvantages of the two. </li></ul><ul><li>Las diferencias entre message-passing y shared-address-space son: </li></ul><ul><li>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. </li></ul><ul><li>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 </li></ul>
  4. 5. <ul><li>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. </li></ul>
  5. 6. <ul><li>MESSAGE-PASSING </li></ul><ul><li>VENTAJAS </li></ul><ul><ul><ul><li>Requiere poco soporte de hardware. </li></ul></ul></ul><ul><ul><ul><li>El programador tiene control explicito de la locacion de los datos. </li></ul></ul></ul><ul><ul><ul><li>La memoria es escalable con el numero de procesadores </li></ul></ul></ul><ul><ul><ul><li>Incrementa el numero de procesadores, y el tamano de meporia proporcionalmente </li></ul></ul></ul><ul><ul><ul><li>Los costos pueden ser comodos </li></ul></ul></ul><ul><ul><li>DESVENTAJAS: </li></ul></ul><ul><ul><ul><li>Dificil para programar: El programador tiene que manipular la comunicacion de datos entre </li></ul></ul></ul><ul><ul><ul><li>Acceso no uniforme a memoria (NUMA) </li></ul></ul></ul><ul><ul><ul><li>Puede ser dificil mapear extructuras de datos existentes, basdados en memoria global para distribuir la organizacion de </li></ul></ul></ul>
  6. 7. <ul><li>SHARED-ADDRESS </li></ul><ul><li>VENTAJAS </li></ul><ul><ul><ul><li>Espacio de direccionamiento global provee al usuario ambientes para acceso a memoria </li></ul></ul></ul><ul><ul><ul><li>Datos comunes entre las tareas es a la vez rápido y uniforme, debido a la proximidad de la memoria para CPUs </li></ul></ul></ul><ul><li>DESVENTAJAS </li></ul><ul><ul><li>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é </li></ul></ul><ul><ul><li>La responsabilidad del programador para la construcción de sincronización (correcto acceso a la memoria) </li></ul></ul><ul><ul><li>costoso diseño de memoria compartida con los equipos un número cada vez mayor de los procesadores </li></ul></ul>
  7. 8. <ul><li>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)? </li></ul><ul><li>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 bus El numero total de switch es θ (bp). </li></ul>
  8. 9. <ul><li>2.9 Of the four PRAM models (EREW, CREW, ERCW, and CRCW), which model is the most powerful? Why? </li></ul><ul><li>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. </li></ul>
  9. 10. <ul><li>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. </li></ul><ul><li>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 </li></ul>
  10. 11. <ul><li>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. </li></ul>
  11. 12. <ul><li>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 | = N 2 +2 N ( N − 1), , el número total de los bordes es |E| = O ( N 2 ), el grado de gráfico es d = 3, el diámetro de la gráfico es D = 4lg N=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 2 N ( N − 1)=2  p(  p-1). </li></ul>

×