Desde el surgimiento de las computadoras comerciales, para realizar ciencia, a principios de la década de 1950, el desarrollo en arquitecturas de computadoras científicas, el hardware y software subyacentes se han centrado en el análisis numérico. Es así como se introdujeron los primeros Supercomputadores, los computadores vectoriales (o array processors), en la década de 1970. Posteriormente, en las últimas décadas, se introducen las supercomputadoras de quinta generación, los clústeres fuertemente acoplados.
El desarrollo de supercomputadoras centrado en el análisis numérico, dio lugar a las computadoras Giga-escala en 1985, Tera-escala en 1997 y las computadoras Peta-escala en 2008. Sin embargo, el incremento en la tasa de producción de datos generados por estas computadoras e instrumentos científicos asociados, generaron un punto de inflexión en el diseño de los Supercomputadores en el año 2013. Este punto de inflexión, cambió el pensamiento en el diseño de arquitecturas de supercomputadores basadas en análisis numérico hacia el desarrollo de arquitecturas que incorporen capacidades para suplir las necesidades tanto de análisis numérico como de análisis en Big Data que se observó a partir de 2007 en aplicaciones científicas.
A pesar de que las computadoras Exa-escala están pensadas para soportar cargas de trabajo en análisis numérico y de Big Data que surge en estas aplicaciones, estas computadoras aún sufren de limitaciones físicas, tecnológicas y de diseño que hacen que el procesamiento de grandes volúmenes de datos sea muy costoso en términos de tiempo de ejecución y energía consumida en el cómputo. El problema más crítico radica en el modelo de computación que siguen estos computadores, el modelo de Von Neumann.
El modelo de Von Neumann limita la computación de grandes volúmenes de datos en dos aspectos, la memoria y la red. En el primer aspecto, el ancho de banda del canal de comunicación entre la memoria y la CPU llegó a 64 bits, y el aumento en el ancho de banda del canal no representa una mejora significativa en el rendimiento del movimiento de datos respecto a la complejidad del crecimiento en el ancho de banda de canal; adicionalmente, el número de señales de datos y control que se pueden conectar a un bloque lógico como el procesador está limitado por la regla de Rent. Finalmente, el problema anterior se extiende hacia la red, considerando sistemas distribuidos, donde la latencia en la transferencia de datos crece, y la tendencia indica una reducción en el ancho de banda de la red en comparación con la capacidad de cómputo.
Objetivo:
Por las limitaciones identificadas en el modelo de Von Neuman para la realización de flujos de trabajo de análisis de datos, expertos en computación de universidades y laboratorio de investigación han trazado una ruta para militar el problema de movimiento de datos masivo de datos que toma lugar en los flujos de trabajo de análisis de datos. Como primera medida se plantean mejoras en los algoritmos existentes, algoritmos de scheduling, que soportan la ejecución de estos análisis. Por otro lado, se plantea el desarrollo de arquitecturas de computadoras no convencionales, No Von Neumann.
El presente trabajo doctoral aborda el problema mencionado desde el punto de vista de los algoritmos de scheduling. Es por ello que el objetivo del presente trabajo es desarrollar una algoritmo de scheduling que permita reducir el impacto del movimiento de datos en la ejecución de cargas de trabajo de Big Data como los workflows de análisis de datos. Considerando que este tipo de análisis toman lugar en supercomputadores.