Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TurboApuntesPAT
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-9056156
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
TEMA 1.2
Análisis de prestaciones
DEFINICIÓN DE PRESTACIONES
Prestaciones: Tiene diferentes puntos de vista, con solo 1 usuario o con varios (administrador de sistemas)
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
• Usuario: Están relacionadas con tener el mínimo tiempo de ejecución para un programa dado. Lo que se le
puede llamar TIEMPO DE RESPUESTA O EJECUCIÓN.
• Administrador: Cierta cantidad de usuarios ejecutando programas, se usa la productividad, que sería la
cantidad de trabajos que se hacen en el tiempo.
𝑛
Varios trabajos: 𝑃𝑟𝑜𝑢𝑐𝑡𝑖𝑣𝑖𝑑𝑎𝑑 = 𝑇𝑖𝑒𝑚𝑝𝑜 𝑒𝑗𝑒𝑐𝑢𝑐𝑖ó𝑛
1
Un trabajo (Usuario): 𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑣𝑎𝑑𝑎𝑑 = 𝑇𝑖𝑒𝑚𝑝𝑜 𝑒𝑗𝑒𝑐𝑢𝑐𝑖ó𝑛
Comparaciones
Cuando se comparan 2 computadores “X” e “Y”, se escoge el más lento como referencia y se obtiene la
𝑇𝑥
ACELERACIÓN “S” dividiendo el tiempo de uno entre el del otro ( o al revés).
𝑇𝑦
Si hay varios se escoge uno diferente que no está en el grupo para que actúe de referencia y se dividen todos los
tiempos entre el de ese computador. Se supone que este computador ajeno es más lento y siempre será por el que
dividas. Si es más rápido dan menor que 1 y ya.
Se dice que “X es S veces mas rápido que Y” y/o que “X es n % más rápido que Y”
Dependientes unos de otros, no es posible reducir uno sin afectar otro, HAY QUE TENER EN CUENTA A LOS 3.
Reducir el Tiempo de ejecución: Habría que reducir alguno de los 3 factores, sin embargo, dependen de casi
las mismas cosas, por lo que es muy MUY difícil. Ejemplo: se cambia el ISA para mejorar el “I” pero se puede
empeorar el CPI que también depende la complejidad de la ISA.
2
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-9056156
Convertirse en Michael Scofield por una chuleta < estudiar con Colacao Batidos
Arquitectura e ingeniería de...
Banco de apuntes de la
Ley de Amdahl
Describe como afecta el cambio de una parte de un proceso en el total. No porque una parte sea el doble de rápida el
resultado final también lo será.
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
𝒕 𝟏
Aceleración Global: Para sacar S’ la Aceleración Global: 𝑺′ = 𝒕′ = 𝑭
+𝟏−𝑭
𝑺
Por otra parte, dado el porcentaje de en el que se gasta el componente que quieres mejorar, se puede sacar el
límite para saber hasta CUANTO podrías mejorar el computador SOLO mejorando eso.
𝟏
𝑺′ ∞ = 𝒍𝒊𝒎𝑺→∞ 𝑺′ =
𝟏−𝑭
1
𝑆′ =
𝐹1 𝐹2 𝐹𝑛
+ + ⋯+
𝑆1 𝑆2 𝑆𝑛
Donde 𝐹1 + 𝐹2 + . . . + 𝐹𝑛 = 1, los valores originales. Algún “Si” podría ser 1 (sin aceleración, se queda igual).
Aceleración local compuesta: Por otro lado, una aceleración local “Si” puede ser el resultado de la composición de
varias aceleraciones locales independientes: 𝑆𝑖 = 𝑆𝑖1 × 𝑆𝑖2 × . . .× 𝑆𝑖𝑚
Ejemplo
El Tejecución de un programa P tiene 2 partes: 𝑻𝒆 = 𝑭𝟏 + 𝑭𝟐 = 𝟏. Siendo F2 paralelizable (la cantidad de
núcleos de afecta). P se ejecuta en un procesador con 2 núcleo a 2,2GHz. Ahora lo hacen en un procesador de 4
3,3 𝐺𝐻𝑧 3,3 𝐺𝐻𝑧 4 𝑛ú𝑐𝑙𝑒𝑜𝑠
Núcleos a 3,3GHz. 𝑆1 = = 1,5 𝑆2 = · =3
2,2 𝐺𝐻𝑧 2,2 𝐺𝐻𝑧 2 𝑛ú𝑐𝑙𝑒𝑜𝑠
1 1
Solución: 𝑆’ = 𝐹1 𝐹2 = 𝐹1 𝐹2
+ +
𝑆1 𝑆2 1.5 3
Empeoro: Por debajo de la línea del medio, subo algo el coste, pero no
consigo la misma cantidad de prestaciones (en proporción).
Mejoro: Por encima de la línea del medio, si subo algo el coste, me sube mucho muchas las prestaciones
3
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-9056156
Desacreditados: Hay programas que NO se deben usar para eso: Kernels, Toy Benchmarks, Synthetic Benchmarks.
Reproducibilidad: Las medidas han de ser reproducibles → hay que indicar/especificar todos los detalles:
• Hardware: Procesador, cache, memoria, disco…
• Software: Sistema operativo, programas y versiones, datos de entrada, opciones de ejecución…
Si tu luego coges todos esos datos, el mismo Benchamark y lo recreas, tendrías que conseguir el mismo resultado.
Cuando haces las pruebas te dan un montón de numero cada test, esos resultados se juntan y terminan donde un
valor que te dice: Tu ordenador es x veces más rápido que el ordenador de referencia. El ordenador de referencia te
da igual cual es, si el que tenía da 50 en el test y el nuevo 100 sé que el nuevo será el doble de rápido.
Comparación de computadores
Para obtener una medida resumen de la ejecución de varios programas podemos apreciar que, una Característica de
una buena medición de tiempos es: El valor medio debe ser directamente proporcional al tiempo total de ejecución.
1
Tiempo total: 𝑇𝑡 = ∑𝑛𝑖=1 𝑇𝑖𝑒𝑚𝑝𝑜𝑖 Media aritmética: 𝑇𝑎 = 𝑛 · ∑𝑛𝑖=1 𝑇𝑖𝑒𝑚𝑝𝑜𝑖
𝑛 𝑇𝑖𝑒𝑚𝑝𝑜𝑅𝑒𝑓𝑖
Media geométrica (SPEC): 𝑅 = √∏𝑛𝑖=1 𝑇𝑖𝑒𝑚𝑝𝑜𝑖
Media geométrica de los tiempos de ejecución normalizados a una máquina de referencia: R veces más rápido que
la referencia.
Esto es, si tienes 2 máquinas, sacas los tiempos para cada uno en cada test. De cada test 1, divides el tiempo de la
referencia entre la otra máquina (los ratios, aceleraciones), del segundo igual… así para todos los test, n veces.
Después, todos esos valores los multiplicas y les hacen la Raiz enésima (la media geométrica).
MFLOPS: Millones de operaciones por segundo. En concreto mido las operaciones en coma flotante en el código
fuente. Pueden variar entre ordenadores. Solo es útil si el programa es el mismo y hace falta que usen coma flotante.
4
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-9056156
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-9056156
Si recuerdas el once de España 2008 también puedes con esto con Colacao Batidos
5
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.