augusto j. vega [email protected] tesis de grado en ingeniería en informática orientación en...

61
Augusto J. Vega [email protected] Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación de Arquitecturas de Memoria en Esquemas Multihilo Simultáneo

Upload: armando-ante

Post on 28-Jan-2016

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Augusto J. [email protected]

Tesis de Grado en Ingeniería en InformáticaOrientación en Sistemas Distribuidos

Febrero de 2007

Un Ambiente para la Evaluación de Arquitecturas de Memoria en

Esquemas Multihilo Simultáneo

Page 2: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Introducción

• Interrogantes respecto al desempeño de los recursos compartidos (memoria caché L1) en los nuevos procesadores con soporte multihilo (HyperThreading, Power5, etc.).

• Presentación de una nueva organización caché adecuada para estos procesadores.

• Desarrollo de herramientas para el estudio de memorias caché en ambientes multihilo.

• Creación de nuevas métricas y adaptación de otras existentes.

Page 3: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Estructura de laPresentación

• Recolección de trazas.• Procesamiento de trazas y simulación.• Caché para procesadores multihilo.• Conclusiones y trabajo a futuro.

Page 4: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Recolección de Trazas

• Traza: secuencia de referencias a memoria generadas por un programa.

• Útil para la simulación de memorias caché.• Típicamente, provenientes de programas

secuenciales (un solo hilo de ejecución).• Necesidad de trazas multihilo. 0x804879C

0x804879D0x804879F0x80487A20x80487A50x80487A70x80487AA0x80487AD0x80487B00x80487B1

...

Page 5: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Técnicas de Recolección

Sistema Operativo

Compilador

Ensamblador

Enlazador (linker)

Cargador (loader)

Emulación

Microcódigo

Circuitos y Compuertas

Ejecuciónpaso a paso

Instrumentación estática de código

Emulación deinstrucciones

Modificación delmicrocódigo

Analizadorlógico

Har

dwar

eS

oftw

are

Page 6: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

El Sistema Valgrind

• Herramienta para depuración y análisis de desempeño, para ejecutables Linux-x86.

• Implementación de un procesador sintético x86.• Instrumentación dinámica de código binario.• Herramienta pública (GPL) y de código abierto.• Sitio web: http://www.valgrind.org/

Page 7: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Diseño General

PROGRAMA DE USUARIO

PLATAFORMA DE BASE(x86)

COREGRIND MÓDULO

INSTRUCCIONESx86

INSTRUCCIONESx86

UCODE

UCODEINSTRUMENTADO

Valgrind

Page 8: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

El Sistema Valgrind(cont.)

Valgrind puede clasificarse como un emulador del conjunto de instrucciones.

Sistema Operativo

Compilador

Ensamblador

Enlazador (linker)

Cargador (loader)

Emulación

Microcódigo

Circuitos y Compuertas

Ejecuciónpaso a paso

Instrumentación estática de código

Emulación deinstrucciones

Modificación delmicrocódigo

Analizadorlógico

Har

dwar

eS

oftw

are

Valgrind

Page 9: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Valgrind + Multihilo

• Soporte para hilos POSIX (pthreads).• Coregrind es responsable de la planificación

mediante política round-robin.• Modificaciones al planificador, para lograr una

ejecución pseudo-simultánea de los hilos.

Page 10: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

El Módulo Tracegrind

• Módulo para recolección de trazas multihilo, aprovechando el soporte de Valgrind.

• Instrumenta cada operación de lectura/escritura.• Comprime la traza “al vuelo”, usando LZ77.

PROGRAMA DE USUARIO

( MULTIHILO )

PLATAFORMA DE BASE(x86)

COREGRIND TRACEGRIND

INSTRUCCIONESx86

INSTRUCCIONESx86

UCODE

UCODEINSTRUMENTADO

TRAZA

Page 11: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

El Módulo Tracegrind(cont.)

Tracegrind

log_reference()

Thread ID = 2

GETL %EAX, t0log_reference()

BLOQUE BÁSICO

Thread ID = 2

GETL %EAX, t0

BLOQUE BÁSICO

Thread ID = 2

GETL %EAX, t0

BLOQUE BÁSICO

EJECUCIÓN

COMPRESIÓNLZ77

TRAZA DATOS

TRAZA INSTR.

Page 12: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Validación de Trazas

• No se puede “confiar” en los resultados posteriores si las trazas no son válidas.

• No existen metodologías rigurosas.• Consejos obtenidos del Prof. Alan Jay Smith[1]:

– Tomar muestras de la traza y compararlas “manualmente” contra el código objeto.

– Realizar un análisis básico de tasas de lecturas y escrituras, cant. de instrucciones, distancia de saltos, etc. y compararlos contra resultados publicados.

[1] Computer Science Division, EECS Department, University of California, Berkeley.

Page 13: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Validación de Trazas deInstrucciones y Datos

• Uso de programas multihilo “modelo”.• Ejecución de los mismos sobre Valgrind, y

recolección de sus trazas.• Desensamblado de los programas “modelo”, y

comparación “a mano” contra la traza de instrucciones.

• Salida por pantalla de las direcciones de memoria de estructuras de datos y variables, y comparación “a mano” contra la traza de datos.

Page 14: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Trazas Recolectadas

• Subconjunto de los benchmarks SPLASH-2 (Stanford Parallel Applications for Shared Memory).

• Aplicaciones para procesamiento paralelo de algoritmos típicos (FFT, LU, Cholesky, etc.).

• Construido en base a macros PARMACS.• Se utilizaron PARMACS para hilos POSIX.

Page 15: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Trazas Recolectadas(cont.)

Aplicación DescripciónTrazas de Datos

Trazas de Instrucciones

1 hilo 4 hilos 1 hilo 4 hilos

FFTTransformada Rápida de Fourier de n números complejos en una dimensión.

17-MB

0,4 hs

26-MB

0,7 hs

6-MB

0,4 hs

43-MB

0,7 hs

LUFactorización de una matriz densa.

191-MB

3,5 hs

364-MB

6,3 hs

47-MB

3,5 hs

371-MB

6,3 hs

CholeskyFactorización de una matriz rala. 309-MB

4,7 hs

484-MB

9,4 hs

98-MB

4,7 hs

759-MB

9,4 hs

RadixOrdenamiento de números enteros.

67-MB

2,7 hs

263-MB

5,5 hs

37-MB

2,7 hs

519-MB

5,5 hs

OceanSimulación del movimiento de los océanos.

359-MB

4,7 hs

547-MB

8,2 hs

50-MB

4,7 hs

633-MB

8,2 hs

WaterSimulación del comportamiento de partículas de agua a lo largo del tiempo.

156-MB

5,3 hs

433-MB

10,5 hs

157-MB

5,3 hs

1231-MB

10,5 hs

Page 16: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Estructura de laPresentación

• Recolección de trazas.• Procesamiento de trazas y simulación.• Caché para procesadores multihilo.• Conclusiones y trabajo a futuro.

Page 17: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Procesamiento de Trazasy Simulación

• Posibles procesamientos sobre una traza:– Conversión de formato.– Compresión.– Filtrado y muestreo.– Simulación.

• Construcción de un framework flexible para el procesamiento de trazas SimiOO

• Extensible mediante la construcción de plug-ins.• Programado en lenguaje Java.

Page 18: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Simulación deMemorias Caché

• Metodologías:– Modelado analítico.– Simulación.

• Técnicas de simulación:– Manejada por ejecución: la simulación se realiza

mientras se ejecuta el programa.– Manejada por trazas: la simulación se realiza

utilizando el “historial” de accesos a memoria.

• Uso de estructuras (arreglos lineales y matrices) para modelar las organizaciones de memoria.

Page 19: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Procesamientode una Traza

• Lectura secuencial de todas las referencias.• Procesamiento sobre cada referencia leída (por ejemplo,

alimentarla a un simulador).

SimiOO...0xAFEFE0A80xAFEFE0AC0x3A97C1E80x3A97BF340x3A97C2380x3A97BF3C0x3A97C2100x3A97BF440x3A97C214

...

0x3A97C238 Core Plug-in

0x3A97C238

TRAZAESTADÍSTICAS

Por ejemplo, simulador de

memorias caché

Page 20: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Interfaz Gráfica de Usuario

Marco genérico aportado por el

núcleo de SimiOO

Perspectiva aportada por el

plug-in

Page 21: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Estructura de laPresentación

• Recolección de trazas.• Procesamiento de trazas y simulación.• Caché para procesadores multihilo.• Conclusiones y trabajo a futuro.

Page 22: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Paralelismo a Nivelde Instrucciones

• Un procesador superescalar puede procesar dos o más instrucciones simultáneamente.

• Replica algunas unidades funcionales (ALU).• Explota el paralelismo a nivel de instrucciones.• Podría implementar un mecanismo de pipeline.

INS

TR

UC

CIO

NE

S

TIEMPO

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

IF ID EX MEM WB

Page 23: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Paralelismo a Nivelde Instrucciones (cont.)

• En la práctica, este paralelismo suele ser pobre, debido a “riesgos” (hazards):– Estructurales: recursos insuficientes.– De Datos: dependencias de datos entre dos

instrucciones.– De Control: debido a transferencias del flujo de

control (branches).

• Además, el flujo de ejecución podría bloquearse ante una operación de E/S o un desacierto en la memoria caché.

Page 24: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Paralelismo a Nivelde Instrucciones (cont.)

• Se generan “desperdicios”:– Horizontales.– Verticales.

• Se explota el paralelismo a nivel de hilo:– CMT (Coarse-Grain Multithreading).– FMT (Fine-Grain Multithreading).– SMT (Simultaneous Multithreading).

TIE

MP

O

UNIDADES FUNCIONALES

Superscalar

Desperdicio vertical

Desperdicio horizontal

Page 25: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Multihilo Simultáneo - SMT

• Permite la ejecución simultánea de dos o más “hilos” de instrucciones, aprovechando el TLP.

• También explota el ILP presente en cada hilo.• Competencia por los recursos (e.g., la memoria

caché).• Implementaciones comerciales:

– Intel Hyper-Threading.– IBM Power5.– MIPS MT.

Page 26: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Multihilo Simultáneo - SMT(cont.)

TIE

MP

O

UNIDADES FUNCIONALES

Superscalar FMT SMT

Hilo 1

Hilo 2

Hilo 3

Desperdicio vertical

Desperdicio horizontal

Page 27: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Multihilo Simultáneo - SMT(cont.)

¿Cómo se comporta la memoria caché en un procesador multihilo simultáneo?

Page 28: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Memorias Caché

• Caché: lugar oculto para guardar provisiones.• En computación, memoria pequeña y de rápido

acceso para mantener los datos que, se supone, serán usados en un futuro inmediato.

• Explota el principio de localidad.• Reduce los accesos a memorias más lentas.

Page 29: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Memorias Caché(cont.)

• En caso de desacierto, se trae el bloque desde el nivel inferior.

• Estrategias para ubicar el nuevo bloque:– Correspondencia directa.– Asociativa por conjuntos.– Completamente asociativa.

• Políticas de reemplazo:– LRU (Least Recently Used).– FIFO.– Aleatoria.

Registrosde la CPU

Caché(L1, L2 y L3)

MemoriaPrincipal

Memoria Secundariay Dispositivos de E/S

Cos

to

Cap

acid

ad y

Tie

mpo

de

acce

so

Page 30: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Memoria Cachéde Correspondencia Directa

El nuevo bloque puede ubicarse en un solo lugar de la caché.

Índice 0

Índice 1

Índice 2

Índice 3

Índice 4

Índice 5

Índice 6

Índice 7

...

Memoria Principal Memoria Caché

Page 31: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Memoria CachéAsociativa por Conjuntos

El nuevo bloque puede ubicarse en un conjunto de lugares posibles de la caché.

Memoria Caché

VIA 1 VIA 2

Índice 0

Índice 1

Índice 2

Índice 3

Índice 4

Índice 5

Índice 6

Índice 7

...

Memoria Principal

Conjunto

Page 32: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Memoria CachéCompletamente Asociativa

El nuevo bloque puede ubicarse en cualquier lugar de la caché.

Índice 0

Índice 1

Índice 2

Índice 3

Índice 4

Índice 5

Índice 6

Índice 7

...

Memoria Principal Memoria Caché

Page 33: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

El Esquema SWSA

• Esquema asociativo tradicional.• Los bancos (vías) pueden ser de tamaños diferentes.• Los bloques pueden compartirse entre diferentes

conjuntos.Memoria Caché

VIA 1 VIA 2

Page 34: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

El Esquema SWSA-MT

• Se basa en el diseño SWSA.• Cada hilo dispone de un banco privado.• Todos los hilos acceden a un banco compartido.

Memoria Caché

VIA 1 VIA 2

Hilo 1

Hilo 2

Hilo 3

Hilo 4

Page 35: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Nuevos Criteriosy Métricas

• Tasa de aciertos compartidos: tasa de aciertos debido a accesos a bloques previamente referenciados por otros hilos.

• Acierto “largo”: acierto debido a que el bloque buscado por el hilo x se encuentra en la memoria privada del hilo y, siendo x y.

• Tasa de reubicación: tasa de reubicaciones debido a aciertos “largos”. BANCO 1 BANCO 2

HILO 2

HILO 1

A

¿Dato A?

Dato A

Page 36: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Clasificación de Desaciertos

• Objetivo: Conocer la causa de los desaciertos en una memoria caché para descubrir “debilidades”.

• Los modelos clásicos de clasificación no contemplan ambientes de ejecución multihilo.

• Uno de los más utilizados: modelo de las 3C [1]– Desaciertos obligatorios (compulsory).– Desaciertos de capacidad (capacity).– Desaciertos de conflicto (conflict).

[1] Mark Hill, Aspects of Cache Memory and Instruction Buffer Performance, Ph.D. Thesis, University of California, Berkeley.

Page 37: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Clasificación de Desaciertos:El Modelo de las 4C

• Propuesto en esta tesis, como extensión del modelo de las 3C.

• Útil para ambientes multihilo.• Tipos de desaciertos:

– Obligatorios (compulsory).– De capacidad (capacity).– De conflicto cerrado (closed-conflict).– De conflicto cruzado (crossed-conflict).

Page 38: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Ambiente de Simulación

Esquemas simulados

(nivel 1 de datos)

2WSA

4WSA

SWSA-MT

Tamaños 8-KB

16-KB

32-KB

64-KB

Línea 32 bytes

Política de reemplazo LRU

Benchmarks

(1 y 4 hilos)

FFT

LU

CHOLESKY

RADIX

OCEAN

WATER

Page 39: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Tasa de Desaciertos

Page 40: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Tasa de Desaciertos(cont.)

Page 41: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Clasificación de Desaciertos

1

2

3

4

5

6

7

8

9

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

Cla

sific

ació

n d

e D

esa

cie

rto

s e

n D

ato

s d

e L

1 (

%)

LU

ObligatoriosCapacidad

Conflicto CerradoConflicto Cruzado

64-KB32-KB16-KB8-KB

1

2

3

4

5

6

7

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

Cla

sific

ació

n d

e D

esa

cie

rto

s e

n D

ato

s d

e L

1 (

%)

FFT

ObligatoriosCapacidad

Conflicto CerradoConflicto Cruzado

64-KB32-KB16-KB8-KB

Page 42: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Clasificación de Desaciertos(cont.)

2

4

6

8

10

12

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

Cla

sific

ació

n d

e D

esa

cie

rto

s e

n D

ato

s d

e L

1 (

%)

RADIX

ObligatoriosCapacidad

Conflicto CerradoConflicto Cruzado

64-KB32-KB16-KB8-KB

2

4

6

8

10

12

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

Cla

sific

ació

n d

e D

esa

cie

rto

s e

n D

ato

s d

e L

1 (

%)

CHOLESKY

ObligatoriosCapacidad

Conflicto CerradoConflicto Cruzado

64-KB32-KB16-KB8-KB

Page 43: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Clasificación de Desaciertos(cont.)

1

2

3

4

5

6

7

8

9

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

Cla

sific

ació

n d

e D

esa

cie

rto

s e

n D

ato

s d

e L

1 (

%)

WATER

ObligatoriosCapacidad

Conflicto CerradoConflicto Cruzado

64-KB32-KB16-KB8-KB

5

10

15

20

25

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

2WSA

4WSA

SWSA-M

T

Cla

sific

ació

n d

e D

esa

cie

rto

s e

n D

ato

s d

e L

1 (

%)

OCEAN

ObligatoriosCapacidad

Conflicto CerradoConflicto Cruzado

64-KB32-KB16-KB8-KB

Page 44: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Tasa de Aciertos Compartidos

Page 45: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Tasa de Aciertos Compartidos(cont.)

Page 46: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Tasa de Reubicación

Page 47: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Tasa de Reubicación(cont.)

Page 48: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Tasa de Desaciertos “Ideal”

Page 49: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Tasa de Desaciertos “Ideal”(cont.)

Page 50: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Tasa de Desaciertos1 Hilo

Page 51: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Tasa de Desaciertos1 Hilo (cont.)

Page 52: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Aspectos deImplementación

Organización 2WSA:• 2 bancos multipuerto con soporte

para 4 hilos.

• 8 comparadores (2 por hilo).

• 4 multiplexores “2 a 1”.

• 1 bit por conjunto para manejo de política LRU.

Rótulo Datos Rótulo Datos

Rótulo Despl.Índice

Referencia Hilo 1

Rótulo Despl.Índice

Referencia Hilo 2

Rótulo Despl.Índice

Referencia Hilo 3

Rótulo Despl.Índice

Referencia Hilo 4

=? =?

Multiplexor 2:1

Datos

Page 53: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Aspectos deImplementación

Organización 4WSA:• 4 bancos multipuerto con soporte

para 4 hilos.

• 16 comparadores (4 por hilo).

• 4 multiplexores “4 a 1”.

• Política LRU de dificultosa implementación (pseudo-LRU).

Rótulo Datos Rótulo Datos Rótulo Datos Rótulo Datos

Rótulo Despl.Índice

Referencia Hilo 1

Rótulo Despl.Índice

Referencia Hilo 2

Rótulo Despl.Índice

Referencia Hilo 3

Rótulo Despl.Índice

Referencia Hilo 4

=? =? =? =?

Multiplexor 4:1

Datos

Page 54: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Aspectos deImplementación

Organización SWSA-MT:• Un banco multipuerto con soporte para

4 hilos.

• 24 comparadores (6 por hilo).

• 4 multiplexores “2 a 1”.

• k bits por conjunto para manejo de política LRU (siendo k la cantidad de bancos privados).

Rótulo Datos

Rótulo Despl.Índice

Referencia Hilo 1

Rótulo Despl.Índice

Referencia Hilo 2

Rótulo Despl.Índice

Referencia Hilo 3

Rótulo Despl.Índice

Referencia Hilo 4

Datos

=? =? =? =? =?

Multiplexor 2:1

Hardware de Reubicación

=?

Rótulo Rótulo Rótulo Rótulo Rótulo Datos

Un acierto en la memoria privada permite detener la búsqueda en el

banco compartido (ahorro de tiempo y energía).

Política LRU escalable

Page 55: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Estructura de laPresentación

• Recolección de trazas.• Procesamiento de trazas y simulación.• Caché para procesadores multihilo.• Conclusiones y trabajo a futuro.

Page 56: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Conclusiones

• SWSA-MT: nueva organización de memoria caché para procesadores multihilo.

• Modelo de las 4C: para clasificación de desaciertos en ambientes multihilo.

• Tracegrind y SimiOO: Herramientas para el estudio de memorias caché multihilo.

• Nuevos criterios y métricas (tasa de aciertos compartidos, acierto “largo”, tasa de reubicación).

Page 57: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Conclusiones(cont.)

• SWSA-MT se comporta mejor que el esquema 2WSA y similar a 4WSA.

• Más simple de implementar respecto a 4WSA.• Minimiza la interferencia “destructiva” (conflictos

cruzados).• Agrega hardware de reubicación (que se usa

muy esporádicamente).

Page 58: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Conclusiones(cont.)

2WSA 4WSA SWSA-MT

Bancos multipuerto

2 4 1 Comparadores 8 16 24 Multiplexores 4 x “2 a 1” 4 x “4 a 1” 4 x “2 a 1” Implementación de LRU

Si

(escalable)

Dificultoso

(no escalable)

Si

(escalable) Hardware adicional

No No De reubicación

Otras características

Simple de implementar

Minimiza efectos de

hiperpaginación

Ahorro de energía y tiempo ante aciertos en la

memoria privada

Page 59: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Trabajo a Futuro

• Política dinámica de redistribución de la caché entre los hilos activos.

• Heurística para detectar accesos compartidos (eliminando el hardware de reubicación).

• Adaptación de SWSA-MT a procesadores con múltiples núcleos (tecnología multicore).

Page 60: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Participación en Congresos

Partes de esta tesis fueron publicadas en los siguientes congresos y simposios:

– World Computer Congress 2006 – Santiago (Chile).– 6th Argentine Symposium on Computing

Technology 2005– Rosario (Argentina).– 5th Argentine Symposium on Computing

Technology 2004 – Córdoba (Argentina).

Page 61: Augusto J. Vega ajvega@fi.uba.ar Tesis de Grado en Ingeniería en Informática Orientación en Sistemas Distribuidos Febrero de 2007 Un Ambiente para la Evaluación

Augusto J. [email protected]

Tesis de Grado en Ingeniería en InformáticaOrientación en Sistemas Distribuidos

Febrero de 2007

Un Ambiente para la Evaluación de Arquitecturas de Memoria en

Esquemas Multihilo Simultáneo