Download - Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Transcript
Page 1: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Estudio comparativo de frameworks deInstrumentacion Dinamica de EjecutablesProyecto Fin de Carrera de Ingenierıa en Informatica

Juan Antonio Artal Lozano

Director: Ricardo J. Rodrıguez FernandezPonente: Jose J. Merseguer Hernaiz

10 de Mayo de 2012

Escuela de Ingenierıa y ArquitecturaUniversidad de Zaragoza

Page 2: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Contenidos

1 Introduccion

2 Conocimientos previos

3 Frameworks de DBI

4 Trabajo relacionado

5 Creacion de benchmark

6 Experimentos

7 Conclusiones y trabajo futuro

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 2 / 38

Page 3: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Introduccion

Contenidos

1 Introduccion

2 Conocimientos previos

3 Frameworks de DBI

4 Trabajo relacionado

5 Creacion de benchmark

6 Experimentos

7 Conclusiones y trabajo futuro

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 3 / 38

Page 4: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Introduccion

Introduccion (I): Instrumentacion

¿Que es?

Insercion de codigo adicional

Antes de compilar, codigo fuente

Despues de compilar, ejecutable

¿Que permite?

Recogida de informacion en tiempo de ejecucion

Estudio de arquitecturas

Modelado de cachesSimulacion de nuevas arquitecturas

Analisis de codigo

Rendimiento

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 4 / 38

Page 5: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Introduccion

Introduccion (II): Instrumentacion

Tipos

Manual

Automated source level

Asistida por el compilador

Binary translation

DBI (Dynamic binary instrumentation)

Herramienta anade codigo a un ejecutable en tiempo de ejecucion

DBI

Mas completa y moderna

Monitoriza y controla desde la 1ª instruccion

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 5 / 38

Page 6: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Introduccion

Introduccion (II): Instrumentacion

Tipos

Manual

Automated source level

Asistida por el compilador

Binary translation

DBI (Dynamic binary instrumentation)

Herramienta anade codigo a un ejecutable en tiempo de ejecucion

DBI

Mas completa y moderna

Monitoriza y controla desde la 1ª instruccion

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 5 / 38

Page 7: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Introduccion

Introduccion (II): Instrumentacion

Tipos

Manual

Automated source level

Asistida por el compilador

Binary translation

DBI (Dynamic binary instrumentation)

Herramienta anade codigo a un ejecutable en tiempo de ejecucion

DBI

Mas completa y moderna

Monitoriza y controla desde la 1ª instruccion

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 5 / 38

Page 8: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Introduccion

Introduccion (III)

Framework de DBI

Permite programar aplicaciones para instrumentar

API ⇒ herramamienta de analisis dinamico (DBA)

Ejemplos: Pin, Valgrind, DynamoRIO...

Desventajas de DBI

Sobrecarga al instrumentar en tiempo de ejecucion

⇓ rendimiento

Muy pocas comparativas a nivel de rendimiento

@ comparativas a nivel de programacion

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 6 / 38

Page 9: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Introduccion

Introduccion (IV): Objetivo del PFC

Estudio comparativo a nivel de impacto en rendimientoHitos intermedios:

Estudio de alternativas de frameworks de DBI

Desarrollo de herramientas DBA

Creacion de un benchmark propio

Experimentos

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 7 / 38

Page 10: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conocimientos previos

Contenidos

1 Introduccion

2 Conocimientos previos

3 Frameworks de DBI

4 Trabajo relacionado

5 Creacion de benchmark

6 Experimentos

7 Conclusiones y trabajo futuro

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 8 / 38

Page 11: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conocimientos previos

Conocimientos previos (I): Frameworks de DBI

¿Que es?

APIs, librerıas y software de instrumentacion.

Componentes principales

Nucleo: compilador just-in-time (JIT)

Herramientas (plugins o librerıas):

Instrumentacion: donde y queAnalisis: ejecucion

Granularidad

InstruccionBloque basicoSuperbloque

TrazaRutinaImagen

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 9 / 38

Page 12: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conocimientos previos

Conocimientos previos (I): Frameworks de DBI

¿Que es?

APIs, librerıas y software de instrumentacion.

Componentes principales

Nucleo: compilador just-in-time (JIT)

Herramientas (plugins o librerıas):

Instrumentacion: donde y queAnalisis: ejecucion

Granularidad

InstruccionBloque basicoSuperbloque

TrazaRutinaImagen

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 9 / 38

Page 13: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conocimientos previos

Conocimientos previos (I): Frameworks de DBI

¿Que es?

APIs, librerıas y software de instrumentacion.

Componentes principales

Nucleo: compilador just-in-time (JIT)

Herramientas (plugins o librerıas):

Instrumentacion: donde y queAnalisis: ejecucion

Granularidad

InstruccionBloque basicoSuperbloque

TrazaRutinaImagen

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 9 / 38

Page 14: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conocimientos previos

Conocimientos previos (II)

Origen de DBI

Primeras Herramientas

Pixie [SG92], Epoxie [Wal91] y QPT [LB94]

Simuladores

Tango Lite [GH93], Proteus [BDCW91] y g88 [Bed90]

Primer framework de DBI

ATOM [SE94], API de instrumentacion para recompilar la aplicacion

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 10 / 38

Page 15: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Frameworks de DBI

Contenidos

1 Introduccion

2 Conocimientos previos

3 Frameworks de DBI

4 Trabajo relacionado

5 Creacion de benchmark

6 Experimentos

7 Conclusiones y trabajo futuro

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 11 / 38

Page 16: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Frameworks de DBI

Framework de DBI (I): Alternativas y criterios

Alternativas estudiadas

PinValgrind

DynamoRIO

DynInstDtrace

SystemtapHDtrans

Criterios de seleccion

Software en desarrollo

Licencia con acceso al fuente

Gratuito

API de desarrollo

S.O. y arquitectura comun

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 12 / 38

Page 17: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Frameworks de DBI

Framework de DBI (I): Alternativas y criterios

Alternativas estudiadas

XPinXValgrind

XDynamoRIO

DynInstDtrace

SystemtapHDtrans

Criterios de seleccion

Software en desarrollo

Licencia con acceso al fuente

Gratuito

API de desarrollo

S.O. y arquitectura comun

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 12 / 38

Page 18: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Frameworks de DBI

Frameworks de DBI (II): Seleccionados

Caracterısticas

Codigo fuente disponible (GNU GPL v2)Representacion intermedia VEX IRHerramientas pesadas

Framework Version Arquitecturas S.O. GranularidadValgrind 3.7.0 05/11/2011 Arm, PowerPC, s390, x86, x64 Android, OSX, Linux I S

Granularidades: Instrucciones Bloque basico Superbloque Traza Rutina IMagen

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 13 / 38

Page 19: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Frameworks de DBI

Frameworks de DBI (II): Seleccionados

Caracterısticas

IntelCodigo fuente disponible (Licencia propietaria)Vinculacion a proceso en ejecucion

Framework Version Arquitecturas S.O. GranularidadValgrind 3.7.0 05/11/2011 Arm, PowerPC, s390, x86, x64 Android, OSX, Linux I S

Pin 2.10 28/11/2011 Arm, IA-64, x86, x64 Windows, Linux I B T R M

Granularidades: Instrucciones Bloque basico Superbloque Traza Rutina IMagen

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 13 / 38

Page 20: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Frameworks de DBI

Frameworks de DBI (II): Seleccionados

Caracterısticas

MIT, HP, GoogleCodigo fuente disponible (BSD-2)Bien documentado

Framework Version Arquitecturas S.O. GranularidadValgrind 3.7.0 05/11/2011 Arm, PowerPC, s390, x86, x64 Android, OSX, Linux I S

Pin 2.10 28/11/2011 Arm, IA-64, x86, x64 Windows, Linux I B T R MDynamoRIO 2.2.0 01/04/2011 x86, x64 Windows, Linux I B T

Granularidades: Instrucciones Bloque basico Superbloque Traza Rutina IMagen

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 13 / 38

Page 21: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Frameworks de DBI

Frameworks de DBI (II): Seleccionados

Caracterısticas

MIT, HP, GoogleCodigo fuente disponible (BSD-2)Bien documentado

Framework Version Arquitecturas S.O. GranularidadValgrind 3.7.0 05/11/2011 Arm, PowerPC, s390, x86, x64 Android, OSX, Linux I S

Pin 2.10 28/11/2011 Arm, IA-64, x86, x64 Windows, Linux I B T R MDynamoRIO 2.2.0 01/04/2011 x86, x64 Windows, Linux I B T

Granularidades: Instrucciones Bloque basico Superbloque Traza Rutina IMagen

Similitudes

Codigo inyectado en C/C++No es necesario codigo fuente de la aplicacion a instrumentar

GNU/Linux x86

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 13 / 38

Page 22: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Frameworks de DBI

Frameworks de DBI (II): Seleccionados

Caracterısticas

MIT, HP, GoogleCodigo fuente disponible (BSD-2)Bien documentado

Framework Version Arquitecturas S.O. GranularidadValgrind 3.7.0 05/11/2011 Arm, PowerPC, s390, x86, x64 Android, OSX, Linux I S

Pin 2.10 28/11/2011 Arm, IA-64, x86, x64 Windows, Linux I B T R MDynamoRIO 2.2.0 01/04/2011 x86, x64 Windows, Linux I B T

Granularidades: Instrucciones Bloque basico Superbloque Traza Rutina IMagen

Similitudes

Codigo inyectado en C/C++No es necesario codigo fuente de la aplicacion a instrumentarGNU/Linux x86

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 13 / 38

Page 23: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Trabajo relacionado

Contenidos

1 Introduccion

2 Conocimientos previos

3 Frameworks de DBI

4 Trabajo relacionado

5 Creacion de benchmark

6 Experimentos

7 Conclusiones y trabajo futuro

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 14 / 38

Page 24: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Trabajo relacionado

Trabajo relacionado (I)

Trabajos relacionados

Chen et al. [CKS+08]Metodo para disminuir sobrecarga en granularidad de instrucciones

Trabajo Frameworks Instrumentacion Benchmarks[CKS+08] Pin, Valgrind Instrucciones SPEC 2000

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 15 / 38

Page 25: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Trabajo relacionado

Trabajo relacionado (I)

Trabajos relacionados

Guha et al. [Sof07]Pruebas de rendimiento de Strata

Trabajo Frameworks Instrumentacion Benchmarks[CKS+08] Pin, Valgrind Instrucciones SPEC 2000

[Sof07] Pin, Valgrind, DynamoRIO Bloques SPEC 2000

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 15 / 38

Page 26: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Trabajo relacionado

Trabajo relacionado (I)

Trabajos relacionados

Bellard [Bel05]Pruebas de rendimiento de Qemu

Trabajo Frameworks Instrumentacion Benchmarks[CKS+08] Pin, Valgrind Instrucciones SPEC 2000

[Sof07] Pin, Valgrind, DynamoRIO Bloques SPEC 2000[Bel05] Qemu, Bochs, Valgrind Bloques BYTEmark

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 15 / 38

Page 27: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Trabajo relacionado

Trabajo relacionado (I)

Trabajos relacionados

Ruiz et al. [RAH08]Pruebas de rendimiento con procesadores de diferentes caches

Trabajo Frameworks Instrumentacion Benchmarks[CKS+08] Pin, Valgrind Instrucciones SPEC 2000

[Sof07] Pin, Valgrind, DynamoRIO Bloques SPEC 2000[Bel05] Qemu, Bochs, Valgrind Bloques BYTEmark

[RAH08] Pin, DynamoRIO X SPEC 2006

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 15 / 38

Page 28: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Trabajo relacionado

Trabajo relacionado (I)

Trabajos relacionados

Weaver et al. [WM08]Pruebas de rendimiento de herramientas DBA

Trabajo Frameworks Instrumentacion Benchmarks[CKS+08] Pin, Valgrind Instrucciones SPEC 2000

[Sof07] Pin, Valgrind, DynamoRIO Bloques SPEC 2000[Bel05] Qemu, Bochs, Valgrind Bloques BYTEmark

[RAH08] Pin, DynamoRIO X SPEC 2006[WM08] Pin, Valgrind, Qemu Bloques SPEC 2000, 2006

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 15 / 38

Page 29: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Trabajo relacionado

Trabajo relacionado (I)

Trabajos relacionados

Uh et al. [PA06]Metodo para averiguar sobrecarga en frameworks de DBI

Trabajo Frameworks Instrumentacion Benchmarks[CKS+08] Pin, Valgrind Instrucciones SPEC 2000

[Sof07] Pin, Valgrind, DynamoRIO Bloques SPEC 2000[Bel05] Qemu, Bochs, Valgrind Bloques BYTEmark

[RAH08] Pin, DynamoRIO X SPEC 2006[WM08] Pin, Valgrind, Qemu Bloques SPEC 2000, 2006[PA06] Pin Instr., Bloques SPEC 2000

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 15 / 38

Page 30: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Trabajo relacionado

Trabajo relacionado (II): Contribucion

Contribucion

Instrumentacion por instrucciones y bloques

Benchmark especıfico

Informacion sobre:

Instrucciones y bloquesConsumo de memoria

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 16 / 38

Page 31: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Contenidos

1 Introduccion

2 Conocimientos previos

3 Frameworks de DBI

4 Trabajo relacionado

5 Creacion de benchmark

6 Experimentos

7 Conclusiones y trabajo futuro

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 17 / 38

Page 32: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de benchmark (I): Alternativas

Alternativas estudiadas

PCMark3DMark

Sysmark 2012

TPCParsec

SPEC CPU

SPEC CPU

X Benchmark para multiples S.O.

X Permite integrar la llamada al framework de DBI

X Buena metodologıa

X Compara tu maquina con una SUN de 1997

X No ofrece informacion sobre el consumo de memoria

X De pago

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 18 / 38

Page 33: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de benchmark (I): Alternativas

Alternativas estudiadas

PCMark3DMark

Sysmark 2012

TPCParsec

SPEC CPU

SPEC CPU

X Benchmark para multiples S.O.

X Permite integrar la llamada al framework de DBI

X Buena metodologıa

X Compara tu maquina con una SUN de 1997

X No ofrece informacion sobre el consumo de memoria

X De pago

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 18 / 38

Page 34: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de benchmark (I): Alternativas

Alternativas estudiadas

PCMark3DMark

Sysmark 2012

TPCParsec

SPEC CPU

SPEC CPU

X Benchmark para multiples S.O.

X Permite integrar la llamada al framework de DBI

X Buena metodologıa

X Compara tu maquina con una SUN de 1997

X No ofrece informacion sobre el consumo de memoria

X De pago

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 18 / 38

Page 35: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de benchmark (II): Requisitos y definicion

Requisitos [Cor06]

Carga de trabajo

Metrica

VelocidadThroughput

Definicion

Metodos similares a los de SPEC

Reutilizacion de 9 aplicaciones de SPEC

Generacion informacion de tiempo y memoria usados

Informacion de instrucciones y bloques basicos

X Benchmark mas rapido que SPEC

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 19 / 38

Page 36: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de benchmark (II): Requisitos y definicion

Requisitos [Cor06]

Carga de trabajo

Metrica

VelocidadThroughput

Definicion

Metodos similares a los de SPEC

Reutilizacion de 9 aplicaciones de SPEC

Generacion informacion de tiempo y memoria usados

Informacion de instrucciones y bloques basicos

X Benchmark mas rapido que SPEC

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 19 / 38

Page 37: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de benchmark (III): Aplicaciones seleccionadas

Calculo enterobzip2

GNU go

hmmer

h264ref

libquantum

Calculo realnamd

povray

milc

mlucas

linpack

E/S

whirlpool

ripemd

aes

ffmpeg

Memoriamemtester

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 20 / 38

Page 38: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de benchmark (III): Aplicaciones seleccionadas

Calculo enterobzip2

GNU go

hmmer

h264ref

libquantum

Calculo realnamd

povray

milc

mlucas

linpack

E/S

whirlpool

ripemd

aes

ffmpeg

Memoriamemtester

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 20 / 38

Page 39: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de benchmark (III): Aplicaciones seleccionadas

Calculo enterobzip2

GNU go

hmmer

h264ref

libquantum

Calculo realnamd

povray

milc

mlucas

linpack

E/S

whirlpool

ripemd

aes

ffmpeg

Memoriamemtester

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 20 / 38

Page 40: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de benchmark (III): Aplicaciones seleccionadas

Calculo enterobzip2

GNU go

hmmer

h264ref

libquantum

Calculo realnamd

povray

milc

mlucas

linpack

E/S

whirlpool

ripemd

aes

ffmpeg

Memoriamemtester

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 20 / 38

Page 41: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de Benchmark (IV): Herramientas DBAprogramadas

Objetivo del benchmark

Evaluacion del rendimiento de los frameworks de DBI con las herramientasDBA programadas

Slowdown

Relacion entre el tiempo de ejecucion instrumentado y de forma nativa, sininstrumentar.

Aprendizaje de las APIs

Pin: ↑ Documentacion, ↑↑ Ejemplos, ↑ Tutoriales

DynamoRIO: ↑↑ Documentacion, ↑ Ejemplos, ↑ Tutoriales

Valgrind: ↓ Documentacion, ↓ Ejemplos, ↓ Tutoriales

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 21 / 38

Page 42: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de Benchmark (V): Herramientas DBAprogramadas

Herramientas DBA

Programadas para instrumentar a diferente granularidad

A nivel de instruccion

Generacion del mınimoslowdown maximo.

Total instrucciones ejecutadas

pin.instrucciones

valgrind.instrucciones

dynamorio.instrucciones

A nivel de bloque basico

Generacion de slowdownmedio.

Total bloques ejecutados

pin.bloques

valgrind.bloques

dynamorio.bloques

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 22 / 38

Page 43: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Creacion de benchmark

Creacion de benchmark (VI): Algoritmo del benchmark

1: optimizacion = [O0,O3]2: framework = [Pin,Valgrind ,DynamoRIO]3: aplicacion = [bzip2, go, hmmer , h264ref , libquantum, namd , povray ...]4: for aplicacion do5: for optimizacion do6: for repeticion = 1 to 3 do7: ejecutar aplicacion.optimizacion {Ejecucion nativa}8: for framework do9: ejecutar framework .instrucciones aplicacion.optimizacion

10: end for11: for framework do12: ejecutar framework .bloques aplicacion.optimizacion13: end for14: end for15: end for16: end for

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 23 / 38

Page 44: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Experimentos

Contenidos

1 Introduccion

2 Conocimientos previos

3 Frameworks de DBI

4 Trabajo relacionado

5 Creacion de benchmark

6 Experimentos

7 Conclusiones y trabajo futuro

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 24 / 38

Page 45: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Experimentos

Experimentos (I): Entorno de pruebas

Hardware

Nombre CPU Intel®Core�2 Duo CPU T7300

Caracterısticas 2.00 GHz, 667 MHz bus

CPU(s) 2 cores, 1 desactivado.

Cache primer nivel 32 KiB I + 32 KiB D por core

Cache segundo nivel 4 MiB I+D

Memoria RAM 2 GiB (2x1 GiB DDR2 SODIMM 667 Mhz)

Disco Duro 120 GB HITACHI HTS54161

Software

Sistema Operativo Fedora Core 14 32bit

Compilador C gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)

Compilador Fortran GNU Fortran 4.5.1

Sistema de ficheros ext4

Nivel sistema Run level 3 (multiusuario)

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 25 / 38

Page 46: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Experimentos

Experimentos (II): ResultadosTiempo de ejecucion h264ref

Sin instrumentar PIN Valgrind DynamoRIO0

500

1000

1500

2000

2500

3000

Tiempo(s)

−O0−O3

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 26 / 38

Page 47: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Experimentos

Experimentos (III): ResultadosSlowdown en ffmpeg

Pin Valgrind DynamoRIO0

5

10

15

20

25

30

35

40

slow

dow

n

−O0−O3

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 27 / 38

Page 48: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Experimentos

Experimentos (IV): ResultadosSlowdown medio benchmark instrucciones

PIN Valgrind DynamoRIO0

5

10

15

20

25

Cálculo entero

Slowdo

wn

PIN Valgrind DynamoRIO0

5

10

15

20

25

Cálculo real

Slowdo

wn

−O0−O3

−O0−O3

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 28 / 38

Page 49: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Experimentos

Experimentos (V): ResultadosConsumo medio de memoria

go h264ref libquantum bzip2 hmmer ripemd aes whirlpool ffmpeg milc povray namd linpack0

20

40

60

80

100

120

140

160

Mem

oria

(MiB

)

Sin instrumentarPINValgrindDynamoRIO

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 29 / 38

Page 50: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Experimentos

Experimentos (VI): ResultadosConsumo medio de memoria por Frameworks

Framework Media consumo (kiB) Desviacion media (kiB)Pin -O0 39885 3113

Valgrind -O0 53033 3736

DynamoRIO -O0 132478 73

Pin -O3 40871 4006

Valgrind -O3 52789 3535

DynamoRIO -O3 132475 72

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 30 / 38

Page 51: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Experimentos

Experimentos (VII): ResultadosSlowdown por instrumentaciones

PIN −O0 Valgrind−O0 DRIO −O0 PIN −O3 Valgrind−O3 DRIO −O30

2

4

6

8

10

12

14

16

18

20

Slowdown

InstruccionesBloques Básicos

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 31 / 38

Page 52: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conclusiones y trabajo futuro

Contenidos

1 Introduccion

2 Conocimientos previos

3 Frameworks de DBI

4 Trabajo relacionado

5 Creacion de benchmark

6 Experimentos

7 Conclusiones y trabajo futuro

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 32 / 38

Page 53: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conclusiones y trabajo futuro

Conclusiones y trabajo futuro (I): Conclusiones

Conclusiones PFC

X Nivel optimizacion o tipo calculo → DynamoRIO

X Mas lenta → Valgrind

Consumo de memoria

X ↓ PinX ↑ DynamoRIO

Conclusiones personales

Alcanzado los objetivos previamente definidos

Ampliado el conocimiento sobre:

DBIDepuracion y analisis ejecutables

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 33 / 38

Page 54: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conclusiones y trabajo futuro

Conclusiones y trabajo futuro (I): Conclusiones

Conclusiones PFC

X Nivel optimizacion o tipo calculo → DynamoRIO

X Mas lenta → Valgrind

Consumo de memoria

X ↓ PinX ↑ DynamoRIO

Conclusiones personales

Alcanzado los objetivos previamente definidos

Ampliado el conocimiento sobre:

DBIDepuracion y analisis ejecutables

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 33 / 38

Page 55: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conclusiones y trabajo futuro

Conclusiones y trabajo futuro (II): Lıneas futuras

Lıneas futuras

Ampliacion frameworks de DBI

Ampliacion aplicaciones para benchmark

Mediciones instrucciones con Linux Performance-Monitoring Driver

Cambio medicion tiempo e instrucciones con Intel VTune Amplifier XE

Profundizar en las APIs de los frameworks de DBI

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 34 / 38

Page 56: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conclusiones y trabajo futuro

Referencias (I)

[BDCW91] Eric A. Brewer, Chrysanthos N. Dellarocas, Adrian Colbrook, and William E.Weihl. PROTEUS: A High-Performance Parallel-Architecture Simulator.Technicalreport, 1991.

[Bed90] Robert Bedichek. Some efficient architectures simulation techniques. In Winter1990 USENIX Conference.

[Bel05] Fabrice Bellard. QEMU, a fast and portable dynamic translator. In Proceedingsof the annual conference on USENIX Annual Technical Conference, ATEC ’05, pages41-41, Berkeley, CA, USA, 2005. USENIX Association.

[CKS+08] Shimin Chen, Michael Kozuch, Theodoros Strigkos, Babak Falsafi, PhillipB.Gibbons, Todd C. Mowry, Vijaya Ramachandran, Olatunji Ruwase, Michael Ryan, andEvangelos Vlachos. Flexible hardware acceleration for instructiongrain programmonitoring. SIGARCH Comput. Archit. News, 36(3):377-388, jun 2008.

[Cor06] Standard Performance Evaluation Corporation. SPECCPU 2006 benchmarks.http://www.spec.org, 2006.

[GH93] Stephen R. Goldschmidt and John L. Hennessy. The accuracy of trace-drivensimulations of multiprocessors. In Proceedings of the 1993 ACM SIGMETRICSconference on Measurement and modeling of computer systems, SIGMETRICS ’93, pages146-157, New York, NY, USA, 1993. ACM.

[LB94] James R. Larus and Thomas Ball. Rewriting executable files to measure programbehavior. Softw. Pract. Exper., 24(2):197-218, February 1994.

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 35 / 38

Page 57: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conclusiones y trabajo futuro

Referencias (II)

[PA06] G.-R. Uh; R. Cohn; B. Yadavalli; R. Peri and R. Ayyagari. Analyzing dynamicbinary instrumentation overhead. In Workshop on Binary Instrumentation andApplications, WBIA, 2006.

[RAH08] Arkaitz Ruiz-Alvarez and Kim M. Hazelwood. Evaluating the impact ofdynamic binary translation systems on hardware cache performance. In IISWC, pages131-140, 2008.

[SE94] Amitabh Srivastava and Alan Eustace. ATOM: a system for building customizedprogram analysis tools. SIGPLAN Not., 29(6):196-205, June 1994.

[SG92] Inc. Silicon Graphics. MIPS Assembly Language Programmer’s Guide. SiliconGraphics, Inc., 1992.

[Sof07] A. Guha; J.D. Hiser; Naveen Kumar; J. Yang; M. Zhao; S. Zhou; B.R. Childers;J.W. Davidson; K. Hazelwood; M.L. Soffa. Virtual execution environments: Support andtools. In International Parallel and Distributed Processing Symposium (IPDPS 2007),Dept. of Comput. Sci., Virginia Univ., Charlottesville, VA, March 2007.

[Wal91] DavidW.Wall. Systems for late code modification. In WRL Research Report91/5, pages 275-293. Springer-Verlag, 1991.

[WM08] Vincent M. Weaver and Sally A. McKee. Using dynamic binary instrumentationto generate multi-platform simpoints: methodology and accuracy. In Proceedings of the3rd international conference on High performance embedded architectures and compilers,HiPEAC’08, pages 305-319, Berlin, Heidelberg, 2008. Springer-Verlag.

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 36 / 38

Page 58: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conclusiones y trabajo futuro

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 37 / 38

Page 59: Estudio comparativo de frameworks de …webdiis.unizar.es/~ricardo/files/PFCs-TFGs/Estudio...Estudio comparativo de frameworks de Instrumentaci on Din amica de Ejecutables Proyecto

Conclusiones y trabajo futuro

Tiempo dedicado

Esfuerzo temporal

Benchmarks

Problema instrucciones

Documentaciónmemoria

Trabajo con Frameworks

Reuniones

Busqueda información

ReunionesBusqueda informaciónTrabajo con FrameworksProblema instruccionesBenchmarksDocumentaciónmemoria

Tareas HorasReuniones 20

Informacion 75Frameworks 95

Problemas 55Benchmark 60

Memoria 105

Total 410

J.A. Artal Lozano Estudio comparativo de frameworks de DBI EINA 38 / 38