PROCESADOR AMD OPTERON

Comentarios

Transcripción

PROCESADOR AMD OPTERON
PROCESADOR AMD OPTERON
USO EN SERVIDORES MULTIPROCESADOR
David Oña Martínez
ÍNDICE
ƒ
CARACTERÍSTICAS GENERALES
ƒ
ƒ
ARQUITECTURA x86-64
MICROARQUITECTURA DEL NÚCLEO
ƒ
PIPELINE
ƒ
CACHES
ƒ
INSTRUCTION FETCH AND DECODE
ƒ
PREDICTOR DE SALTOS
ƒ
ƒ
UNIDADES FUNCIONALES DE ENTEROS Y PUNTO FLOTANTE
ƒ
¿CÓMO SE INTEGRA ESTO ÚLTIMO?
ƒ
UNIDADES FUNCIONALES LOAD Y STORE
ƒ
CONTROLADOR DE MEMORIA E HYPERTRANSPORT
ƒ
FIABILIDAD
ƒ
ƒ
¿CÓMO SE INTEGRA TODO LO ANTERIOR?
¿CÓMO SE INTEGRA ESTO ÚLTIMO?
MULTIPROCESAMIENTO
ƒ
ANÁLISIS DEL RENDIMIENTO DEL MULTIPROCESADOR
ƒ
MULTIPROCESAMIENTO DE MÁS DE 8 VÍAS
CARACTERÍSTICAS
GENERALES
„
Microprocesador de 64 bit basado en
la arquitectura x86.
„
Procesador superescalar.
„
Ejecución
fuera
de
orden
especulativa, con renombrado de
registros y ROB.
„
Dos niveles amplios de
cache on-chip (L1 y L2).
„
Controlador de memoria double-datarate (DDR) on-chip.
„
HyperTransport
multiprocesamiento.
memoria
para
ARQUITECTURA
x86-64
¿POR QUÉ 64 BIT?
„
Bases de datos
„
Herramientas CAD
„
Servidores de alto rendimiento
Necesidad de direccionamiento de
grandes cantidades de memoria
tanto física como virtual.
¿QUÉ OCURRE ENTONCES CON LA ARQUITECTURA x86-32?
La tecnología x86-64:
„
Funciona a máximo rendimiento con las aplicaciones y sistemas operativos de 32 bits
existentes, al tiempo que ofrece una ruta de migración a 64 bits apta.
„
Está diseñada para permitir la informática de 64 bits sin dejar de ser compatible con la
amplia infraestructura de software x86.
„
Permite una sola infraestructura en entornos de 32 y 64 bit.
ARQUITECTURA
x86-64
COMPATIBILIDAD CON LA
ARQUITECTURA x86
„
Direcciones virtuales de 64 bit.
„
Direcciones físicas de 52 bit.
„
Se extienden las instrucciones
aritmético-lógicas de enteros a 64
bit.
„
Se dobla el número de registros
de propósito general (GPRs) y los
registros de extensión SIMD
(SSE) (de 8 a 16 en ambos casos).
„
Se amplían los GPRs de 32 a 64
bit.
MICROARQUITECTURA
DEL NÚCLEO
MICROARQUITECTURA
DEL NÚCLEO
„
Procesador de 3 vías: realiza el fetch y
decode de 3 instrucciones por ciclo.
„
Consta de 72 μops.
„
Codifica instrucciones de tamaño variable en
μops de longitud fija.
„
Existen 2 tipos de μ-ops:
„
„
Enteras.
„
Punto flotante y multimedia.
11 μops por ciclo en las siguientes unidades
de ejecución:
„
3 UFs de enteros.
„
3 UFs de generación de direcciones.
„
3 UFs de punto flotante y multimedia.
„
2 load/store a la cache de datos.
PIPELINE
„
Completamente integrado desde la unidad de fetch a través de la memoria DRAM.
„
La memoria DRAM funciona a la misma frecuencia que el núcleo.
PIPELINE
„
Consta de:
„
12 etapas para operaciones de enteros.
„
17 etapas para operaciones en punto flotante.
„
Suficientemente largo como para obtener buenos resultados a alta frecuencia.
„
Suficientemente corto como para obtener buen IPC.
„
7 ciclos para las etapas de fetch y decode en los que la latencia viene salvaguardada por el predictor de
saltos.
„
En la operación de carga el acceso a memoria cache de datos L1 tiene lugar en la etapa 11 y en la
siguiente etapa el dato se encuentra en el CDB.
PIPELINE
„
Si se produce un fallo de cache L1 tiene lugar un acceso en paralelo a la cache L2 y a la
cola de peticiones de sistema (system request queue).
„
Si se da un acierto en L2 se cancela la petición de sistema.
„
El controlador de memoria gestiona la petición de sistema en la memoria DRAM.
„
Se adelantan los datos tanto de cache como de memoria DRAM mientras se
actualiza L1 y se realiza la correción de código.
CACHES
L1:
„
„
Cache de datos e instrucciones (L1)
separadas:
„
Tamaño: 64 Kbytes.
„
Asociativa
por
conjuntos.
Indexadas linealmente.
„
8 vías.
„
Marcos
Kbytes.
„
Longitud de palabra de 64
bytes.
de
bloque
de
4
TLB asociativa:
„
32 entradas correspondientes
a páginas de 4 Kbytes.
„
8 entradas correspondientes a
páginas de 2 a 4 Mbytes.
CACHES
L2:
„
Tamaño: 1 Mbyte.
„
Asociativa por conjuntos de 16 vías.
„
Política de reemplazamiento pseudo-LRU:
„
2 vías por sector.
„
LRU asociada a cada sector
„
Se utilizan la mitad de bits que para LRU obteniendo el mismo resultado.
„
El protocolo MOESI (Modified, Owner, Exclusive, Shared, Invalid) garantiza coherencia en la
cache.
„
TLB asociativa por conjuntos de 4 vías con 512 entradas correspondientes a páginas de 4
Kbytes.
„
Existe un filtro HW que impide la eliminación innecesaria de páginas de la TLB. Solamente
se limpia la TLB cuando se producen modificaciones en la paginación de las estructuras de
datos.
INSTRUCTION FETCH
AND DECODE
„
La unidad de fetch envía a la unidad scan/align 16 bytes de instrucción por ciclo (las
instrucciones pueden variar de 1 a 15 bytes).
„
La unidad scan/align escanea los bytes y marca los límites de cada instrucción.
„
Las instrucciones se traducen en μops de longitud fija mediante:
„
Fastpath decoders (decodificadores HW ).
„
Microcódigo.
INSTRUCTION FETCH
AND DECODE
„
„
Fastpath decoders:
„
Pueden traducir hasta 3 instrucciones por ciclo.
„
La mayoría de las instrucciones que se decodifican en 1 ó 2 μops usan estos
decodificadores.
„
Opteron posee más recursos Fastpath que Athlon.
Microcódigo:
„
Sólo se traduce 1 instrucción por ciclo.
PREDICTOR
DE SALTOS
„
Predictor híbrido.
„
El mecanismo de selección elige entre
predicción estática y la tabla de
historia global.
„
La tabla de historia global posee dos
contadores saturados de 2 bits.
„
La pila de direcciones de retorno
(RAS) almacena conjuntamente cada
salto con su dirección de retorno.
„
Cuando se lee una línea de la cache
datos se guarda la información
predicción de salto y los últimos bits
L2 (en el campo de código
corrección de errores de cache).
de
de
en
de
PREDICTOR
DE SALTOS
¿CÓMO SE INTEGRA TODO LO ANTERIOR?
UNIDADES DE ENTEROS
Y PUNTO FLOTANTE
„
A la unidad de control de instrucciones llegan 3 μops por ciclo.
„
La unidad de control de instrucciones posee un ROB de 72 entradas.
„
En paralelo, las μops llegan a las estaciones de reserva de enteros y a la cola de
operaciones en punto flotante.
„
Se procede al issue de las μops y la ejecución de las mismas comienza cuando cuando
los operandos se encuentran disponibles.
„
μops de enteros:
„
Camino de datos de 64 bits.
„
La mayoría se realizan en 1 ciclo.
„
El HW de multiplicación tarda:
„
3 ciclos para multiplicaciones de 32 bits.
„
5 ciclos para multiplicaciones de 64 bits.
UNIDADES DE ENTEROS
Y PUNTO FLOTANTE
„
μops en punto flotante:
„
Camino de datos de extensión a 80 bit de precisión.
„
UFs segmentadas con CPI = 1 para la mayoría de las operaciones.
„
Operaciones simples y la mayoría de las MMX tardan 2 ciclos.
„
Multiplicación MMX: 3 ciclos.
„
Multiplicación y suma: 4 ciclos.
„
División y raíz cuadrada con latencia variable dependiendo de la
precisión (entre 16 y 35 ciclos).
¿CÓMO SE INTEGRA ESTO ÚLTIMO?
UNIDAD LOAD STORE
„
2 operaciones de load o store de 64
bits por ciclo (si el acceso se realiza
a bloques distintos)
„
La latencia del load es de 3 ciclos
(puede requerir un ciclo extra si existe
algún conflicto).
„
Aunque la operación de load puede
proporcionar valores fuera de orden, la
operación de store sólo puede realizar
el commit cuando se retira el valor del
ROB.
CONTROLADOR DE MEMORIA
E HYPERTRANSPORT
CONTROLADOR DE MEMORIA
„
On chip.
„
Conexión bidireccional con memoria DDR a 333 MHz (ancho de banda de 128 bits).
„
Memoria DDR compuesta de módulos de memoria PC2700 en línea (DIMMs).
„
Pico de ancho de banda máximo del controlador de 5.3 Gbytes/s.
„
8 módulos DIMM de 2 Gbytes adicionales proporcionan un refuerzo de 16 Gbytes.
„
No emplea la misma señal de reloj que el núcleo pero la frecuencia es idéntica.
„
Un protocolo de coherencia de cache evita el retardo producido por el acceso en serie a
las caches de los distintos procesadores permitiendo al acceso concurrente a caches y
DRAM.
CONTROLADOR DE MEMORIA
E HYPERTRANSPORT
HYPERTRANSPORT
„
3 conexiones con un ancho de banda de 16 bits (3.2 Gbytes/s por dirección).
„
Dos posibles configuraciones:
„
Protocolo coherente (cHT) para conectar procesadores.
„
Protocolo incoherente (HT) para conectar E/S.
„
Permite conexionado flexible, adaptable y configurable a todo tipo de topologías E/S.
„
Es transparente a cualquier sistema operativo que emplea PCI.
FIABILIDAD
CORRECIÓN DE ERRORES DE CÓDIGO (ECC)/SISTEMA DE BITS DE PARIDAD
„
„
Memorias cache L1, L2 y sus respectivas TLBs y memoria DRAM:
„
8 bits de paridad para 64 bits de datos.
„
Single Error Correction Double Error Detection (SECDED).
„
Existen mecanismos HW que limpian errores ECC de 1 bit.
Procesador:
„
„
16 bits de paridad para 128 bits de datos.
Los errores del sistema ECC se envían a una arquitectura de comprobación que informa de
los fallos con suficiente información para diagnosticar el error.
¿CÓMO SE INTEGRA ESTO ÚLTIMO?
MULTIPROCESAMIENTO
Las tres conexiones HyperTransport on-chip permiten construir sistemas multiprocesador de 2, 4
y hasta 8 vías con amplio ancho de banda para flujos de datos de E/S.
2 vías
4 vías
8 vías
ANÁLISIS DEL RENDIMIENTO
DEL MULTIPROCESADOR
CONDICIONES DEL ESTUDIO MEDIANTE MICROBENCHMARKS
„
Se analizan 3 tipos de configuraciones: sistemas de 1, 2 y 4 procesadores.
„
Se estudia la latencia y el ancho de banda.
„
Cada conexión HyperTransport ofrece un ancho de banda de 6.4 Gbytes/s:
„
„
3 conexiones E/S (1P).
„
4 conexiones E/S (2P y 4P).
Distancia media entre nodos:
„
1 hop (1P y 2P).
„
1.75 hops (4P).
ANÁLISIS DEL RENDIMIENTO
DEL MULTIPROCESADOR
CONDICIONES DEL ESTUDIO MEDIANTE MICROBENCHMARKS
„
Se hace distinción entre dos tipos de acceso a memoria:
„
Acceso exclusivo a memoria local de cada procesador (a)
„
Acceso a memoria Xfire (Crossfire): Todos los procesadores acceden a
datos de cada nodo mediante una interconexión total de los procesadores
(comunicación all-to-all) (b)
ANÁLISIS DEL RENDIMIENTO
DEL MULTIPROCESADOR
RESULTADOS DEL ANÁLISIS
„
El ancho de banda de la lectura de memoria en 4P es de hasta:
„
15.59 Gbytes/s en accesos a memoria local.
„
11.23 Gbytes/s en accesos a memoria a través de los nodos.
ANÁLISIS DEL RENDIMIENTO
DEL MULTIPROCESADOR
RESULTADOS DEL ANÁLISIS
„
La latencia media de lectura sin carga de datos de páginas de memoria a disposición
de todos los procesadores es, como mucho, de:
„
50 ns (1P).
„
70 ns (2P).
„
110 ns (4P).
ANÁLISIS DEL RENDIMIENTO
DEL MULTIPROCESADOR
RESULTADOS DEL ANÁLISIS
„
El ancho de banda medio de tráfico uniforme entre nodos es de:
„
5.3 Gbytes/s (1P).
„
7 Gbytes/s (2P).
„
11.23 Gbytes/s (4P).
ANÁLISIS DEL RENDIMIENTO
DEL MULTIPROCESADOR
Parámetro del sistema
1P
2P
4P
Nº de DIMMs
8
16
32
Memoria total usando DIMMS de 2 Gbytes (Gbytes)
16
32
64
Nº de conexiones HyperTransport
3
4
4
Bisection bandwidth (Gbytes/s)
-
6.4
12.8
Diámetro (Nº de hops)
-
1
2
Distancia media (Nº de hops)
-
0.5
1
Ancho de banda de lectura de memoria local (Gbytes/s)
5.3
10.67
15.59
Ancho de banda local por procesador (Gbytes/s)
5.3
5.3
3.9
Ancho de banda de lectura de memoria Xfire (Gbytes/s)
5.3
7.06
11.23
Ancho de banda Xfire (Gbytes/s)
5.3
3.53
2.8
MULTIPROCESAMIENTO
DE MÁS DE 8 VÍAS
„
El procesador Opteron se concibió
como bloque integrante de servidores
de buen resultado cuya ampliación
resultase versátil.
„
El servidor puede ampliarse a un
número de vías superior a 8 mediante
un
dispositivo
HyperTransport
externo.
„
Distancia media entre nodos: 2.7 hops.
„
Distancia
máxima
entre
(diámetro de la red): 5 hops.
nodos
MULTIPROCESAMIENTO
DE MÁS DE 8 VÍAS
„
Los procesadores se agrupan en grupos de 4, cada uno con E/S y memoria local
independientes.
„
Los 4 procesadores comparten un par de caches remotas y filtros snoop (reducen el
tráfico entre interruptores e incrementan el ancho de banda).
„
Cada grupo de procesadores se conecta con el resto mediante dos interruptores
coherentes (SW0 y SW1) y seis conexiones HyperTransport.
BIBLIOGRAFÍA
Chetana N. Keltcher et al, ‘The AMD Opteron Processor for Multiprocessor Servers’, IEEE Micro, vol. 23, no 2,
2003, pp. 66-76
http://www.amd.com
http://www.amd.com/us-en/assets/content_type/DownloadableAssets/MPF_Hammer_Presentation.PDF
http://chip-architect.com/news/2003_09_21_Detailed_Architecture_of_AMDs_64bit_Core.html
http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00238028/c00238028.pdf
http://www.devx.com/amd/Article/16019
FIN DE LA PRESENTACIÓN
David Oña Martínez

Documentos relacionados