“ARQUITECTURAS MULTINÚCLE ! MULTI"ILS# PRESENTADO POR:
DANIEL GARCÍA ARELLANO
NO. DE CONTROL:
14TE0003*
LICENCIA LICENCI ATURA EN: E N:
INGENIERÍA INFORMAT IN FORMATICA ICA PROFESOR (A):
ING. YASSER MARÍN LOMBARD Teziutlá! "ue#l$% Ee&' (01)
Arquitecturas Multi-núcleo
Las arquitecturas multi-núcleo se referen a microprocesadores que combinan dos o más núcleos independientes en un solo paquete ó circuito integrado, los cuales trabajan a la misma recuencia. En general, los microprocesadores multi-núcle multi-núcleos os permite permiten n que un dispositivo dispositivo computacional computacional exiba una cierta cierta orma del paralelismo a nivel de ebras sin incluir múltiples microprocesadores en paquetes !sicos separados. En la igura " se ilustra de manera simplifcada la arquitectura de un procesador multi- núcleo.
Caché L2 compartida
Caché L1
Caché L1
Caché L1
P1
P2
Pn
#igura ". $rquitectura de un procesador multi-núcleo.
2.1 Taxonomía de computadoras paralelas
Arquitecturas Multi-núcleo
Las arquitecturas multi-núcleo se referen a microprocesadores que combinan dos o más núcleos independientes en un solo paquete ó circuito integrado, los cuales trabajan a la misma recuencia. En general, los microprocesadores multi-núcle multi-núcleos os permite permiten n que un dispositivo dispositivo computacional computacional exiba una cierta cierta orma del paralelismo a nivel de ebras sin incluir múltiples microprocesadores en paquetes !sicos separados. En la igura " se ilustra de manera simplifcada la arquitectura de un procesador multi- núcleo.
Caché L2 compartida
Caché L1
Caché L1
Caché L1
P1
P2
Pn
#igura ". $rquitectura de un procesador multi-núcleo.
2.1 Taxonomía de computadoras paralelas
Existen dierentes taxonom!as %&' para clasifcar las arquitecturas paralelas existentes, una de las más viejas ( popular es la de #l(nn. 2.1.1
Clasifcacin de !l"nn
La clasi clasifc fcac ació ión n #l(nn #l(nn se basa basa en dos dos aspectos) ". *nstrucción. +. atos. Los datos son elementos elementos que se manipulan de acuerdo a la instrucción. instrucción. ependiendo ependiendo del número de instruccion instrucciones es a ejecutar ejecutar ( datos a manipular manipular simultáneamente, #l(nn ace la siguiente clasiicación. El más simple de estos es nuestra propia computadora secuencial, donde una instrucción solo manipula un dato a la ve. #l(nn llama a este tipo de sistema una
sola instrucción, un solo dato /*/, del ingl0s /ingle *ntruction /ingle ata1. En la igura + se ilustra el modelo /*/. #ato
%rocesa $nstruccin
&esultado
dor
#igura +. 2odelo /*/.
El sistema de una sola instrucción, múltiple dato /*2, del ingl0s /ingle *nstruction 2ultiple data1 es un sistema en el que la misma instrucción manipula dierentes datos en paralelo.
$qu!
el
número
de
de procesadores trabajando simultánea simultáneamente mente.. En la igura 3 se ilustra ilustra el modelo /*2.
datos
es
el
número
#ato 1
%rocesador 1
, i + + u & t * I
&esultado 1
#ato 2
%rocesador 2
&esultado 2
#ato '
%rocesador '
&esultado '
#igura 3. 2odelo /*2.
#l(nn tambi0n explica el sistema de múltiple instrucción, un solo dato 2*/, del ingl0s 2ultiple *nstruction /ingle ata1, un modelo teórico de una maquina que realia un número de operaciones dierentes con el mismo dato. En la igura 4 se ilustra el modelo 2*/.
$nstruccin 1
%rocesador 1
&esultado 1
$nstruccin 2 ' t $ D
%rocesador 2
&esultado 2
$nstruccin '
%rocesador '
&esultado '
#igura 4. 2odelo 2*/.
El modelo múltiple instrucción, múltiple dato 2*2, del ingl0s 2ultiple *nstruction 2ultiple ata1 un
sistema
que
se refere a un sistema multiprocesador, que es
tiene múltiples procesadores ( capa de trabajar
independientemente ( producir resultados para el sistema global. 5ada procesador es capa de ejecutar una instrucción dierente con un dato
dierente. En la igura & se ilustra el modelo 2*2.
$nstruccin 1
%rocesad #ato 1
&esultado 1
or 1
$nstruccin 2
%rocesad #ato 2
&esultado 2
or 2
$nstruccin '
%rocesad #ato '
&esultado '
or '
#igura &. 2odelo 2*2.
2.1.2
Modelo de m(quina de acceso aleatorio
paralelo
En el modelo de máquina de acceso aleatorio paralelo 67$2, del ingles 6arallel 7andom $ccess 2acine1 %&', todos los procesadores están conectados en paralelo con la memoria global. Esta memoria es compartida con todos los procesadores, como se muestra en la fgura 8. $ esto se le conoce tambi0n como modelo de memoria compartida. 9odos los procesadores trabajan s!ncronamente con un reloj común. 5ada procesador es capa de acceder lectura:escritura1 a la memoria. La comunicación entre procesadores es a trav0s de la memoria. Esto signifca que el dato de un procesador Pi es comunicado a otro procesador Pj siguiendo los pasos siguientes) ". El procesador Pi escribe el dato en la memoria global. +. El procesador Pj lee el dato de la memoria global.
Memoria compartida
%1
%2
%n
#igura 8. 2odelo 67$2.
En el modelo 67$2 existen 4 tipos dierentes de arquitecturas, dependiendo la capacidad de que más de un procesador pueda leer:escribir a una localidad de memoria, como se aprecia en la fgura ;. ". Lectura exclusiva:escritura exclusiva 67$2 E7E<1. +. Lectura concurrente:escritura exclusiva 67$2 57E<1. 3. Lectura exclusiva:escritura concurrente 67$2 E75<1. 4. Lectura concurrente:escritura concurrente 67$2 575<1.
67$2
)&)*
C&)*
)C&
)&C*
%C&
C&C*
AC&
#igura ;. 2odelos de 67$2.
El modelo 67$2 de lectura exclusiva:escritura exclusiva permite que en un instante dado solo un procesador pueda leer:escribir a una localidad de memoria. 6or lo tanto, la lectura o escritura simultánea a una localidad de
memoria por más de un procesador no es permitido. El modelo 57E<-67$2 permite una lectura concurrente a una localidad de memoria por más de un procesador, pero no permite una escritura concurrente. El modelo E75<-67$2 solo permite escritura concurrente. El modelo más efciente es el 575<-67$2 (a que permite una lectura concurrente, lo mismo que una escritura concurrente a una localidad de memoria. 5uando uno o más procesadores intentan leer el contenido de una localidad de memoria concurrentemente, se asume que todos los procesadores tienen 0xito en su lectura. /in embargo, cuando más de un procesador intenta escribir a la misma localidad de memoria concurrentemente, se presenta un con=icto que se debe resolver apropiadamente. 9res m0todos dierentes sugeridos para resolver el conlicto, son) ". 7esolución de con=icto por igualdad E571. +. 7esolución de con=icto por prioridad 6571. 3. 7esolución de con=icto arbitrario $571. En el caso de E57, se asume que el procesador tiene una escritura satisactoria, solo si todos los procesadores intentaron escribir el mismo valor en la localidad de memoria. En 657 se asume que cada procesador tiene un nivel de prioridad. 5uando más de un procesador
intenta escribir a la misma localidad de memoria simultáneamente, el procesador con ma(or prioridad es el que escribe. En $57 se asume que entre los procesadores que intentan escribir simultáneamente, solo uno de ellos logra escribir. 2.2
Microprocesador $ntel core 2 quad
El + de noviembre de +>>8 se lanó al mercado la serie de procesadores *ntel 5ore + ?uad con cuatro núcleos %++', asegurando ser un 8&@ más rápido que los 5ore + uo disponibles en ese entonces. En la igura A se ilustra la memoria cac0 nivel + el microprocesador *ntel 5ore + ?uad. *nicialmente %++', estos procesadores ueron producidos con el proceso de manuactura de 8& nanómetros núcleo Bentsfeld1, con recuencias que van desde los +.4 CD asta los 3 CD ( con un bus de la parte rontal #/, del ingl0s #ront /ide us1 de entre ">88 ( "333 2 ( una memoria cac0 L+ de A 2 +x4 21. 6osteriormente, se redujo el proceso de abricación a 4& nanómetros, creando el núcleo ForGield que, al igual que su antecesor, corresponde a + núcleos
> 2 ( su cac0 L+ es de "+ 2 +x8 21.
El procesador *ntel quad-core tiene dos núcleos 5onroe en un solo encapsulado donde cada núcleo 5onroe es una unidad de doble núcleo, estos dos núcleos 5onroe se comunican entre s! a trav0s de bus del sistema.
Caché L2 1 ' e l + N
( ' e l + N
Caché L2 3 ' e l + N
4 ' e l + N
#igura A. 2emoria cac0 L+ en *ntel 5ore + ?uad.
El microprocesador 5ore + ?uad %+3' está basado en la arquitectura de procesadores ual 5ores,
con
las
caracter!sticas
principales
siguientes)
Ejecución dinámica.
5ac0 más rápida.
$cceso rápido a memoria.
)+ecucin
entrega
din(mica
de
extendida.
Ejecución
efciente
debido
a
la
más instrucciones por ciclo de reloj. 5ada núcleo puede realiar
asta 4 instrucciones simultáneamente. Caché din(mica a,anada.
$signación dinámica de la cac0 L+ para
cada núcleo de procesador basado en la carga de trabajo. Esto reduce signifcativamente la latencia en el uso recuente de los datos ( mejora el desempeHo. La cac0 L+ compartida permite que cada núcleo
utilice
dinámicamente asta el ">> @ de los 4 2 disponible. En la fgura I se ilustra la cac0 dinámica de *ntel. Acceso r(pido a memoria. Jptimia el anco de banda en el uso de datos del
subsistema de memoria por la aceleración en la ejecución uera de orden. El dato puede ser movido de la memoria del sistema a la cac0 L+ rápidamente ( con ello avanando en la ejecución. Esto mantiene lleno el pipeline, que mejora el rendimiento ( desempeHo en las instrucciones.
L+ 5ompartida ecrementa el tráico
inámicamente i-ireccional
L" 5ac0 Kúcleo "
L" 5ac0 Kúcleo +
#igura I. 5ac0 dinámica de *ntel.
2.'
Microprocesador $ntel Core i
El microprocesador *ntel core i;, considerado como el mejor microprocesador del planeta para computadoras de escritorio es una arquitectura mejorada ( optimiada del core + quad, (a que en 0ste, los núcleos se comunican entre s! directamente. $demás tiene 3 niveles de memoria cac0, en el nivel L" cuenta con 3+ B de cac0 para datos ( 3+ B para instrucciones, en el nivel L+ cuenta con +&8 B de cac0 compartida para datos e instrucciones, mientras que en el nivel L3 puede manejar asta A 2 tambi0n compartida. Este microprocesador cuenta con 4 núcleos !sicos, que al virtualiar sus actividades, los convierte en A núcleos lógicos, es decir el sistema operativo identifca A unidades de procesamiento, esto permite al programador desarrollar sistemas paralelos con A entidades paralelas. /u interconexión es califcada como dinámica ( compartida, ( la tecnolog!a multitarea simultánea /29, del ingl0s /imultaneousl( 2ulti9reading1 es una de sus nuevas cualidades %+;'. En la fgura "> se muestra la memoria cac0 nivel 3 del microprocesador *ntel 5ore i;. En aplicaciones multitarea es rápida, debido a que combina la tecnolog!a turbo amplifcador de *ntel *99, del ingl0s *ntel 9urbo oost 9ecnolog(1 ( la tecnolog!a iper-ebra de *ntel *D99, del ingl0s *ntel D(per 9reading 9ecnolog(1, que maximia el desempeHo dividiendo la carga de trabajo.
5ontrolador de memoria integrada - 3
/
/ ú
/ ú
/ ú
?
5ac0 nivel 3 compartida
6
#igura ">. 2emoria cac0 L3 en *ntel 5ore i;.
La arquitectura de 4& nm del 5ore i; %+;' proveniente del código KealemM, está conormada por ;3" millones de transistores, AI millones menos que la arquitectura 6enr(n
que utiliaba "+ 2 para cac0 combinado en el L+ a tan sólo A 2 combinado para cac0 L3. $demás el 5ore i; tiene una nueva particularidad) poseer /ilicio /i1 como elemento conductor, el elemento Danio D1 se a convertido en la nueva capa semiconductora, pues según las investigaciones de *ntel 5orporation, este material reduce el calor ( por ende el consumo de energ!a. Esta cantidad de unidades lógicas aora son aprovecados en la cac0 ( con esto aumenta el paralelismo de las unidades de ejecución en el cip. En la fgura "" se ilustra la interconexión interna del microprocesador *ntel 5ore i;.
5ontrolador *:J a i r o m e M
a i r o m e M
a i r o m e M e d
a i r o m e M e d
6rocesador "
6rocesador +
6rocesador 3
M e ori
6rocesador 4
M e ori
Controla dor de Memori a
5ontrolador
Controla dor de Memori a
*:J
#igura "". *nterconexión interna del microprocesador 5ore i;.
Nna de sus novedades es que aora la unidad de detección de bucles se a colocado detrás de las etapas de decodiicación de instrucciones. La capacidad actual de almacenamiento llega a los +A micro-operaciones. Los investigadores de *ntel lograron pereccionar el modo de entrada para el acceso de memoria cac0 a trav0s del nuevo esquema acceso no uniorme a memoria KN2$, del ingl0s Kon-Nniorm 2emor( $ccess1 lo que en el 5ore + uo era casi imposible de conseguir, movimientos como los saltos de reloj de una manera más sincroniada %+;'.
Características
del
procesador
Core i
e acuerdo a %+4' el procesador 5ore i; presenta las siguientes caracter!sticas) Cuatro unidades de procesamiento. 6rovee cuatro unidades de ejecución
independientes en un solo procesador. Los cuatro núcleos de procesamiento dedicado a(uda a que el sistema operativo ( aplicaciones se ejecuten de una orma mu( eiciente. Tecnolo0ía súper-tarea. 6ermite ejecutar dos tareas por núcleo !sico,
aciendo un total de A tareas para cómputo masivo. 5on esta tecnolog!a se ejecuta mas aplicaciones en paralelo, aciendo más en menos tiempo. turo
ampliicacin.
*ncrementa
dinámicamente
la
Tecnolo0ía
de
recuencia
del procesador conorme es necesario, tomando ventaja del
calentamiento ( potencia de procesador cuando opera por debajo de los l!mites especifcados. 5onsiguiendo un mejor desempeHo automático, cuando más se necesita. Caché r(pida. /e encuentra en el último nivel de cac0. Dabilita efciente (
dinámicamente la asignación
de memoria para los
cuatro
núcleos
del
procesador para manipulación ( almacenamiento eiciente de los datos. &uta de
interconexin r(pida. Es un sistema de interconexión que
incrementa el anco de banda ( con baja latencia, logrando una velocidad alta de transerencia de datos de +&.8 C:s.
Controlador
de
memoria inte0rada.
Es un controlador de memoria
interna con tres canales 73 de ">88 2, oreciendo un desempeHo en memoria de asta +&.8 C:s. 5ombinado con procesadores de algoritmos eicientes de pre-búsqueda, este controlador de memoria disminu(e la latencia ( aumenta el anco de banda, entregando un desempeHo asombroso en aplicaciones donde se manipulan mucos datos. 3# a,anado. *nclu(e un conjunto de instrucciones /*2 //E, del ingl0s
/treaming /*2 Extensions 41, mejorando signifcativamente el anco banda en multimedia ( aplicaciones de computo intensivo. Las instrucciones //E de "+A bits son enviadas en una tasa de rendimiento espec!fco por ciclo de reloj, permitiendo un nuevo nivel
de procesamiento efciente con aplicaciones //E4
optimiado. 4ensor
di0ital
de
temperatura
5#T46
del
in0lés
#i0ital
Thermal
4ensor7. 6roporciona más efciencia al procesador ( la plataorma de control
t0rmico un sistema acústico, el 9/ continuamente mide la temperatura de cada núcleo. La abilidad de monitorear
continuamente
( detectar la variación de temperatura del procesador
permite activar el sistema de ventiladores, que giran de acuerdo a la necesidad para mantener resco el sistema. La incorporación de esta tecnolog!a reduce la emisión de ruido de la computadora personal 65, del ingles 6ersonal 5omputer1. )+ecucin din(mica. 2ejora la velocidad ( efciencia de ejecución, entregando
más instrucciones por ciclo de reloj. 5ada núcleo puede ejecutar asta cuatro instrucciones simultáneamente. Acceso
r(pido
a
memoria.
2ejora
el
desempeHo
del
sistema,
optimiando el uso disponible del anco de banda de datos del subsistema de memoria ( reduciendo eectivamente la latencia a acceso a memoria.
2.8
Microprocesador AM# 9pteron de cuatro núcleos
El Jpteron es un $2 con arquitectura xA8
%+8' de la l!nea de
procesadores para servidores, u0 el primer procesador que se le implementó el conjunto de instrucciones de la arquitectura $284. Este procesador salió al mercado el ++ de abril de +>>3 con núcleo /ledgeDarmmer, para competir en el mercado de procesadores para servidores, particularmente en el mismo segmento del procesador *ntel Oeon. Los procesadores basados en la microarquitectura $2 B"> ueron anunciados el "> de septiembre de +>>;, destacando el procesador de cuatro núcleos. El procesador $2 Jpteron tercera generación con proceso de manuactura de 8& nm está diseHado para un desempeHo óptimo en aplicaciones muti-ebras. Este diseHo se caracteria por tener cuatro núcleos en solo cip, que aumenta la efciencia en los datos compartidos. $demás de una estructura de memoria cac0 mejorada 84 B de datos cac0 ( 84 B de cac0 L" de instrucciones, &"+ B de L+ cac0 por cada núcleo ( + 2 de cac0 L3 por 56N1 ( un
controlador de memoria integrada. En la fgura "+ se ilustra los niveles de memoria cac0 que tiene el microprocesador $2 Jpteron de cuatro núcleos.
Kúcleo "
Kúcleo
Kúcleo
+
3
5ontrolador
5ontro
5ontro
5ontrola
de 5ac0
lador
lador
dor de
de
de
5ac0
5ac
5ac
0
0
L1
L1
Kúcleo 4
L1
L1
L2
L2
L2
L2
L'
#igura "+. Kiveles de memoria cac0 en $2 Jpteron de cuatro núcleos.
Entre las tecnolog!as más importantes del procesador $2 Jpteron de cuatro núcleos son)
El diseHo nativo del quad-core tiene una arquitectura de cuatro núcleos en un solo subtrato.
*ndexación para virtualiaciones rápidas. 2ejora el desempeHo de mucas aplicaciones virtualiadas, debido a que las máquinas virtuales administran directamente la memoria.
Enlaces
con
tecnolog!as
de
super-transporte
asta
tres
por
procesador $2 Jpteron1. /on enlaces de alta velocidad que proveen un anco de banda de asta A.> C:s por enlace de cada conexión entre procesadores ( subsistema de entradas ( salidas, que a(uda a mejorar la escabilidad ( el rendimiento de las aplicaciones.
5ontrolador de memoria integrada en el cip. Jrece un alto anco de banda, baja latencia en el acceso a memoria para un desempeHo excelente de aplicaciones que acen un uso intensivo de memoria, como ambientes virtualiadas.
9ecnolog!a de núcleos dinámicos independientes. 6ermite variar la recuencia de cada núcleo para reducir el consumo de energ!a de los núcleos menos utiliados.
9iene implementado la tecnolog!a para reducir el consumo de energ!a
de asta un ;&@ por núcleo en modo espera.
$rquitectura de conexión directa P permite eliminar la parte tradicional cuello de botellaM de la arquitectura xA8) conexión directa con los buses de supe-transporte *:J
asta A C:s1, comunicación en tiempo real entre procesadorQ el controlador de memoria integrada reduce la latencia ( eectos de desempeHo positivamenteQ conexión directa a la memoria 7+.
9ecnolog!a avanada de 8& nm que usa el /J* /ilicon Jn *nsulator1, una pequeHa uga de corriente ace que el desempeHo por
2ecanismo optimiado en la predicción de rutas.
Ejecución uera de orden.
os tareas de control de "+A bit de instrucciones //E /treaming /*2
Extensions1
2.:
Dasta 4 operaciones de doble precisión de punto lotante por ciclo.
%rocesador 0r(ico /,idia Tesla
El procesador Kvidia 9esla es un procesador gráfco de propósito general para el mercado de alto desempeHo en cómputo cient!fco e ingenier!a. En el modelo de un procesador gráfco %+I' se usa un 56N ( un C6N. La parte secuencial de un programa se corre en el 56N ( la parte de cómputo intensivo se corre en el C6N. esde una perspectiva de usuario, la aplicación corre mu( rápido porque se está usando un C6N que aumenta el desempeHo. El C6N dispone de una arquitectura masivamente paralela llamada arquitectura 5N$. Rsta arquitectura consiste en ">> núcleos de procesadores que operan juntos en el tratamiento del grupo de datos de una aplicación. En la fgura "3 se presenta un diagrama simplifcado de la unidad de procesamiento gráfco CA>.
La serie "> de C6N 9esla tiene implementado la segunda generación de la arquitectura 5N$, que está optimiado para aplicaciones cient!fcas, como el estándar *EEE de punto =otante en doble precisión, cac0 de datos locales en orma de memoria compartida, distribuida en todo el C6N. Los productos de KS**$ tesla son masivamente multi-ebras, debido a que son cip multi- núcleos. Este pueden tener asta "+> procesadores escalares, ejecutar más "+,>>> ebras concurrentemente ( tener un desempeHo por encima de los 4;> C#LJ6/. Los C6N tienen una pequeHa memoria compartida por bloque de A procesadores escalares.
5ada procesador de ebras tiene dos elementos de procesamientos, cada elemento de procesamiento tiene A procesadores escalares que alcana los 3+ C#LJ6/ pico a ".3& CD, tiene A,"I+ registros de 3+ bits 3+ B1, teniendo como operaciones usuales los tipos =oat, int, biurcación, entre otros.
#igura "3. iagrama simplifcado del procesador gráfco CA>.
2.:.1
3istoria del cmputo ;%<
El cip gráfco solo realiaba unciones gráfcas en pipelines. $Hos despu0s, este cip llego a ser gradualmente programable, por lo que Kvidia introduce el primer C6N o unidad de procesamiento gráfco. e "III al +>>>, particularmente en cómputo cient!fco que realiaban los investigadores, tales como imágenes m0dicas ( electromagn0ticas empearon utiliando el C6N. Los investigadores encontraron un excelente desempeHo de operaciones de punto =otante en el C6N. Esto dio lugar a un nuevo C6N llamado C6C6N ó C6N para cómputo de propósito general. El problema que ten!a el C6C6N, era que para programarlo se ten!a que utiliar un lenguaje de
programación
gráfco,
como
JpenCL
(
5g.
$s!
los
programadores
ac!an
sus aplicaciones cient!fcas en aplicaciones gráfcas.
Esto limitaba a la accesibilidad al enorme desempeHo del C6N para la ciencia. Kvidia io realidad en traer el enorme potencial de su procesador gráfco a la comunidad cient!fca, invirtiendo en la modifcación del C6N para que 0ste sea completamente programable ( soporte lenguajes de alto nivel, como 5 ( 5TT.
2.:.2 Arquitectura paralela C<#A " modelo de pro0ramacin
La arquitectura de ardUare paralelo 5N$ está acompaHado por el modelo de programación paralela 5N$ que provee un conjunto de abstracciones que permiten expresar los datos en grano fno ( grano grueso ( paralelismo de tareas. El programador puede elegir un lenguaje de programación de alto nivel para expresar el paralelismo, como 5, 5TT, #ortran ó driver $6* como JpenCL ( cómputo irectO-"". El primer lenguaje que KS**$ dio soporte, ue para el lenguaje 5. Nn entorno de 5 para la erramienta de desarrollo de sotUare 5N$ permite programar el C6N usando 5 con un m!nimo de palabras claves o extensiones. El modelo de programación paralela 5N$ gu!a al programador en la partición
del problema en sub-problemas de grano grueso que se pueden
resolver independientemente en paralelo. El paralelismo en grano fno, los subproblemas pueden ser resueltos cooperativamente en paralelo.
2.:.' /=$#$A Tesla C1>?>
El C6N KS**$ 9esla 5">8> %+A' tiene la capacidad de cómputo equivalente a un clúster pequeHo de computadoras. Esto se debe a que en su arquitectura interna tiene implementado +4> núcleos de procesadores. 5on los +4> núcleos que el procesador 9esla 5">8> tiene puede ejecutar concurrentemente miles de ebras, obteniendo con ello una respuesta rápida ( precisa. Este procesador gráfco cierra la breca entre la demanda de la aplicación ( el desempeHo entregado por el procesador de cómputo. 5on la arquitectura
masivamente paralela del C6N, los cient!fcos e ingenieros pueden conseguir un salto cuántico en desempeHo ( continuar avanando con sus investigaciones, motivados por la rapide con la que obtiene los resultados. KS**$ 9esla tiene un ambiente de programación llamada 5N$ 5, que simplifca la programación de mucos núcleos ( aumenta el desempeHo por la ausencia de carga de actividades de cómputo intensivo desde el 56N al C6N. Esto permite a los desarrolladores a utiliar C6N de KS**$ para resolver problemas cada ve más complejos donde se requiere un ma(or poder de cómputo, como dinámica molecular, análisis fnanciero, dinámica de =uidos, análisis estructural ( mucos otros.
2.:.'.1 Características del procesador Tesla C1>?> Arquitectura multinúcleo con enorme capacidad de c(lculo en paralelo 528> unidades de procesamiento7. 6ermite resolver en la estación de trabajo
problemas de cálculo complejos que antes exig!an el uso de un clúster de servidores. 8 ;@ de memoria de alta ,elocidad. 6ermiten almacenar grandes
volúmenes de datos de orma local para cada procesador a fn de maximiar las ventajas de los ">+ C:s de velocidad de transerencia de la memoria ( reducir el movimiento de datos por el sistema. )ntorno de pro0ramacin en C C<#A (cil de aprender " ampliamente aceptado. Nna orma sencilla de
aplicar el cálculo en paralelo para aprovecar la arquitectura multinúcleo de la C6N. %osiilidad de utiliar ,arias ;%< para otener la capacidad de miles de núcleos de procesamiento. 6ermite resolver problemas a gran escala
aumentando el número de C6N para obtener miles de núcleos de procesamientos.
a trav0s de un único cip, al tiempo que respeta los requisitos de precisión de las aplicaciones. Transerencia asíncrona. $celera el rendimiento del sistema porque las transerencias de datos pueden eectuarse a la ve que los cálculos. $ntera de memoria de :12 its entre la ;%< " la memoria de la placa .
La intera de memoria C73 de &"+ bits proporciona un anco de banda de ">+ C:s para garantiar la máxima velocidad en la transerencia de datos.
Memoria compartida. Los grupos de núcleos de procesamiento pueden
colaborar entre s! utiliando memoria de baja latencia. Transerencia de datos a alta ,elocidad mediante el us %C$ )xpress ;en 2.> . Extraordinaria rapide de comunicación entre la 56N ( la C6N. =ariedad de ormatos. Las C6N 9esla están disponibles en ormatos para
estación de trabajo o para sistemas de racG "N1, lo que permite su instalación en dierentes entornos.
2.?
Microprocesador C)LL de anda ancha
La $rquitectura del microprocesador 5ELL ue desarrollada conjuntamente por /on( 5omputer Entertainment, 9osiba e *2, en una aliana conocida con el nombre /9* %"I'. El diseHo ( primera implementación de este microprocesador se llevo a cabo en /9* esign 5enter de $ustin, 9exas durante un periodo de 4 aHos que comenó en maro de +>>". El procesador 5ELL de banda anca tiene una arquitectura !brida (a que emplea una combinación de la arquitectura de núcleo 6oUer65 de propósito general ( medianas prestaciones con elementos coprocesadores en cascadas, los cuales aceleran notablemente el procesado de vectores ( multimedia, entre otras. En la igura "4 se ilustra la arquitectura del procesador 5ELL de banda anca.
#igura "4. $rquitectura del procesador 5ell de banda anca.
2.?.1 Componentes del procesador C)LL
El microprocesador 5ELL %"3', básicamente está compuesta por un elemento procesador potente 66E, del ingl0s 6oUer 6rocessor Element1, oco elementos de procesadores sin0rgicos /6E, del ingl0s /(nergistic 6rocessor Element1. Estos dos procesadores están conectados entre s! a trav0s de un bus interno de alta velocidad, denominada bus de interconexión de elementos E*, del ingl0s Element *nterconnect us1. $demás de incorporar un subsistema de memoria O7 de 7$2N/.
)lemento de procesador %oBer%C 5%%)6 del in0lés %oBer%C %rocessor )lement7
El 66E es un procesador de 84 bit, con un núcleo 6oUer65 con arquitectura 7*/5 de dos ebras en hardware. Este procesador es el que controla ( administra los oco elementos /6E. El 66E tambi0n es el que se encarga de interactuar con el sistema operativo. e acuerdo con la *2 el procesador puede correr un sistema operativo normal a lado de un sistema operativo de tiempo real ( ambos uncionando correctamente. El 66E tiene dos niveles de memoria cac0, la memoria cac0 nivel " L"1 separada, 3+ B para instrucciones ( 3+ B para datos. La memoria cac0 nivel + unifcada L+1 de &"+ B para instrucciones ( datos, cada l!nea de cac0 es de "+A bits. Nna unidad $ltivec es incluida en dico procesador para procesar datos de coma =otante en doble precisión mediante pipeline. 5ada 66N es capa de ejecutar dos operaciones de coma =otante en doble precisión por cada ciclo de reloj, combinando escalarmente una instrucción de multiplicación ( suma alcanando los 8.4 C#LJ6/ a 3.+ CDQ ó A operaciones en precisión simple por ciclo de reloj con una instrucción vector de suma ( multiplicación, alcanando los +&.8 C#LJ6/ a 3.+ CD.
)lemento procesador sinér0ico 54%)6 del in0lés 4"ner0istic %rocessor )lement7
5ada /6E está compuesto por una unidad de procesamiento sin0rgico /6N, del ingl0s /(nergistic 6rocessing Nnit1 ( una controlador de =ujo a memoria 2#5, del ingl0s 2emor( #loU 5ontroller1. Nn /6E es un procesador 7*/5 con organiación /*2 de "+A bits para instrucciones de precisión simple ( doble.
5on la generación actual del procesador 5ell, cada /6E contiene +&8 B de /7$2 embebido para instrucciones ( datos, llamado almacenamiento local que es visible para el 66E ( puede ser direccionado directamente por sotUare. 5ada /6E puede soportar asta 4C de memoria de almacenamiento local. La memoria de almacenamiento local no opera convencionalmente como la cace de un 56N porque no es transparente al sotUare ni contiene una estructura de ardUare que aga una predicción sobre el dato a cargar. El /6E contiene registros de "+A bit con "+A entradas ( mide "4.& mm+ con tecnolog!a de abricación de I> nm. Nn /6E puede operar "8 enteros de A bits, A enteros de "8 bits, 4 enteros de 3+ bits ó A números de punto =otante en precisión simple en un ciclo de reloj, como bien una operación a memoria.
@us
de
interconexin
de
elementos
El bus de interconexión de elementos E*, del ingl0s Element *nterconnect us1 es un bus interno del procesador 5ell que conecta varios elementos del sistema en un cip) el procesador 66E, el controlador de memoria, los oco coprocesadores ( dos interaces de entrada:salida siendo un total de "+ participantes en el 6la(/tation3. El bus de interconexión de elementos inclu(e una unidad arbitraria que unciona como un conjunto de semáoros. El bus de interconexión de elementos actualmente esta implementado como un anillo circular con cuatro canales unidireccional de "8 (tes de anco que giran en sentido opuesto por par de canal. 5uando a( un tráfco estándar, cada canal puede transportar asta tres transacciones concurrente. 5omo este bus corre a la mitad de velocidad del reloj del sistema la eectividad del canal es de "8 (tes cada dos ciclos del sistema. $ concurrencia máxima, con tres transacciones activas sobre los cuatro anillos, el pico instantáneo en el anco de banda del bus es I8 (tes por reloj "+ transacciones concurrentes por "8 (tes de anco entre dos ciclos del sistema por transerencia1. 5ada elemento conectado al bus de interconexión de elemento tiene un puerto de lectura de "8 (tes ( un puerto de escritura de "8 (tes. El l!mite de cada elemento en la tasa de lectura ( escritura es de "8 (tes por ciclo del bus. 5ada procesador /6N contiene un administrador dedicado para el acceso directo a memoria que es capa de programar secuencias largas de transacciones a varios puntos sin intererir con los cálculos actuales del /6NQ la cola del administrador de acceso directo a memoria puede ser administrado localmente o remotamente como sea mejor, esto nos provee una lexibilidad adicional al modelo de control.
El =ujo de datos sobre un canal del bus de interconexión de elementos es gradual alrededor del anillo. 5omo son doce elementos conectados, el número total de pasos alrededor del canal acia el punto de origen son doce. /eis pasos para distancias
largas entre dos elementos. Este bus no permite
transmitir datos que requieran más de doce pasosQ como los datos que requieren tomar rutas cortas en otra dirección alrededor de anillo. El número de pasos que implica el env!o de paquetes tiene un impacto mu( pequeHo sobre la latencia de transerencia) la velocidad del reloj de controlador de pasos es mu( rápido comparado con otras consideraciones. /in embargo, la comunicación en distancias largas perjudica el desempeHo total del bus debido a que reduce la concurrencia disponible.
$sumiendo que el procesador 5ell corre a 3,+ CD. $ esta recuencia de reloj cada canal transmite a un ritmo de +&,8 C:s. 5ontemplando el E* aisladamente de los elementos que interconecta, alcanar doce transacciones simultáneas con este ratio de transerencia arrojar!a un anco de banda teórico de +>;,+ C:s. asándose en esta perspectiva mucas de las publicaciones de *2 describen el anco de banda disponible en el E* como ma(or de 3>> C:sM. Este número re=eja el pico instantáneo de anco de banda del E* escalado por la recuencia del procesador. En la práctica el anco de banda eectivo del E* %"I' puede tambi0n estar limitado por los participantes involucrados en el anillo. 2ientras que cada uno de los nueve núcleos de proceso puede mantener una velocidad de lectura ( escritura de +&,8 C:s de manera simultánea, el adaptador de controladora de memoria 2*5, del ingl0s 2emor( *nterace 5ontroller1 está sujeto a un par de canales de memoria O7 del ingl0s Extreme ata 7ate1 que permiten un tráfco máximo de +&,8 C:s para escrituras ( lecturas combinadasQ ( las dos controladoras de E:/, según aparece en la documentación, soportan una velocidad máxima combinada de entrada de +&,8 C:s ( una velocidad máxima combinada de salida de 3& C:s.
Controladora de memoria " )4
El procesador 5ell contiene un macro O*J 7ambus doble canal de nueva generación, que interconecta con memoria O7 7ambus. La controladora adaptadora de memoria 2*51 está separada del macro O*J ( a sido diseHada por *2. El enlace O*J-O7 corre a 3,+ C:s en cada pin. os canales de 3+ bits pueden proporcionar un máximo teórico de +&,8
C:s. El adaptador de sistema empleado en 5ell, tambi0n un diseHo 7ambus, es conocido como #lex*J. La interace #lex*J está organiada en "+ carriles, siendo cada carril un canal de A bits punto a punto. 5inco caminos de A bits de anco punto a punto son carriles de entrada al 5ell, mientras que los siete restantes son de salida. Esto proporciona un anco de banda máximo teórico de 8+,4C:s 38,&C:s salida, +8C:s entrada1. La interace #lex*J puede poseer una recuencia de reloj independiente t!picamente, a 3.+ CD1. 5uatro canales de entrada ( cuatro de salida se encargan de implementar la coerencia de memoria %"I'.
PROCESADORES MULTI>ILO
2. Rie',o' de control (control hazar ds ): de"ido a 'alto' d&rante la e#ec&* Ante e'ta' 'it&acione' re'&elto
la
t&" er 3a
'e detiene a'ta
%&e el rie',o 'ea
(!or e#em!lo %&e concl&=a la e #ec&cion de la in'tr&ccion %&e de"e !rod&cir el dato re%&erido). A'3 el rendimiento ideal de &na in'tr&ccion !or ciclo
lo %&e re'<a en &na red&cci on 'i,nicati$a en el 'ola!amiento (o !araleli'* mo) a ni$el de in'tr&ccione'. Por e#em!lo !ara &n !ro,rama MIPS la
t3!ico
0rec&encia de in'tr&ccione' de 'alto condicional !o dr 3a 'er del 45 6 7859.
E'to 'i,nica %&e cada c&atro in'tr&ccione' e#ec&tada'
el !roce'ador 'e
enc&entra ante &n hazard de control. Para maimi+ar el a!ro$ecamiento de lo' rec&r'o' del !roce'ador 'e re* %&iere &n alto ,rado de !araleli'mo a ni$el de in'tr&ccione' (ILP − Instruction Level Par all elism ). Si como oc&rre en la !r actica e'te !araleli'mo e' e'ca'o entonce' de" er an anali+ar'e otra' e'trate,ia'
%&e le den la
o!ort&ni* dad al !roce'ador de e#ec&tar m<i!le' in'tr&ccione' 'im&l aneamente.
Una !o'i"ilidad con ,ran a&,e en lo' <imo' tiem!o' e' el
a!ro$ecamiento
1.2.
del !araleli'mo a ni$el de ;ilo< de e #ec&cion (ILP −
Proce'adore' M<iilo
En adicion al !ro"lema del "a#o ni$el de ILP (lo %&e conlle$a a &n &'o
tam "ien 'e caracteri* +a !or de'!erdiciar ca!acidad de com!&to !ermaneciendo d&rante al,&no' ciclo' de relo# en e'tado ocio'o (id le ). En oca'ione' la e#ec&cio del -o de in'tr&ccione' '&ele "lo%&ear'e de"ido a entre otra' co'a' mala' !rediccione' de lo' 'alto' de'acierto' en la memoria cace de in'tr&ccione' o ! eracione' de E/S etc. lo %&e 'e trad&ce inde0ecti"lemente en &n !roce'ador ocio'o a la e'!era de &na in'tr&cc ion a e#ec&tar. ineciente de lo' rec&r'o') &n !roce'ador '&!ere'calar
PROCESADORES MULTI>ILO
De'!erdicio >ori+ontal: de"ido al "a#o ni$el de ILP %&e im!ide
!ara &n ciclo de relo# &'ar e(cientemente lo' rec&r'o' (&nidade' 0 &n* cionale') di'!oni"le'. De'!erdicio ertical: de"ido al "lo%&eo o latencia' en la' in'tr&c*
cione' e#ec&tada' con lo c&al el !roce'ador de"e !ermanecer ocio'o. Una 'ol&cion al &'o ineciente de lo' rec&r'o' del !roce'ador con'i'te en la &tili+acion de m<i!le' ilo' (o -o') de in'tr&ccione' cono cida como ejecucion multihilo. En e'te tra"a#o
tecnica
el conce!to de ilo
(thread ) di(er e al &tili+ado en el am "ito del softwar e ? a%&3 'e ar re0erencia
a -o' de in'tr&ccione' 'o!ortado' a ni$el de hardware a
di0erencia de lo' ilo' creado' !or el 'i'tema o!erati$o o !or el &'&ario. Sin em"ar,o
en m&co' ca'o' &n ilo a nivel de software ! odr 3a
corre'!onder'e con &n ilo a nivel de hardware. En e'te 'entido el modelo
M<iilo e!l 3cito: c&ando el !roce'ador e#ec&ta ilo' o !roce'o' del
usuario (e.,. del 'i'tema o!erati$o). E' decir a= &na corre'!ondencia directa entre lo' ilo' de software = lo' ilo' de hardware 'o!ortado' M<iilo im! l 3cito: c&ando el !roce'ador tiene la ca!acidad de ,e*
nerar dinamicamente ilo' !ro!io' a !artir de &n &nico -o de in'* tr&ccione'
mediante mecani'mo'
de e'!ec&lacion.
E'to
!&ede
lo,rar'e !or e#em!lo e!lotando la inde!endencia entre 'ec&encia' de
in'tr&c* cione' como !o dr 3a 'er cada iteracion de &n "&cle (en e'te ca'o cada ilo im!l3cito corre'!onder 3a a la e #ec&cion de &na
iteracion 'i la' ite* racione' 'on inde!endiente' &na de otra). En ,eneral la ca!acidad !ara ,enerar ilo' im!l3cito' !or !arte del En e'te tra"a#o 'e ar a re0erencia al !rimer e'%&ema (m<iilo e!l !or 'er el encontrado en lo' !roce'adore' moderno' a&n%&e e' im! ortante
PROCESADORES MULTI>ILO
de'tacar %&e la or,ani+ac ion cace !ro!&e'ta e' inde!endiente del ori,en de lo' ilo' en e #ec&cion. En lo' !roce'adore' con m<iilo e!l3cito ei'ten do' alternati$a'
!ara el mane#o conc&rrente de la e #ec&cion. Por &na !arte lo' ilo' !o dr 3an 'er e#ec&tado' en 0orma intercalada mediante '&ce'i$o' cam"io' de conteto (notar %&e en &n momento determinado &n &nico ilo tiene di'!oni"le la totalidad de lo' rec&r'o' del !roce'ador). De!endiendo de la
,ran&laridad con la %&e 'e intercalan
lo' ilo' ! odr 3amo' e'tar en
FMT ( Fine-grain Multithreading ): lo' -o' (ilo') 'e alternan en cada in'tr&ccion e#ec&tada. CMT (Coarse-grain Multithreading ): lo' -o' (ilo') 'e alternan c&an* do el %&e e'ta"a en e #ec&cion inc&rre en al,&na !enalidad tal como
La otra alternati$a con'i'te en e#ec&tar lo' ilo' di'!oni"le' en 0orma 'i*
m<anea di'enB o conocido como SMT (Simultaneous
Multithreading ).
E'ta tecnica !ro!&e'ta !or E,,er' = otro' en 7C9) "&'ca minimi+ar tanto el de'* !erdicio ori+ontal como tam "ien el de'!erdicio $ertical. Para e$itar %&e el !roce'ador !ermane+ca ocio'o la' in'tr&ccione' a e#ec&tar 'e toman de $ario' -o' 'im<aneamente de manera tal %&e ante el "lo%&eo de &no de ello' 'e !&eda contin&ar con la e#ec&cion de al,&no de lo' otro'. En realidad la anterior =a e' &na caracter 3'tica de la !ol3tica FMT. La di0erencia e'ta en %&e &n e'%&ema SMT "&'ca maimi+ar !ara cada ciclo de relo# la &tili+acion de lo' rec&r'o' del !roce'ador. Si el -o (!roce'o o ilo) en e #ec&cion !re'enta &n alto ni$el de ILP entonce' e'e !araleli'mo !ermite e!lotar al maimo la &tili+acion de la' &nidade' 0&ncionale' !ara &n ciclo de relo#. Por otra !arte 'i $ario' -o' !re'entan
cada &no &
"a#o ni$el de ILP entonce' !&eden 'er e#ec&tado' 'im< aneamente !ara maimi+ar
el a!ro$ecamiento
de lo' rec&r'o'. En la ,&ra 1.4 !&ede