stringtranslate.com

Computación multitarea

La computación de múltiples tareas ( MTC ) [1] [2] [3] [4] [5] [6] [7] en la ciencia computacional es un enfoque de computación paralela que apunta a cerrar la brecha entre dos paradigmas computacionales : computación de alto rendimiento (HTC) [8] y computación de alto rendimiento (HPC).

Definición

MTC recuerda a HTC, pero "se diferencia en el énfasis de usar muchos recursos computacionales durante períodos cortos de tiempo para realizar muchas tareas computacionales (es decir, incluyendo tareas dependientes e independientes), donde las métricas primarias se miden en segundos (por ejemplo, FLOPS, tareas/s, tasas de E/S de MB/s), en oposición a operaciones (por ejemplo, trabajos) por mes. MTC denota cálculos de alto rendimiento que comprenden múltiples actividades distintas, acopladas a través de operaciones del sistema de archivos. Las tareas pueden ser pequeñas o grandes, monoprocesador o multiprocesador, intensivas en computación o intensivas en datos . El conjunto de tareas puede ser estático o dinámico, homogéneo o heterogéneo, débilmente acoplado o fuertemente acoplado. El número agregado de tareas, la cantidad de computación y los volúmenes de datos pueden ser extremadamente grandes. MTC incluye aplicaciones débilmente acopladas que generalmente requieren mucha comunicación pero que no se expresan naturalmente utilizando la interfaz de paso de mensajes estándar que se encuentra comúnmente en HPC, lo que llama la atención sobre los muchos cálculos que son heterogéneos pero no "felizmente" paralelos". [6]

Raicu et al. afirman además: "La informática de alto rendimiento implica mucho más que una MPI estrechamente acoplada, y la informática de alto rendimiento implica mucho más que trabajos de ejecución vergonzosamente paralelos . Al igual que las aplicaciones de informática de alto rendimiento y la ciencia misma, las aplicaciones se están volviendo cada vez más complejas, lo que abre nuevas puertas a muchas oportunidades de aplicar la informática de alto rendimiento de nuevas maneras si ampliamos nuestra perspectiva. Algunas aplicaciones tienen tantas tareas simples que su gestión es difícil. Las aplicaciones que operan o producen grandes cantidades de datos necesitan una gestión de datos sofisticada para poder escalar. Existen aplicaciones que implican muchas tareas, cada una compuesta de tareas MPI estrechamente acopladas. Las aplicaciones débilmente acopladas a menudo tienen dependencias entre tareas y, por lo general, utilizan archivos para la comunicación entre procesos. El soporte eficiente para este tipo de aplicaciones en los sistemas de gran escala existentes implicará desafíos técnicos sustanciales y tendrá un gran impacto en la ciencia". [6]

Áreas relacionadas

Algunas áreas relacionadas son los programas múltiples, múltiples datos (MPMD), la computación de alto rendimiento (HTC), los flujos de trabajo, la computación de capacidad o el paralelismo vergonzoso . Algunos proyectos que podrían soportar cargas de trabajo de MTC son Condor, [9] Mapreduce , [10] Hadoop, [11] Boinc , [12] Cobalt [ enlace muerto permanente ] HTC-mode, [13] Falkon, [14] y Swift. [15] [16]

Referencias

  1. ^ Taller IEEE sobre computación multitarea en redes y supercomputadoras (MTAGS08) 2008, http://datasys.cs.iit.edu/events/MTAGS08/
  2. ^ Taller ACM sobre computación multitarea en redes y supercomputadoras (MTAGS09) 2009, http://datasys.cs.iit.edu/events/MTAGS09/
  3. ^ Taller IEEE sobre computación multitarea en redes y supercomputadoras (MTAGS10) 2010, http://datasys.cs.iit.edu/events/MTAGS10/
  4. ^ Taller ACM sobre computación multitarea en redes y supercomputadoras (MTAGS11) 2011, http://datasys.cs.iit.edu/events/MTAGS11/
  5. ^ IEEE Transactions on Parallel and Distributed Systems, número especial sobre computación multitarea, junio de 2011, http://datasys.cs.iit.edu/events/TPDS_MTC/
  6. ^ abc I. Raicu, I. Foster, Y. Zhao. "Computación multitarea para redes y supercomputadoras", Taller IEEE sobre computación multitarea en redes y supercomputadoras (MTAGS08), 2008
  7. ^ "Computación para múltiples tareas: cerrando la brecha entre rendimiento y rendimiento", International Science Grid This Week (iSGTW), 28 de enero de 2009, http://www.isgtw.org/?pid=1001602 Archivado el 1 de enero de 2011 en Wayback Machine.
  8. ^ M. Livny, J. Basney, R. Raman, T. Tannenbaum. "Mecanismos para la computación de alto rendimiento", SPEEDUP Journal 1(1), 1997
  9. ^ D. Thain, T. Tannenbaum, M. Livny, "Computación distribuida en la práctica: la experiencia de Condor" Concurrencia y computación: práctica y experiencia 17( 2-4), pp. 323-356, 2005
  10. ^ J. Dean, S. Ghemawat. "MapReduce: procesamiento de datos simplificado en clústeres grandes". En OSDI, 2004
  11. ^ A. Bialecki, M. Cafarella, D. Cutting, O. O'Malley. "Hadoop: un marco para ejecutar aplicaciones en grandes clústeres creados con hardware de consumo masivo", http://lucene.apache.org/hadoop/ Archivado el 10 de febrero de 2007 en Wayback Machine , 2005
  12. ^ DP Anderson, "BOINC: Un sistema para computación y almacenamiento de recursos públicos", Taller internacional IEEE/ACM sobre computación en red, 2004
  13. ^ IBM Corporation. "Paradigma de computación de alto rendimiento (HTC)", IBM System Blue Gene Solution: Desarrollo de aplicaciones Blue Gene/P, IBM RedBooks, 2008
  14. ^ I. Raicu, Y. Zhao, C. Dumitrescu, I. Foster, M. Wilde. "Falkon: un marco de ejecución de tareas rápido y ligero", IEEE/ACM SC, 2007
  15. ^ Y. Zhao, M. Hategan, B. Clifford, I. Foster, G. Laszewski, I. Raicu, T. Stef-Praun, M. Wilde. "Swift: computación paralela rápida, confiable y débilmente acoplada", IEEE SWF, 2007
  16. ^ M. Wilde, M. Hategan, JM Wozniak, B. Clifford, DS Katz e I. Foster." Swift: Un lenguaje para scripting paralelo distribuido". Computación paralela, 37:633–652, 2011.