martes, 17 de junio de 2008

FLOPS, MIPS... que son?

MIPS
De Wikipedia, la enciclopedia libre

MIPS es el acrónimo de "millones de instrucciones por segundo". Es una forma de medir la potencia de los procesadores. Sin embargo, esta medida sólo es útil para comparar procesadores con el mismo juego de instrucciones y usando benchmarks que fueron compilados por el mismo compilador y con el mismo nivel de optimización. Esto es debido a que la misma tarea puede necesitar un número de instrucciones diferentes si los juegos de instrucciones también lo son; y por motivos similares en las otras dos situaciones descritas. En las comparativas, usualmente se representan los valores de pico, por lo que la medida no es del todo realista. La forma en que funciona la memoria que usa el procesador también es un factor clave para la potencia de un procesador, algo que no suele considerarse en los cálculos con MIPS. Debido a estos problemas, los investigadores han creado pruebas estandardizadas tales como SpecInt para medir el funcionamiento real, y las MIPS han caído en desuso.

En el mundo de GNU/Linux se suelen referir a los MIPS como 'bogoMIPS'.

El equivalente en la aritmética de punto flotante de los MIPS son los flops.

Muchos microprocesadores de 8 y 16 bits han sido medidos con KIPS (kiloinstrucciones por segundo), que equivale a 0'001 MIPS. El primer microprocesador de propósito general, el Intel 8080 ejecutaba 640 KIPS. El Intel 8086 (16 bits), el primer microprocesador usado en PC, 800 KIPS. El Pentium 4 llega aproximadamente a 1'700 MIPS.

Los PC actuales realizan un máximo de 18.000 millones de operaciones lógicas por segundo. Si se ejecutan 6 instrucciones por ciclo y hay 3.000 millones de ciclos por segundo, se tienen 18.000 MIPS.


FLOPS
De Wikipedia, la enciclopedia libre

En informática, FLOPS es el acrónimo de Floating point Operations Per Second (operaciones en coma flotante por segundo). Se usa como una medida del rendimiento de una computadora, especialmente en cálculos científicos que requieren un gran uso de operaciones de punto flotante. FLOPS, al ser un acrónimo, no debe nombrarse en singular como FLOP, ya que la S final alude a second (o segundo) y no al plural.

Las computadoras exhiben un amplio rango de rendimientos en punto flotante, por lo que a menudo se usan unidades mayores que el FLOPS. Los prefijos estándar del SI pueden ser usados para este propósito, dando como resultado megaFLOPS (MFLOPS, 10**6 FLOPS), gigaFLOPS (GFLOPS, 10**9 FLOPS), teraFLOPS (TFLOPS, 10**12 FLOPS), y petaFLOPS (PFLOPS, 10**15 FLOPS).


FLOPS como medida de rendimiento

Para que se pueda usar el FLOPS como medida de rendimiento de punto flotante una referencia estándar debe ser establecida para todas las computadoras de interés. Uno de ellos es el estándar LINPACK.

Los FLOPS por sí solos no son un muy útil estándar para computadoras modernas. Existen muchos otros factores de rendimiento tales como I/O (Entrada/Salida), comunicación inter procesador, coherencia del cache y jerarquía de memoria. Esto significa que las computadoras en general son sólo capaces de una fracción del pico teórico en FLOPS, obtenido adicionando el pico teórico en FLOPS de cada uno de los componentes del sistema. Aún cuando se trabaje en problemas grandes y altamente paralelos, su rendimiento será irregular, debido en gran medida a efectos residuales de la ley de Amdahl. Por tanto, los estándares efectivos medirán rendimiento tanto de FLOPS actuales —tiempo real— como de FLOPS sostenidos.

Para aplicaciones ordinarias (no científicas) las operaciones sobre enteros (medidos en MIPS) son mucho más comunes. De lo anterior se deduce que medir el rendimiento en FLOPS no predice con precisión qué tan rápido un procesador realizará cualquier tarea. Sin embargo, para muchas aplicaciones científicas, como el análisis de datos, el rendimiento en FLOPS es una medida efectiva.

No hay comentarios: