Sesión 11 Benchmarking
-
Upload
moon-y-nava -
Category
Documents
-
view
33 -
download
0
Transcript of Sesión 11 Benchmarking
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)