stringtranslate.com

Puntos de referencia de NAS Parallel

Los puntos de referencia paralelos de la NASA ( NPB ) son un conjunto de puntos de referencia que apuntan a la evaluación del rendimiento de supercomputadoras altamente paralelas . Son desarrollados y mantenidos por la División de Supercomputación Avanzada (NAS) de la NASA (anteriormente el Programa de Simulación Aerodinámica Numérica de la NASA) con sede en el Centro de Investigación Ames de la NASA . La NAS solicita resultados de rendimiento para NPB de todas las fuentes. [1]

Historia

Motivación

Los benchmarks tradicionales que existían antes de NPB, como los bucles Livermore , el LINPACK Benchmark y el NAS Kernel Benchmark Program, generalmente estaban especializados en computadoras vectoriales. Generalmente adolecían de deficiencias, incluidas restricciones de ajuste que impedían el paralelismo y tamaños de problema insuficientes, lo que los hacía inadecuados para sistemas altamente paralelos. Igualmente inadecuados eran los benchmarks de aplicaciones a gran escala debido al alto costo de portabilidad y la falta de disponibilidad de herramientas de paralelización automática de software. [2] Como resultado, NPB se desarrolló en 1991 [3] y se lanzó en 1992 [4] para abordar la consiguiente falta de benchmarks aplicables a máquinas altamente paralelas.

NPB 1

La primera especificación del NPB reconoció que los puntos de referencia deberían incluir

A la luz de estas directrices, se consideró que el único enfoque viable era utilizar una colección de puntos de referencia "en papel y lápiz" que especificaran un conjunto de problemas solo algorítmicamente y dejaran la mayoría de los detalles de implementación a discreción del implementador bajo ciertos límites necesarios.

La NPB 1 definió ocho puntos de referencia, cada uno en dos tamaños de problemas denominados Clase A y Clase B. Se proporcionaron códigos de muestra escritos en Fortran 77. Utilizaron un problema de tamaño pequeño, Clase S , y no estaban destinados a fines de evaluación comparativa. [2]

NPB 2

Desde su lanzamiento, NPB 1 mostró dos debilidades importantes. En primer lugar, debido a su especificación de "papel y lápiz", los proveedores de computadoras generalmente ajustaron sus implementaciones de manera que su rendimiento se volvió difícil de alcanzar para los programadores científicos. En segundo lugar, muchas de estas implementaciones eran propietarias y no estaban disponibles públicamente, ocultando de manera efectiva sus técnicas de optimización. En segundo lugar, los tamaños de los problemas de NPB 1 se quedaron rezagados con respecto al desarrollo de las supercomputadoras a medida que estas últimas continuaban evolucionando. [3]

La NPB 2, publicada en 1996, [5] [6] incluía implementaciones de código fuente para cinco de los ocho puntos de referencia definidos en la NPB 1 para complementar, pero no reemplazar, a la NPB 1. Extendió los puntos de referencia con un tamaño de problema actualizado, la Clase C. También modificó las reglas para enviar los resultados de las evaluaciones comparativas. Las nuevas reglas incluían solicitudes explícitas de archivos de salida, así como archivos fuente modificados y scripts de compilación para garantizar la disponibilidad pública de las modificaciones y la reproducibilidad de los resultados. [3]

La NPB 2.2 contenía implementaciones de dos puntos de referencia más. [5] La NPB 2.3 de 1997 fue la primera implementación completa en MPI . [4] Se distribuyó con versiones en serie de los puntos de referencia consistentes con las versiones paralelas y definió un tamaño de problema Clase W para sistemas de memoria pequeña. [7] La ​​NPB 2.4 de 2002 ofreció una nueva implementación de MPI e introdujo otro tamaño de problema Clase D aún mayor . [6] También aumentó un punto de referencia con subtipos intensivos de E/S . [4]

NPB 3

NPB 3 mantuvo la implementación MPI de NPB 2 y vino en más versiones, a saber, OpenMP , [8] Java [9] y Fortran de alto rendimiento . [10] Estas nuevas implementaciones paralelas se derivaron de los códigos seriales en NPB 2.3 con optimizaciones adicionales. [7] NPB 3.1 y NPB 3.2 agregaron tres puntos de referencia más, [11] [12] que, sin embargo, no estaban disponibles en todas las implementaciones; NPB 3.3 introdujo un tamaño de problema de Clase E. [7] Basado en el NPB 3 de zona única, se lanzó un conjunto de puntos de referencia de múltiples zonas que aprovechan el modelo de programación híbrido MPI/OpenMP bajo el nombre NPB-Multi-Zone ( NPB-MZ ) para "probar la efectividad de los paradigmas y herramientas de paralelización multinivel e híbridos". [1] [13]

Los puntos de referencia

A partir del NPB 3.3 se definen once puntos de referencia que se resumen en la siguiente tabla.

Referencias

  1. ^ ab "Cambios en los parámetros de referencia paralelos de la NAS". División de Supercomputación Avanzada de la NASA . Consultado el 23 de febrero de 2009 .
  2. ^ abcde Baily, D.; Barszcz, E.; Barton, J.; Browning, D.; Carter, R.; Dagum, L.; Fatoohi, R.; Fineberg, S.; Frederickson, P.; Weeratunga, S. (marzo de 1994), "Los puntos de referencia paralelos de la NAS" (PDF) , Informe técnico de la NAS RNR-94-007 , Centro de investigación Ames de la NASA, Moffett Field, CA
  3. ^ abc Bailey, D.; Harris, T.; Saphir, W.; van der Wijngaart, R.; Woo, A.; Yarrow, M. (diciembre de 1995), "The NAS Parallel Benchmarks 2.0" (PDF) , Informe técnico NAS-95-020 , Centro de investigación Ames de la NASA, Moffett Field, CA
  4. ^ abcd Wong, P.; van der Wijngaart, R. (enero de 2003), "NAS Parallel Benchmarks I/O Version 2.4" (PDF) , Informe técnico NAS NAS-03-002 , Centro de investigación Ames de la NASA, Moffett Field, CA
  5. ^ abc Saphir, W.; van der Wijngaart, R.; Woo, A.; Yarrow, M., Nuevas implementaciones y resultados para los puntos de referencia paralelos NAS 2 (PDF) , Centro de investigación Ames de la NASA, Moffett Field, CA
  6. ^ abcd van der Wijngaart, R. (octubre de 2002), "NAS Parallel Benchmarks Version 2.4" (PDF) , Informe técnico NAS NAS-02-007 , Centro de investigación Ames de la NASA, Moffett Field, CA
  7. ^ abcdef "Cambios en los parámetros de referencia paralelos de la NAS". División de Supercomputación Avanzada de la NASA . Consultado el 17 de marzo de 2009 .
  8. ^ Jin, H.; Frumkin, M.; Yan, J. (octubre de 1999), "La implementación de OpenMP de los puntos de referencia paralelos de NAS y su rendimiento" (PDF) , Informe técnico de NAS NAS-99-011 , Centro de investigación Ames de la NASA, Moffett Field, CA
  9. ^ Frumkin, M.; Schultz, M.; Jin, H.; Yan, J., "Implementación de los puntos de referencia paralelos NAS en Java" (PDF) , Informe técnico NAS-02-009 , Centro de investigación Ames de la NASA, Moffett Field, CA
  10. ^ Frumkin, M.; Jin, H.; Yan, J. (septiembre de 1998), "Implementación de puntos de referencia paralelos NAS en Fortran de alto rendimiento" (PDF) , Informe técnico NAS NAS-98-009 , Centro de investigación Ames de la NASA, Moffett Field, CA
  11. ^ ab Feng, H.; van der Wijngaart, F.; Biswas, R.; Mavriplis, C. (julio de 2004), "Punto de referencia paralelo NAS adaptativo no estructurado (UA), versión 1.0" (PDF) , Informe técnico NAS NAS-04-006 , Centro de investigación Ames de la NASA, Moffett Field, CA
  12. ^ ab Frumkin, M.; Shabanov, L. (septiembre de 2004), "Evaluación comparativa del rendimiento de la memoria con el operador Data Cube" (PDF) , Informe técnico NAS-04-013 , Centro de investigación Ames de la NASA, Moffett Field, CA
  13. ^ ab van der Wijngaart, R.; Jin, H. (julio de 2003), "Puntos de referencia paralelos de NAS, versiones multizona" (PDF) , Informe técnico de NAS NAS-03-010 , Centro de investigación Ames de la NASA, Moffett Field, CA

Enlaces externos