sesión 11 benchmarking

15
1 Arquitectura de Computadoras septiembre – diciembre 2005 Salvador Godoy C. Maestría en Tecnologías de Información Sesión #11 Evaluaci Evaluación de desempe n de desempeño ( Benchmarking ) ( Benchmarking ) 15 / Noviembre / 2005 Evaluaci Evaluación de n de Desepe Desepeño (Benchmark Benchmark)

Upload: moon-y-nava

Post on 24-Oct-2015

33 views

Category:

Documents


0 download

TRANSCRIPT

1

Arquitectura de Computadorasseptiembre – diciembre 2005

Salvador Godoy C.

Maestría en Tecnologías de Información

Sesión #11

EvaluaciEvaluacióón de desempen de desempeññoo

( Benchmarking )( Benchmarking )

15 / Noviembre / 2005

EvaluaciEvaluacióón de n de DesepeDesepeññoo((BenchmarkBenchmark))

2

BenchmarkingBenchmarking

Es la disciplina dedicada a Es la disciplina dedicada a evaluar, comparar y reportar el el

desempedesempeñño de sistemas y/o de sus componentes.o de sistemas y/o de sus componentes.

El buen El buen BenchmarkingBenchmarking observa no sobserva no sóólo el desempelo el desempeñño en o en

ttéérminos de velocidad, sino la rminos de velocidad, sino la relación costo-beneficio de los de los

productos y todo tipo de productos y todo tipo de condiciones de uso de los mismos.de los mismos.

Desafortunadamente esto vuelve al Desafortunadamente esto vuelve al BenchmarkingBenchmarking, una , una

evaluacievaluacióón de casos individuales que estn de casos individuales que estáán ineludiblemente n ineludiblemente

asociados con las asociados con las condiciones particulares de cada evaluacide cada evaluacióón n

y con las y con las necesidades específicas de los usuarios..

Dos tipos de evaluacionesDos tipos de evaluaciones

Para evitar que todas las evaluaciones sean subjetivas y Para evitar que todas las evaluaciones sean subjetivas y

circunstanciales existen dos tipos de resultados que entregan locircunstanciales existen dos tipos de resultados que entregan los s

ananáálisis de lisis de BenchmarkingBenchmarking::

Medidas de desempeño estándar. Estas son s. Estas son sóólo medidas, lo medidas,

sin evaluacisin evaluacióón anexa. Se usan unidades estandarizadas n anexa. Se usan unidades estandarizadas

(m(méétricas). Son elementos objetivos e independientes de las tricas). Son elementos objetivos e independientes de las

circunstancias.circunstancias.

Evaluaciones de satisfacción. Son interpretaciones de las . Son interpretaciones de las

medidas mas un conjunto de observaciones sobre las medidas mas un conjunto de observaciones sobre las

circunstancias y necesidades especcircunstancias y necesidades especííficas.ficas.

En ambos casos es muy comEn ambos casos es muy comúún realizar n realizar comparaciones con otros con otros

productos evaluados productos evaluados bajo las mismas condiciones..

3

Armando las piezasArmando las piezas

¿CuCuáál componente evaluarl componente evaluar?

¿CuCuáál es ml es máás importante para el desempes importante para el desempeññoo?

¿De quDe quéé forma combinar la evaluaciforma combinar la evaluacióón individual de varios n individual de varios

componentes para crear una sola calificacicomponentes para crear una sola calificacióón para el sisteman para el sistema?

ProcesadorProcesadorMemoriaMemoria

Tarjeta GrTarjeta Grááficafica MonitorMonitor

TecladoTeclado

MouseMouse

DiscoDisco

BusBus

Algunas mAlgunas méétricas cltricas cláásicassicas

Velocidad de Reloj : La frecuencia de oscilaci: La frecuencia de oscilacióón del reloj del n del reloj del

procesador.procesador.

MIPS : : Millionillion Instructionsnstructions Perer Secondecond

EvalEvalúúa la velocidad a la que la computadora puede ejecutar una a la velocidad a la que la computadora puede ejecutar una

mezcla aleatoria de instrucciones aritméticas y lógicas, tanto , tanto

enteras como de punto flotante. No toma en cuenta las enteras como de punto flotante. No toma en cuenta las

instrucciones necesarias para completar alguna tarea especinstrucciones necesarias para completar alguna tarea especíífica.fica.

MFLOPS: : Millionillion FLoatingoating--pointpoint Operationsperations Perer Secondecond

EvalEvalúúa la velocidad de ejecucia la velocidad de ejecucióón de instrucciones de punto flotante. n de instrucciones de punto flotante.

No estNo estáá clara la definiciclara la definicióón de lo que es una operacin de lo que es una operacióón de punto n de punto

flotante asflotante asíí que esta mque esta méétrica es incluso mtrica es incluso máás crs crííptica que la anterior.ptica que la anterior.

4

UtilidadUtilidad

La La úúnica forma en que las mnica forma en que las méétricas anteriores pueden ser de utilidad tricas anteriores pueden ser de utilidad

es si su uso se es si su uso se estandariza y se emplean de y se emplean de forma Comparativa..

Computadora original = 90 MIPS = Computadora original = 90 MIPS = 1x MIPS

Computadora Nueva #1 = 3.4Computadora Nueva #1 = 3.4x MIPS

Computadora Nueva #2 = 3.6Computadora Nueva #2 = 3.6x MIPS

Computadora Nueva #3 = 2.9Computadora Nueva #3 = 2.9x MIPS

Con el mismo sistema de mediciCon el mismo sistema de medicióón para todas las computadoras.n para todas las computadoras.

BenchmarksBenchmarks SintSintééticosticos

5

Idea distintaIdea distinta

En la bEn la búúsqueda de msqueda de méétricas adecuadas y significativas, durante la tricas adecuadas y significativas, durante la

ddéécada de 1970 surgicada de 1970 surgióó la idea del la idea del BenchmarkBenchmark sintsintééticotico::

Crear un conjunto de programas tipo en algCrear un conjunto de programas tipo en algúún lenguaje de n lenguaje de

alto nivel disponible en varias plataformas.alto nivel disponible en varias plataformas.

Compilar y ejecutar el conjunto de programas en cada Compilar y ejecutar el conjunto de programas en cada

computadora que se desea evaluar.computadora que se desea evaluar.

Comparar el tiempo de ejecuciComparar el tiempo de ejecucióón del mismo conjunto n del mismo conjunto

sobre diferentes computadoras.sobre diferentes computadoras.

Tres de los Tres de los BenchmarksBenchmarks sintsintééticos mticos máás conocidos y utilizados hoy en s conocidos y utilizados hoy en

ddíía son: a son: Whetstone, , LinPack y y Dhrystone..

ClCláásicossicos

Whetstone -- Operaciones de punto flotante para Operaciones de punto flotante para

minicomputadorasminicomputadoras..

Dhrystone -- Instrucciones de enteros para sistemas UNIXInstrucciones de enteros para sistemas UNIX

LinPack -- CCáálculo cientlculo cientííficofico para para WorkstationsWorkstations..

Livermore -- Procesamiento numProcesamiento numéérico para Supercomputadoras.rico para Supercomputadoras.

Cada uno de los Cada uno de los BenchmarksBenchmarks sintsintééticos clticos cláásicos tiene una sicos tiene una

orientaciorientacióón especial segn especial segúún su origen:n su origen:

6

WhetstoneWhetstone

En 1972 saliEn 1972 salióó una primera versiuna primera versióón en Algoln en Algol--60 y en 1973 aparece una 60 y en 1973 aparece una

versiversióón en n en FortranFortran que se convirtique se convirtióó en el primer esten el primer estáándar de la ndar de la

industria de aquindustria de aquéél tiempo.l tiempo.

Originalmente expresaba los Originalmente expresaba los

resultados en resultados en MWIPS Millionillion ofof

Whetstonehetstone Operationsperations Perer Secondecond. .

Las versiones modernas tambiLas versiones modernas tambiéén los n los

expresan en expresan en MOPSMOPS y y MFLOPSMFLOPS..

Programado por Programado por HaroldHarold CurnowCurnow de la de la CCTACCTA (Central (Central ComputerComputer andand

TelecomunicationsTelecomunications AgencyAgency) y ) y BrianBrian WichmannWichmann del del NPLNPL (UK (UK NationalNational

PhysicalPhysical LaboratoryLaboratory).).

CaracterCaracteríísticas sticas WhetstoneWhetstone

Contiene gran cantidad de Contiene gran cantidad de operaciones de punto flotanteoperaciones de punto flotante..

Cerca del Cerca del 95%95% del tiempo lo ocupa en del tiempo lo ocupa en bibliotecas bibliotecas

matemmatemááticasticas para cpara cáálculos cientlculos cientííficos.ficos.

La mayorLa mayoríía de sus a de sus variables son Globalesvariables son Globales, por lo que no , por lo que no

puede mostrar las ventajas de algunos disepuede mostrar las ventajas de algunos diseñños os RISCRISC que que

optimizan el uso de variables Locales.optimizan el uso de variables Locales.

Contiene gran nContiene gran núúmero de mero de ciclos cortosciclos cortos, por lo que las , por lo que las

memorias cachmemorias cachéé optimizan mucho la evaluacioptimizan mucho la evaluacióón.n.

7

DhrystoneDhrystone

Desarrollado en 1984 por Desarrollado en 1984 por Reinhold Reinhold WeickerWeicker parapara evaluarevaluar el el

desempedesempeññoo en en operacionesoperaciones de de enterosenteros, , porpor elloello susu nombrenombre eses burlaburla

del Whetstone. La del Whetstone. La versiversióónn original original fuefue programadaprogramada en ADA y en ADA y luegoluego

portadaportada a C.a C.

Genera resultados en Genera resultados en DhrystonesDhrystones PerPer SecondSecond (n(núúmero de mero de

iteraciones del ciclo principal por segundo).iteraciones del ciclo principal por segundo).

Fue el estFue el estáándar para evaluar compiladores durante casi toda la ndar para evaluar compiladores durante casi toda la

ddéécada de 1980 pero ahora ha cacada de 1980 pero ahora ha caíído en desuso.do en desuso.

Un ejemplo de este Un ejemplo de este BenchmarkBenchmark escrito en escrito en

Java se puede ejecutar en:Java se puede ejecutar en:

http://bass.c-creators.co.jp/okayan/DhrystoneApplet/

CaracterCaracteríísticas sticas DhrystoneDhrystone

Contiene exclusivamente Contiene exclusivamente instrucciones yinstrucciones y operaciones de operaciones de

enterosenteros..

Gran cantidad de tiempo lo ocupa en Gran cantidad de tiempo lo ocupa en instrucciones de instrucciones de

manejo de cadenasmanejo de cadenas, no realiza ni operaciones de E/S ni , no realiza ni operaciones de E/S ni

llamadas al sistema operativo.llamadas al sistema operativo.

Casi todos los datos se almacenan en variables Locales.Casi todos los datos se almacenan en variables Locales.

No contiene ciclos cortos, la mayorNo contiene ciclos cortos, la mayoríía de sus ciclos son a de sus ciclos son

siempre msiempre máás grandes que el tamas grandes que el tamañño de las memorias o de las memorias

cachcachéé..

8

LinPackLinPack

Desarrollado por Desarrollado por JackJack DongarraDongarra de la Universidad de de la Universidad de TenesseeTenessee

aprovechando el aprovechando el LApackLApack, una biblioteca de rutinas para , una biblioteca de rutinas para ÁÁlgebra lgebra

Lineal.Lineal.

Programado originalmente en Programado originalmente en FortranFortran y luego y luego

portado a portado a CC. Opera con un conjunto de matrices . Opera con un conjunto de matrices

y resuelve problemas de transformaciones y y resuelve problemas de transformaciones y

mmíínimos cuadrados.nimos cuadrados.

Entrega resultados en MFLOPS.Entrega resultados en MFLOPS.

CaracterCaracteríísticas sticas LinPackLinPack

Contiene una mezcla de instrucciones de enteros y Contiene una mezcla de instrucciones de enteros y

flotantes pero gran mayorflotantes pero gran mayoríía de a de flotantesflotantes…… no usa divisino usa divisióón.n.

Usa exclusivamente variables Locales.Usa exclusivamente variables Locales.

Opera con arreglos bidimensionales parametrizables en su Opera con arreglos bidimensionales parametrizables en su

tamatamañño. Tener cuidado de aplicar el mismo tamao. Tener cuidado de aplicar el mismo tamañño para o para

evaluar diferentes equipos.evaluar diferentes equipos.

9

ComentariosComentarios

La ciencia del La ciencia del BenchmarkingBenchmarking se beneficise beneficióó ampliamente con la idea ampliamente con la idea

del del BenchmarkBenchmark sintsintéético y con la disponibilidad de programas como tico y con la disponibilidad de programas como

WhetstoneWhetstone, , DhrystoneDhrystone y y LinPackLinPack..

Por un lado se mostrPor un lado se mostróó la factibilidad de la existencia de un la factibilidad de la existencia de un

estestáándar para evaluacindar para evaluacióón de los equipos con mayor significado n de los equipos con mayor significado

que las simples mque las simples méétricas.tricas.

MMáás importante, aunque sin intencis importante, aunque sin intencióón, estos programas n, estos programas

establecieron una fuente rica de informaciestablecieron una fuente rica de informacióón para los n para los

fabricantes de equipos para realizar optimizacifabricantes de equipos para realizar optimizacióón de sus n de sus

productos. La competencia comercial ha crecido fuertemente productos. La competencia comercial ha crecido fuertemente

gracias a ello.gracias a ello.

FormalizaciFormalizacióón de Conceptosn de Conceptos

10

El fondo del El fondo del asuntoasunto……

Cuando decimos que una computadora es mCuando decimos que una computadora es máás rs ráápida que otra, pida que otra,

¿ a qué nos estamos refiriendo?

Existen dos respuestas posibles a esta pregunta:Existen dos respuestas posibles a esta pregunta:

Desde el punto de vista de los usuarios finales, un equipo es Desde el punto de vista de los usuarios finales, un equipo es

mmáás rs ráápido que otro cuando ejecuta un mismo programa en pido que otro cuando ejecuta un mismo programa en

un tiempo menor.un tiempo menor.

Tiempo de Respuesta (tiempo necesario para completar una tarea)(tiempo necesario para completar una tarea)

Desde el punto de vista tDesde el punto de vista téécnico, un equipo es mcnico, un equipo es máás rs ráápido pido

que otro cuando ejecuta mque otro cuando ejecuta máás tareas en una misma unidad s tareas en una misma unidad

de tiempo.de tiempo.

Desempeño (cantidad de tareas realizadas en una unidad de tiempo)(cantidad de tareas realizadas en una unidad de tiempo)

FormalizaciFormalizacióón matemn matemááticatica

La frase La frase ““ La computadora La computadora XX es es n n veces mveces máás rs ráápida que la pida que la Y Y ””

significa en tsignifica en téérminos concretos que:rminos concretos que:

Tiempo de Respuesta (Y)Tiempo de Respuesta (Y)

Tiempo de Respuesta (X)Tiempo de Respuesta (X)= = nn

El tiempo de respuesta y el desempeEl tiempo de respuesta y el desempeñño son conceptos inversos, o son conceptos inversos,

por tanto:por tanto:

nn ==Tiempo de Respuesta (Y)Tiempo de Respuesta (Y)

Tiempo de Respuesta (X)Tiempo de Respuesta (X)==

11

DesempeDesempeñño (Y)o (Y)

11

DesempeDesempeñño (X)o (X)

==DesempeDesempeñño (X)o (X)

DesempeDesempeñño (Y)o (Y)

11

La Ley de La Ley de AmdahlAmdahl

En En 19671967 GeorgeGeorge AmdahlAmdahl demostrdemostróó que el desempeque el desempeñño global de una o global de una

computadora depende de la velocidad de cada componente y del computadora depende de la velocidad de cada componente y del

porcentaje de trabajo que cada componente realice.porcentaje de trabajo que cada componente realice.

El calculEl calculóó el aumento en el desempeel aumento en el desempeñño de una computadora al cambiar o de una computadora al cambiar

alguno de sus componentes.alguno de sus componentes.

donde:donde:kff

D+−

=)1(

100

f es el porcentaje de trabajo total realizado por el nuevo es el porcentaje de trabajo total realizado por el nuevo

componentecomponente

k es el aumento de velocidad del nuevo componentees el aumento de velocidad del nuevo componente

AplicaciAplicacióón (Ejemplo)n (Ejemplo)

Usted administra un servidor que Usted administra un servidor que comunmentecomunmente ocupa el 70% del ocupa el 70% del

tiempo en el procesador y el 30% restante en esperar operacionestiempo en el procesador y el 30% restante en esperar operaciones en en

el disco duro. el disco duro.

El El Vendedor #1Vendedor #1 ofrece un ofrece un nuevo procesador 50% m50% máás rs ráápido y que pido y que

cuesta cuesta $10,000.00

El El Vendedor #2Vendedor #2 ofrece un ofrece un nuevo disco duro que es 2 veces y media que es 2 veces y media

mmáás rs ráápido y cuesta pido y cuesta $7,000. 00

Si el presupuesto disponible alcanza sSi el presupuesto disponible alcanza sóólo para una de estas dos lo para una de estas dos

ofertas, ofertas, ¿Cuál es la decisión adecuada para actualizar el servidor?

12

SoluciSolucióónn

%4.130

5.17.0)7.01(

100=

+−=D

SegSegúún la Ley de n la Ley de AmdahlAmdahl, para el primer caso (procesador):, para el primer caso (procesador):

f = 0.7= 0.7

k = 1.5= 1.5

Cada 1% de aumento cuesta::

9.328$4.30

000,10=

%9.121

5.23.0)3.01(

100=

+−=D

Para el Para el segsegúúndondo caso (disco duro):caso (disco duro):

f = 0.3= 0.3

k = 2.5= 2.5

Cada 1% de aumento cuesta::

6.319$9.21

000,7=

Instituciones y estInstituciones y estáándaresndares

13

SPECSPEC

((SystemsSystems))

Standard Performance Evaluation Corporation

OrganizaciOrganizacióón Non No--lucrativa fundada en 1988 por los lucrativa fundada en 1988 por los

fabricantes de fabricantes de WorkstantionsWorkstantions: : ApolloApollo, , HPHP, , MIPSMIPS y y SunSun

con el objetivo de crear y mantener con el objetivo de crear y mantener unun conjunto conjunto

estandarizado de estandarizado de BenchmarksBenchmarks que sea que sea úútil para til para

cualquier clase de equipos.cualquier clase de equipos.

Actualmente incluye 3 grupos dedicados, cada uno con su propio Actualmente incluye 3 grupos dedicados, cada uno con su propio

conjunto de conjunto de BenchmarksBenchmarks::

OSG ((OpenOpen SystemsSystems GroupGroup)) -- Sistemas NT, Sistemas NT, UnixUnix y VMSy VMS

HPG ((HighHigh PerformancePerformance GroupGroup)) –– Ambientes de Ambientes de procproc. num. numééricorico

GPCG ((GraphicalGraphical PerformancePerformance CharacterizationCharacterization GroupGroup)) –– Para Para

sistemas sistemas grgrááficosficos……

TPCTPC

Consorcio de fabricantes, fundado en 1988 para regular los Consorcio de fabricantes, fundado en 1988 para regular los

BenchmarksBenchmarks aplicados a sistemas transaccionales (Bancos, aplicados a sistemas transaccionales (Bancos,

AerolAerolííneas, Hoteles, neas, Hoteles, etcetc). ).

Ha sido el foco de atenciHa sido el foco de atencióón de las industrias grandes que hacen uso n de las industrias grandes que hacen uso

intensivo de este tipo de sistemas. intensivo de este tipo de sistemas.

Ha generado estHa generado estáándares para ndares para BenchmarksBenchmarks de sistemas de sistemas

transaccionales de diferentes tipos:transaccionales de diferentes tipos:

DebitDebit--CreditCredit BenchmarkBenchmark ((TPC-A))

DataBaseDataBase SubsystemSubsystem BechmarkBechmark ((TPC-B) )

OrderOrder ProcessingProcessing BechmarkBechmark ((TPC-C) )

Web Web TranasctionsTranasctions BechmarkBechmark ((TPC-W))

14

ReflexionesReflexiones

Es Es importanteimportante recordarrecordar queque un Benchmark, un Benchmark, inclusoincluso estandarizadoestandarizado, , eses

ssóólolo un un elementoelemento de un de un ananáálisislisis queque debedebe tomartomar en en cuentacuenta muchosmuchos

otrosotros factoresfactores..

Dado que la computadora es un Sistema complejo, concentrar la Dado que la computadora es un Sistema complejo, concentrar la

evaluacievaluacióón sn sóólo en el desempelo en el desempeñño del procesador puede ser o del procesador puede ser

sumamente engasumamente engaññoso.oso.

La debilidad prLa debilidad prááctica mctica máás coms comúún al realizar n al realizar BenchmarkingBenchmarking es no es no

tener claridad de los requerimientos.tener claridad de los requerimientos.

Es conveniente evaluar en varios niveles, comenzando desde las Es conveniente evaluar en varios niveles, comenzando desde las

mméétricas mtricas máás sencillas y cls sencillas y cláásicas hasta los sicas hasta los bechmarksbechmarks sintsintééticos ticos

especespecííficos de las aplicaciones requeridas y que en los ficos de las aplicaciones requeridas y que en los úúltimos niveles ltimos niveles

participen los usuarios finalesparticipen los usuarios finales

Otras ReflexionesOtras Reflexiones……

“A benchmark is like sex. Everybody wants it, everybody is sure oA benchmark is like sex. Everybody wants it, everybody is sure of f

how to do it, but nobody can agree on how to compare how to do it, but nobody can agree on how to compare

performance performance ”Jim Turley Jim Turley

(Microprocessor Report, Vol 13, Issue 3)(Microprocessor Report, Vol 13, Issue 3)

“ "Benchmark" and "Benchmark" and ““Controversy" are two words that frequently Controversy" are two words that frequently

appear together in the same sentence. appear together in the same sentence. ”

Kevin KrewellKevin Krewell

(Microprocessor Report, Vol 18, Issue 39)(Microprocessor Report, Vol 18, Issue 39)

15

FinFin