Muchos-tarea informática ( MTC ) [1] [2] [3] [4] [5] [6] [7] en la ciencia computacional es un enfoque para la computación paralela que pretende cerrar la brecha entre dos paradigmas de computación : alto informática de rendimiento (HTC) [8] e informática de alto rendimiento (HPC).
Definición
MTC recuerda a HTC, pero "difiere en el énfasis de utilizar muchos recursos informáticos en períodos cortos de tiempo para realizar muchas tareas computacionales (es decir, incluidas las tareas dependientes e independientes), donde las métricas primarias se miden en segundos (p. Ej., FLOPS, tareas / s, tasas de E / S de MB / s), a diferencia de las 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, con uso intensivo de datos o de computación . El conjunto de tareas puede ser estático o dinámico, homogéneo o heterogéneo, poco acoplado o estrechamente 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 son de comunicación intensiva pero no se expresan de forma natural 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 h eterogéneos pero no "felizmente" paralelos ". [6]
Raicu y col. Además, afirman: "Hay más en HPC que MPI estrechamente acoplado, y más en HTC que trabajos de ejecución prolongada vergonzosamente paralelos . Al igual que las aplicaciones de HPC y la ciencia misma, las aplicaciones son cada vez más complejas y abren nuevas puertas para muchas oportunidades de aplicar HPC de nuevas formas si ampliamos nuestra perspectiva. Algunas aplicaciones tienen tantas tareas simples que administrarlas es difícil. Las aplicaciones que operan o producen grandes cantidades de datos necesitan una administración de datos sofisticada para poder escalar. Existen aplicaciones que involucran muchas tareas, cada una compuesta por tareas MPI estrechamente acopladas. Las aplicaciones acopladas libremente a menudo tienen dependencias entre tareas y, por lo general, usan archivos para la comunicación entre procesos. El soporte eficiente para este tipo de aplicaciones en sistemas existentes a gran escala implicará desafíos técnicos sustanciales y tendrá un gran impacto en la ciencia ". [6]
Áreas Relacionadas
Algunas áreas relacionadas son múltiples programas de datos múltiples (MPMD), computación de alto rendimiento (HTC), flujos de trabajo, computación de capacidad o vergonzosamente paralelo . Algunos proyectos que podrían soportar cargas de trabajo de MTC son Condor , [9] Mapreduce , [10] Hadoop , [11] Boinc , [12] Cobalt [ enlace muerto permanente ] modo HTC, [13] Falkon , [14] y Swift . [15] [16]
Referencias
- ^ Taller de IEEE sobre computación de muchas tareas en redes y supercomputadoras (MTAGS08) 2008, http://datasys.cs.iit.edu/events/MTAGS08/
- ^ Taller de ACM sobre computación de muchas tareas en redes y supercomputadoras (MTAGS09) 2009, http://datasys.cs.iit.edu/events/MTAGS09/
- ^ Taller de IEEE sobre computación de muchas tareas en redes y supercomputadoras (MTAGS10) 2010, http://datasys.cs.iit.edu/events/MTAGS10/
- ^ Taller de ACM sobre computación de muchas tareas en redes y supercomputadoras (MTAGS11) 2011, http://datasys.cs.iit.edu/events/MTAGS11/
- ^ Transacciones IEEE en sistemas paralelos y distribuidos, número especial sobre computación de muchas tareas, junio de 2011, http://datasys.cs.iit.edu/events/TPDS_MTC/
- ^ a b c I. Raicu, I. Foster, Y. Zhao. "Computación de muchas tareas para redes y supercomputadoras", Taller de IEEE sobre computación de muchas tareas en redes y supercomputadoras (MTAGS08), 2008
- ^ "Computación de muchas tareas: cerrar la brecha de rendimiento-rendimiento", International Science Grid This Week (iSGTW), 28 de enero de 2009, http://www.isgtw.org/?pid=1001602 Archivado 2011-01-01 en el Wayback Machine
- ^ M. Livny, J. Basney, R. Raman, T. Tannenbaum. "Mecanismos para la computación de alto rendimiento", SPEEDUP Journal 1 (1), 1997
- ^ D. Thain, T. Tannenbaum, M. Livny, "Computación distribuida en la práctica: La experiencia del cóndor" Concurrencia y computación: práctica y experiencia 17 (2-4), págs. 323-356, 2005
- ^ J. Dean, S. Ghemawat. "MapReduce: procesamiento de datos simplificado en grandes grupos". En OSDI, 2004
- ^ A. Bialecki, M. Cafarella, D. Corte, O. O'Malley. "Hadoop: un marco para ejecutar aplicaciones en grandes clústeres construidos con hardware básico ", http://lucene.apache.org/hadoop/ Archivado el 10 de febrero de 2007en Wayback Machine , 2005
- ^ DP Anderson, "BOINC: un sistema para almacenamiento y computación de recursos públicos", Taller internacional IEEE / ACM sobre computación en red, 2004
- ^ Corporación IBM. "Paradigma de computación de alto rendimiento (HTC)", Solución IBM System Blue Gene: Desarrollo de aplicaciones Blue Gene / P, IBM RedBooks, 2008
- ^ 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
- ^ Y. Zhao, M. Hategan, B. Clifford, I. Foster, G. Laszewski, I. Raicu, T. Stef-Praun, M. Wilde. "Swift: Computación en paralelo rápida, confiable y poco acoplada", IEEE SWF, 2007
- ^ M. Wilde, M. Hategan, JM Wozniak, B. Clifford, DS Katz e I. Foster. "Swift: un lenguaje para scripts paralelos distribuidos". Computación paralela, 37: 633–652, 2011.