sesión 11 benchmarking

Download Sesión 11 Benchmarking

Post on 24-Oct-2015

5 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 1Arquitectura de Computadorasseptiembre diciembre 2005

    Salvador Godoy C.

    Maestra en Tecnologas de Informacin

    Sesin #11

    EvaluaciEvaluacin de desempen de desempeoo

    ( Benchmarking )( Benchmarking )

    15 / Noviembre / 2005

    EvaluaciEvaluacin de n de DesepeDesepeoo((BenchmarkBenchmark))

  • 2BenchmarkingBenchmarking

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

    desempedesempeo de sistemas y/o de sus componentes.o de sistemas y/o de sus componentes.

    El buen El buen BenchmarkingBenchmarking observa no sobserva no slo el desempelo el desempeo en o en

    ttrminos de velocidad, sino la rminos de velocidad, sino la relacin 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

    evaluacievaluacin de casos individuales que estn de casos individuales que estn ineludiblemente n ineludiblemente

    asociados con las asociados con las condiciones particulares de cada evaluacide cada evaluacin n

    y con las y con las necesidades especficas 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

    ananlisis de lisis de BenchmarkingBenchmarking::

    Medidas de desempeo estndar. Estas son s. Estas son slo medidas, lo medidas, sin evaluacisin evaluacin anexa. Se usan unidades estandarizadas n anexa. Se usan unidades estandarizadas

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

    circunstancias.circunstancias.

    Evaluaciones de satisfaccin. 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 especficas.ficas.

    En ambos casos es muy comEn ambos casos es muy comn realizar n realizar comparaciones con otros con otros

    productos evaluados productos evaluados bajo las mismas condiciones..

  • 3Armando las piezasArmando las piezas

    CuCul componente evaluarl componente evaluar?

    CuCul es ml es ms importante para el desempes importante para el desempeoo?

    De quDe qu forma combinar la evaluaciforma combinar la evaluacin individual de varios n individual de varios

    componentes para crear una sola calificacicomponentes para crear una sola calificacin para el sisteman para el sistema?

    ProcesadorProcesadorMemoriaMemoria

    Tarjeta GrTarjeta Grficafica MonitorMonitor

    TecladoTeclado

    MouseMouse

    DiscoDisco

    BusBus

    Algunas mAlgunas mtricas cltricas clsicassicas

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

    procesador.procesador.

    MIPS : : Millionillion Instructionsnstructions Perer Secondecond

    EvalEvala 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 aritmticas y lgicas, 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 especfica.fica.

    MFLOPS: : Millionillion FLoatingoating--pointpoint Operationsperations Perer Secondecond

    EvalEvala la velocidad de ejecucia la velocidad de ejecucin de instrucciones de punto flotante. n de instrucciones de punto flotante.

    No estNo est clara la definiciclara la definicin de lo que es una operacin de lo que es una operacin de punto n de punto

    flotante asflotante as que esta mque esta mtrica es incluso mtrica es incluso ms crs crptica que la anterior.ptica que la anterior.

  • 4UtilidadUtilidad

    La La nica forma en que las mnica forma en que las mtricas 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 medicin para todas las computadoras.n para todas las computadoras.

    BenchmarksBenchmarks SintSintticosticos

  • 5Idea distintaIdea distinta

    En la bEn la bsqueda de msqueda de mtricas adecuadas y significativas, durante la tricas adecuadas y significativas, durante la

    ddcada de 1970 surgicada de 1970 surgi la idea del la idea del BenchmarkBenchmark sintsintticotico::

    Crear un conjunto de programas tipo en algCrear un conjunto de programas tipo en algn 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 ejecucin del mismo conjunto n del mismo conjunto sobre diferentes computadoras.sobre diferentes computadoras.

    Tres de los Tres de los BenchmarksBenchmarks sintsintticos mticos ms conocidos y utilizados hoy en s conocidos y utilizados hoy en

    dda son: a son: Whetstone, , LinPack y y Dhrystone..

    ClClsicossicos

    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 -- CClculo cientlculo cientficofico para para WorkstationsWorkstations..

    Livermore -- Procesamiento numProcesamiento numrico para Supercomputadoras.rico para Supercomputadoras.

    Cada uno de los Cada uno de los BenchmarksBenchmarks sintsintticos clticos clsicos tiene una sicos tiene una

    orientaciorientacin especial segn especial segn su origen:n su origen:

  • 6WhetstoneWhetstone

    En 1972 saliEn 1972 sali una primera versiuna primera versin en Algoln en Algol--60 y en 1973 aparece una 60 y en 1973 aparece una

    versiversin en n en FortranFortran que se convirtique se convirti en el primer esten el primer estndar de la ndar de la

    industria de aquindustria de aqul 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 tambin 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).).

    CaracterCaractersticas 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 matemmatemticasticas para cpara clculos cientlculos cientficos.ficos.

    La mayorLa mayora 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 diseos os RISCRISC que que

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

    Contiene gran nContiene gran nmero de mero de ciclos cortosciclos cortos, por lo que las , por lo que las memorias cachmemorias cach optimizan mucho la evaluacioptimizan mucho la evaluacin.n.

  • 7DhrystoneDhrystone

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

    desempedesempeoo en en operacionesoperaciones de de enterosenteros, , porpor elloello susu nombrenombre eses burlaburla

    del Whetstone. La del Whetstone. La versiversinn 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(nmero de mero de

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

    Fue el estFue el estndar para evaluar compiladores durante casi toda la ndar para evaluar compiladores durante casi toda la

    ddcada de 1980 pero ahora ha cacada de 1980 pero ahora ha cado 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/

    CaracterCaractersticas 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 c