Upload
arcade-peralta-luyes
View
216
Download
0
Embed Size (px)
Citation preview
8/17/2019 ARQII_07-Paralelo
1/41
Arquitecturas Paralelas
Introducción
William Stallings, Organización y Arquitectura deComputadores, 5ta. ed., Capítulo 16: Procesamiento Paralelo.
Andrew S. Tanenbaum, Organización de Computadoras ta.ed., Capítulo !: Arquitecturas de computadoras paralelas.
Hesham El-Rewini & Mostafa Abd-El-Barr, Ad"ancedComputer Arc#itecture and Parallel Processing. $illey.
8/17/2019 ARQII_07-Paralelo
2/41
Contexto
El paralelismo, en todas sus formas, esel tema central de la asignatura.
En la primer mitad del curso sepresentaron varios aspectos de losdiseños de procesadores que involucran
el concepto de paralelismo, entendidocomo ejecución simultánea:
%egmentación y supersegmentación del ciclode instrucción y de las unidades &uncionales. Arquitecturas superescalares y duplicación
de recursos. Arquitecturas de pala'ra anc#a. Arquitecturas "ectoriales.
(O)A:Otra &orma de simultaneidad: *ultitareas.+arios procesos comparten una CP -O% )ime/
s#aring "s. real/time.
8/17/2019 ARQII_07-Paralelo
3/41
Paralelismo a nivel de instrucciones (ILP)
Existe ILP cuando las instrucciones que componen un programa sonindependientes. En ese caso el código puede ser reordenado sinalterar el resultado. Por lo tanto existe la posiilidad de ejecutar lasinstrucciones en paralelo. Las dependencias de datos son cr!ticas eneste contexto.
0emplo operaciones independientes: for(i=0;i
8/17/2019 ARQII_07-Paralelo
4/41
Contexto
+e presentaron los limites para la construcción de procesadores:
2a disipación de potencia limita el tama3o de los transistores 2a "elocidad de la luz limita la "elocidad de relo
*tili2ando diseños -I+ profundamente segmentados con
caracter!sticas superescalares, puede conseguirse 3asta un factor 45de aceleración respecto de los diseños tradicionales, pero no más queeso.Pero qu6 sucede si una aplicación necesita 4547 instrucciones porsegundo8 Puede especularse sore la futura existencia de un per!odode reloj de 5.554 ns8 asi imposile %la lu2 recorre 5.9 mm en 4 ps&.
Puede pensarse en 4555 computadoras de 4 ns traajandosimultáneamente8 Puede ser...+i se desea un factor 4555 no alcan2a con extender el conceptosuperescalar, agregando unidades funcionales, o pensar en aumentar4555 veces la frecuencia de traajo. La #nica solución es repetir P*senteras $ lograr una colaoración eficiente entre ellas.
8/17/2019 ARQII_07-Paralelo
5/41
Contexto
Avances importantes en microprocesadores desde voneumann (*+,)
*nidad de control microprogramada $ el concepto de familia%40)& ompatiilidad I+ con diferentes implementaciones ;I.
=emoria cac3e %40?& ;I. rquitecturas -I+ %4?7& Involucra la ma$or!a de los asuntos
importantes de arquitectura $ organi2ación: +egmentación decauce %pipeline& $ diseño superescalar.
@o existe en la actualidad una tecnolog!a que 3aga prever unimpacto semejante.
=#ltiples procesadores8
8/17/2019 ARQII_07-Paralelo
6/41
MotivaciónLas computadoras con una #nica P* no son suficientes para
satisfacer los requerimientos de algunas áreas de aplicación, a pesarde los avances tecnológicos $ arquitectónicos de los procesadoresmodernos.
%imulaciones y modelado de sistemas complicados.
Pro'lemas que dependan de la manipulación4cómputo de grandes
cantidades de datos 2os grandes pro'lemas &ísicos, económicos, 'iológicos, climatológicos.
Estas aplicaciones se caracteri2an por manejar cantidades enormes dedatos $Ao reali2ar grandes cantidades de cálculos num6ricos.
-rand Challenge Pro.lems (los grandes desa/0os)
Prolemas que tienen solución, pero que no pueden resolverse enuna cantidad de tiempo ra2onale utili2ando las computadorasactuales. inmica de &luídos, modelado am'iental, 'iologíamolecular. 0emplo: pronostico meteorológico.
!na posi.le solución para las necesidades de alta per/ormance es utili1ar
sistemas con varias CP!s para resolver una determinada aplicación&
8/17/2019 ARQII_07-Paralelo
7/41
Procesamiento paralelo
Arquitectura paralela
+istema con dos o mas procesadores conectados de tal manera que
les sea posile compartir la ejecución de una determinada tarea%reali2ar procesamiento paralelo&.
Existen diversas organi2aciones, seg#n:
@#mero $ complejidad de las P*s utili2adas. "isponiilidad de memoria compartida.
1opolog!a de interconexión. "ispositivos de EA+.
8/17/2019 ARQII_07-Paralelo
8/41
Paraleli1ación de programas
La estrategia para la construcción de un programa paralelo%paraleli1ación& consiste en descomponer el prolema en tareas demenor complejidad que puedan ejecutarse simultáneamente.
El paralelismo se consigue:
"escomponiendo el prolema en tareas menores.
signando las tareas a procesadores que puedan ejecutar en
paralelo.
oordinando las tareas simultáneas.
nalog!a con la industria automotri1 $ otros prolemas complejos.
8/17/2019 ARQII_07-Paralelo
9/41
Programas paralelos 2 Condiciones+e necesitan dos condiciones en los programas de aplicación para
3acer un uso eficiente de los procesadores:17 Poca comunicación entre los procesadores mientras eecutan la
tarea compartida.
87 n cierto grado de paralelismo in#erente en la tarea a realizar.
Beneralmente, la resolución de un prolema puede ser dividida en
tareas de menor complejidad, las cuales pueden ser ejecutadassimultáneamente con una cierta coordinación. Pero puede sucederque el esfuer2o de coordinación supere los eneficios delprocesamiento simultáneo.
o todas las aplicaciones se .ene/ician
Pro.lemas Embarrassingl! "arallel# Prolemas en los cuales no 3a$ que 3acer ning#n esfuer2o paraparaleli2ar, pues no existe comunicación entre procesadores.
9ractales cada punto puede calcularse en &orma independiente7 Animación cada cuadro se renderiza en &orma independiente de los
dems7
%imulaciones y reconstrucciones en &ísica de partículas.
8/17/2019 ARQII_07-Paralelo
10/41
Programas paralelos 2 "3emplos
for(i=0;i
8/17/2019 ARQII_07-Paralelo
11/41
6ipos de paralelismo
PA#AL"LISM7 " L7S A67S"iferentes datos, misma tarea%+I="&
'rora%*
$$$
if ,=.a. "n o_i%i"=1
3''r_i%i"=40
if ,=.5. "n
o_i%i"=41
3''r_i%i"=100
nd if
do i = o_i%i" 6 3''r_i%i" 7a8 on d(i)
nd do
$$$
nd 'rora%
PA#AL"LISM7 " LAS 6A#"AS"iferentes datos, diferentes tareas%=I="&
'rora%*
$$$
if ,=.a. "n
do "a8 .A.
if ,=.5. "n
do "a8 .9.
nd if
$$$
nd 'rora%
8/17/2019 ARQII_07-Paralelo
12/41
7rgani1aciónClasi/icación de 8l'nn (*9:)
Clasi&icación #istórica, 'asada en la naturaleza ortogonal del &luo deinstrucciones eecutado por la computadora ;7 y el &luo de datosso're los cuales operan las instrucciones 7.
Massively Parallel
Processor(MPP)
8/17/2019 ARQII_07-Paralelo
13/41
8/17/2019 ARQII_07-Paralelo
14/41
(Tanenbaum)
8/17/2019 ARQII_07-Paralelo
15/41
Arquitecturas SISSingle $nstru%tion stream, Single ata stream.
rquitectura tradicional escalar de von @eumann, estudiada 3astaeste momento. ada instrucción opera sore un #nico dato.Puede existir paralelismo: segmentación, superescalares $unidades vectoriales.
8/17/2019 ARQII_07-Paralelo
16/41
Arquitecturas SIMSingle $nstru%tion stream, Multi"le ata stream
onstan de una #nica unidad de control $ m#ltiples unidadesid6nticas de procesamiento que reali2an la misma instrucción alun!sono. Llamados tami6n Arra' Processors %no confundir convectoriales&.
Especiali2ados en prolemas num6ricos que puedan expresarsecomo matrices o vectores. ada unidad de procesamiento consta deuna L* $ registros, $ se utili2a para computar un elemento delresultado %front/end von @eumann, más un arra$ de procesadores
id6nticos que reali2an la misma instrucción&.
8/17/2019 ARQII_07-Paralelo
17/41
Pueden utili2ar memoria compartida o distriuida.
0emplo: ;22;AC ;+ 1s7, 6 procesadoresconectados en una grilla de !?!. C*/8 1
8/17/2019 ARQII_07-Paralelo
18/41
Arquitecturas MIMMulti"le $nstru%tion stream, Multi"le ata stream
+on las arquitecturas paralelas propiamente dic3as. Pueden ser conmemoria compartida %multiprocesadores& o memoria distriuida%multicomputadoras&. ada unidad de procesamiento tiene su propioflujo de instrucciones.
8/17/2019 ARQII_07-Paralelo
19/41
MIM5 MultiprocesadoresProcesadores fuertemente acoplados
Existe un #nico espacio de direccionamiento. La comunicación entreprocesadores se reali2a a trav6s de la memoria compartida. "esde elpunto de vista del programador se trata de "aria'les glo'ales. Losprogramas son fáciles de escriir,La performance de la memoria limita el n#mero de procesadores%cr!tico&.
;B* %ystem4=>, 8 CPs 17;B* %ystem4, mltiple 1
8/17/2019 ARQII_07-Paralelo
20/41
MIM5 MulticomputadorasProcesadores d6ilmente acoplados
ada P* tiene su propia memoria, invisile para la demás. Lacomunicación entre procesadores se reali2a a trav6s de unmecanismo de pasae de mensaes. "esde el punto de vista delprogramador no existen las "aria'les glo'ales, sino canales decomunicación $ operaciones de env!o $ recepción, que deenprogramarse en forma expl!cita.
La performance de la red de interconexión limita el n#mero deprocesadores. "epende muc3o del tipo de aplicación.
− ;ntel iP%C48 1!6, #ipercu'o− ;ntel Paragon 1> proc i!6>, mes#− Cray )0 *C518 1
8/17/2019 ARQII_07-Paralelo
21/41
#edes de interconexión paraarquitecturas paralelas
Pueden clasificarse seg#n diferentes criterios:
Modo de operación5 sincrónico vs. asincrónico.
"strategia de control5 centrali2ado vs. descentrali2ado.
64cnica de conmutación5 circuitos vs. conmutación depaquetes.
6opolog0a5 cómo se conectan procesadores $ memorias entre s!.
Balance entre per&ormance anc#o de 'anda7 y costo.
8/17/2019 ARQII_07-Paralelo
22/41
-edes de interconexión
6opolog0as para memoria compartida
a&
8/17/2019 ARQII_07-Paralelo
23/41
El routing dinámico se consigue utili2ando redes de conmutacióncompuestas por crossar sFitc3es o 7x7 sFitc3es. Las redescrossar son no loqueantes %permiten varias conexionessimultáneas& pero necesitan gran cantidad de sFitc3es %@7 para @nodos&.
-edes de interconexión
6opolog0as para memoria compartidaC#7SS;A#
-edes de interconexión
8/17/2019 ARQII_07-Paralelo
24/41
Las redes de interconexión multietapa son las más avan2adas entrelas redes actuales de conmutación. En el caso de la red omega, paraconectar @ nodos se necesitan log7@ etapas con @A7 sFitc3es 7x7
cada una.
-edes de interconexión
6opolog0as para memoria compartida7M"-A
-edes de interconexión
8/17/2019 ARQII_07-Paralelo
25/41
Gentajas $ desventajas de las diferentes topolog!as:
Las redes tipo us son económicas pero pueden transformarse enel cuello de otella del sistema.
Los uses paralelos mejoran la performance, pero son costosos.
Las redes crossar son no loqueantes, pero requieren un grann#mero de sFitc3es.
Las redes omega son loqueantes en menor grado. Presentanmejor performance que los uses $ son más económicas que las
crossar.
-edes de interconexión
6opolog0as para memoria compartidaSumario
8/17/2019 ARQII_07-Paralelo
26/41
I) "státicas (pi1arrón) II) inámicas
)
-edes de interconexión
6opolog0as para pasa3e de mensa3es
8/17/2019 ARQII_07-Paralelo
27/41
-edes de interconexión
6opolog0as para pasa3e de mensa3es
45/cue )/cue
A áli i d /
8/17/2019 ARQII_07-Paralelo
28/41
Análisis de per/ormance enArquitecturas Paralelas
Hesham El-Rewini & Mostafa Abd-El-Barr,
Advanced Computer Architecture and Parallel Processing. Willey.
Capítulo 3 completo.
PeaH rate %no mu$ #til, marHeting& =ejora $ Eficiencia ;+1sA1p, J+An>
Equal duration model: caso ideal [S=n, J=1]
+erial section model: le$ de mda3l ;+nA%f%n/4&K4&>
mda3l vs. Bustafson/
Efecto del tiempo de comunicación ;+1sA%1pK1c&, fcn1cA1s>
Escalailidad
8/17/2019 ARQII_07-Paralelo
29/41
ξ=1
ξ= S
nS=
t s
t m
qual duration model
ractional communication over3ead
Definición de mejora y eficiencia
8/17/2019 ARQII_07-Paralelo
30/41
Serial section model
8/17/2019 ARQII_07-Paralelo
31/41
8/17/2019 ARQII_07-Paralelo
32/41
Serial section model
with communication overhead
8/17/2019 ARQII_07-Paralelo
33/41
Métrica de Karp-Flatt
Despejando f de Amdhal y midiendo la aceleración S que se obtiene para un
dado problema (utilizando n procesadores), resulta que f es una medida
experimental de cuán paralelizable es el problema !uede utilizarse para
predecir cómo se comportará el sistema al "ariar el n#mero de
procesadores)
f=
1
S +
1
n
1−1
n
mdhal vs! "ustafson-#arsis
Al$unos problemas no se comportan en forma tan pesimista como
predice Amdhal A "eces el tama%o del problema escala con el n#mero
de procesadores SS(f) es una recta y no presenta el l&mite en 'f s
como si f se fuera achicando, en proporción, al aumentar el orden del
problema (en la práctica sucede)
++
4
n
4f
SS ( n )= f+(1− f )×n
f+ (1
− f )n ×n
lim SS (n )n→∞=∞
8/17/2019 ARQII_07-Paralelo
34/41
% "s. &
gnuplotM plot ;x5:4> ;5:45> NA%xO)K4& title mda3l nN, 45A%xOK4& title mda3ln45, 455A%xOK4& title mda3l n455,4Ax title mda3l noo, N/%xO)& titleBustafson nN, 45/%xO& title Bustafson n45, 455/%xO& title Bustafson n455
8/17/2019 ARQII_07-Paralelo
35/41
"scala.ilidad
0emplo: Fipercu'o de dimensiones nJ8, dist ma?Jlog8n77, utilizado para realizar la suma de m nmeros.
S= m
m
n+2log2 n
*ejora (hacia +) escalable
s escalable si habiendo a$re$ado nodos la
eficiencia se mantiene cte al aumentar m
8/17/2019 ARQII_07-Paralelo
36/41
for m=1:8,
for n=1:8,
N=2^n;
M=2^(m+5);
S(m,n)=M/(M/N+log2(N));
E(m,n)=S(m,n)/N;
end
end
surf(S); % ver que en la diagonal se vaya duplicando
ylabel('m: orden 2^(m+5)');
xlabel('n: nodos 2^n');
zlabel('Mejora');
8/17/2019 ARQII_07-Paralelo
37/41
for m=1:8,
for n=1:8,
N=2^n;
M=2^(m+5);
S(m,n)=M/(M/N+log2(N));
E(m,n)=S(m,n)/N;
end
end
surf(E); % ver que la diagonal se mantenga constante
ylabel('m: orden 2^(m+5)');
xlabel('n: nodos 2^n');
zlabel('Eficiencia');
8/17/2019 ARQII_07-Paralelo
38/41
"scala.ilidad
l grado de escala!ilidad de un sistema paralelo se determina por la
relaci"n en #ue el pro!lema de!e incrementarse respecto del n$mero de
procesadores % n &' para mantener una eficiencia constante cuando el
n$mero de procesadores aumenta.
Por e(emplo' en un sistema paralelo altamente escala!le el tama)o del
pro!lema de!er* crecer linealmente con respecto de n a fin de mantener
la eficiencia constante.
n un sistema poco escala!le el tama)o del pro!lema necesitar* crecer
e+ponencialmente con respecto de n para mantener la eficiencia
constante.
i 0 d l
8/17/2019 ARQII_07-Paralelo
39/41
Sumario 6axonom0a de 8l'nn
SIS5 +ingle Processor, von @eumann
SIM5 rra$ Processors
MIS5 8888
MIM5
=emoria compartida: =ultiprocesadores %+=P $ @*=&
=emoria distriuida: =ulticomputadoras %=PP $ lusters&
S i 6 0 d 8l
8/17/2019 ARQII_07-Paralelo
40/41
Sumario 6axonom0a de 8l'nn
Sumario
8/17/2019 ARQII_07-Paralelo
41/41
Sumario
Las arquitecturas para procesamiento paralelo, en sus diversas variantes, son eltema central de la materia.
Las t6cnicas superescalares $ de segmentación utili2an conceptos de paralelismo con elojetivo de incrementar el desempeño de los diseños clásicos. Estas encuentranrápidamente limitaciones prácticas en el momento de la implementación.
Existen prolemas que no pueden solucionarse utili2ando un #nico procesador, dado elactual estado de la tecnolog!a, por lo que se presenta la necesidad de utili2ar varios deellos traajando en forma coordinada. Pero no todos los prolemas pueden sacarpartido de esta estrategia. Los programas deen cumplir con algunas condiciones.
Existen dos tipos de organi2aciones con diferentes ojetivos: los diseños +I=" explotanel paralelismo en los datos, $ los =I=" el paralelismo en las instrucciones.
Estos #ltimos se dividen en multiprocesadores $ multicomputadoras, seg#n dispongan ono de memoria compartida. Estas son las dos grandes categor!as actuales de
arquitectutas paralelas. mas utili2an modelos de programación diferentes.Los grandes sistemas de cómputo utili2an 3o$ una cominación de amasarquitecturas.