PROCESADOR AMD OPTERON - dacya.ucm.es OPTERON.pdf · 8 bits de paridad para 64 bits de datos. ......

36
PROCESADOR AMD OPTERON USO EN SERVIDORES MULTIPROCESADOR David Oña Martínez

Transcript of PROCESADOR AMD OPTERON - dacya.ucm.es OPTERON.pdf · 8 bits de paridad para 64 bits de datos. ......

PROCESADOR AMD OPTERONUSO EN SERVIDORES MULTIPROCESADOR

David Oña Martínez

ÍNDICECARACTERÍSTICAS GENERALES

ARQUITECTURA x86-64

MICROARQUITECTURA DEL NÚCLEO

PIPELINE

CACHES

INSTRUCTION FETCH AND DECODE

PREDICTOR DE SALTOS

¿CÓMO SE INTEGRA TODO LO ANTERIOR?

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 ESTO ÚLTIMO?

MULTIPROCESAMIENTO

ANÁLISIS DEL RENDIMIENTO DEL MULTIPROCESADOR

MULTIPROCESAMIENTO DE MÁS DE 8 VÍAS

CARACTERÍSTICASGENERALES

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 memoriacache on-chip (L1 y L2).

Controlador de memoria double-data-rate (DDR) on-chip.

HyperTransport para multiprocesamiento.

ARQUITECTURA x86-64

¿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.

¿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.

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 de bloque de 4 Kbytes.

Longitud de palabra de 64 bytes.

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 FETCHAND 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 FETCHAND 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.

PREDICTORDE 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 de datos se guarda la información de predicción de salto y los últimos bits en L2 (en el campo de código de corrección de errores de cache).

PREDICTORDE 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 MEMORIAE 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 MEMORIAE 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

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.

RESULTADOS DEL ANÁLISIS

ANÁLISIS DEL RENDIMIENTO DEL MULTIPROCESADOR

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).

RESULTADOS DEL ANÁLISIS

ANÁLISIS DEL RENDIMIENTO DEL MULTIPROCESADOR

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).

RESULTADOS DEL ANÁLISIS

ANÁLISIS DEL RENDIMIENTODEL MULTIPROCESADOR

12.86.4-Bisection bandwidth (Gbytes/s)

2.83.535.3Ancho de banda Xfire (Gbytes/s)

11.237.065.3Ancho de banda de lectura de memoria Xfire (Gbytes/s)

3.95.35.3Ancho de banda local por procesador (Gbytes/s)

15.5910.675.3Ancho de banda de lectura de memoria local (Gbytes/s)

10.5-Distancia media (Nº de hops)

21-Diámetro (Nº de hops)

443Nº de conexiones HyperTransport

643216Memoria total usando DIMMS de 2 Gbytes (Gbytes)

32168Nº de DIMMs

4P2P1PParámetro del sistema

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 nodos (diámetro de la red): 5 hops.

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