Publication: On the convergence of big data analytics and high-performance computing: a novel approach for runtime interoperability
Loading...
Identifiers
Publication date
2019-05
Defense date
2019-07-08
Authors
Advisors
Tutors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Convergence between high-performance computing (HPC) and Big Data
analytics (BDA) is currently an established research area that spawned new
opportunities for unifying the platformlayer and data abstractions in these
ecosystems. This thesis builds on the hypothesis that HPC-BDA convergence
at platform level can be attained by enabling runtime interoperability in a
way that preserves BDA platform usability and productivity, exploits HPC
scalability and performance, and expands both BDA and HPC capabilities
to cope with prospect hybrid application models. The goal is to architect an
abstract system that enables the interoperability of established BDA and HPC
runtimes.
In order to exploit the benefits of BDA data-centric paradigms, this thesis
presents a data-centric transformation methodology to allow process-centric
workloads the interaction with BDA platforms and storage infrastructures.
Furthermore, an architecture to achieve full runtime interoperability is proposed.
It reflects the key design features that interest both the HPC and BDA
communities, and includes an abstract data collection and operational model
that generates a unified interface for hybrid applications. It also incorporates a mechanism to transfer each stage of the application to the appropriate
runtime.
This architecture can be implemented in different ways depending on the
process- and data-centric runtimes of choice, and the mechanisms put in
place to effectively meet the requirements of the architecture. The Spark-DIY
platformis introduced as a possible implementation. It preserves the interfaces
and execution environment of the popular BDA platformApache Spark
–thus making it compatible with any Spark-based application and tool– while
providing efficient communication and kernel execution via DIY, a powerful
communication pattern library built on top of MPI.
Finally, these solutions are analysed in terms of performance by applying
them to a representative use case, EnKF-HGS. This application is a clear example
of how current HPC simulations are evolving towards hybrid HPC-BDA
applications, integrating HPC simulations within a BDA environment. Other
auxiliary use cases –like an application from the railway domain and a BDA
benchmark operator– are also introduced to support other specific contributions
of this thesis.
La convergencia entre la computación de altas prestaciones (HPC) y el análisis de macrodatos (BDA) es actualmente un área de investigación establecida que ha generado nuevas oportunidades para la unificación de la capa de plataforma y las abstracciones de datos en estos ecosistemas. Esta tesis desarrolla la hipótesis de que la convergencia HPC-BDA a nivel de plataforma puede ser obtenida con la habilitación de mecanismos de interoperabilidad entre entornos de ejecución, de modo que se preserve la usabilidad y productividad de las plataformas BDA, se explote la escalabilidad y rendimiento de HPC, y se expandan las capacidades de HPC y BDA para tratar futuros modelos híbridos de aplicación. El objetivo es desarrollar un sistema abstracto que permita la interoperabilidad de entornos de ejecución ya establecidos en los ecosistemas BDA y HPC. Con el fin de explotar los beneficios de los paradigmas orientados a datos en BDA, esta tesis presenta una metodología de transformación también orientada a datos que permite a las aplicaciones orientadas a proceso interactuar con plataformas BDA y sus correspondientes infraestructuras de almacenamiento. Además, se propone una arquitectura para obtener interoperabilidad total entre entornos de ejecución. Ésta refleja las características de diseño clave que interesan a las comunidades BDA y HPC, e incluye una abstracción de colección de datos y modelo operacional que genera una interfaz unificada para aplicaciones híbridas. Además, incorpora un mecanismo para transferir cada etapa de la aplicación al entorno de ejecución adecuado. Esta arquitectura puede ser implementada de distintas maneras dependiendo de los entornos de ejecución orientados a datos y proceso seleccionados, y las tcnicas utilizadas para cumplir de manera efectiva con los requisitos de la arquitectura. La plataforma Spark-DIY se introduce como posible implementación. Preserva las interfaces y entorno de ejecución de la popular plataforma BDA Apache Spark –haciéndola compatible con cualquier aplicación o herramienta basada en Spark–, mientras provee comunicación y ejecución eficiente de núcleos de simulación y análisis a través de DIY, una potente biblioteca de patrones de comunicación construida sobre MPI. Finalmente, estas soluciones son analizadas en términos de rendimiento al aplicarlas a un caso de uso representativo, EnKF-HGS. Esta aplicación es un ejemplo claro de cómo las simulaciones HPC están evolucionando hacia aplicaciones HPC-BDA híbridas, integrando simulaciones HPC dentro de un entorno BDA. Otros casos de uso auxiliares –como una aplicación del ámbito ferroviario y un operador referente de BDA– son introducidos para apoyar otras contribuciones específicas de esta tesis.
La convergencia entre la computación de altas prestaciones (HPC) y el análisis de macrodatos (BDA) es actualmente un área de investigación establecida que ha generado nuevas oportunidades para la unificación de la capa de plataforma y las abstracciones de datos en estos ecosistemas. Esta tesis desarrolla la hipótesis de que la convergencia HPC-BDA a nivel de plataforma puede ser obtenida con la habilitación de mecanismos de interoperabilidad entre entornos de ejecución, de modo que se preserve la usabilidad y productividad de las plataformas BDA, se explote la escalabilidad y rendimiento de HPC, y se expandan las capacidades de HPC y BDA para tratar futuros modelos híbridos de aplicación. El objetivo es desarrollar un sistema abstracto que permita la interoperabilidad de entornos de ejecución ya establecidos en los ecosistemas BDA y HPC. Con el fin de explotar los beneficios de los paradigmas orientados a datos en BDA, esta tesis presenta una metodología de transformación también orientada a datos que permite a las aplicaciones orientadas a proceso interactuar con plataformas BDA y sus correspondientes infraestructuras de almacenamiento. Además, se propone una arquitectura para obtener interoperabilidad total entre entornos de ejecución. Ésta refleja las características de diseño clave que interesan a las comunidades BDA y HPC, e incluye una abstracción de colección de datos y modelo operacional que genera una interfaz unificada para aplicaciones híbridas. Además, incorpora un mecanismo para transferir cada etapa de la aplicación al entorno de ejecución adecuado. Esta arquitectura puede ser implementada de distintas maneras dependiendo de los entornos de ejecución orientados a datos y proceso seleccionados, y las tcnicas utilizadas para cumplir de manera efectiva con los requisitos de la arquitectura. La plataforma Spark-DIY se introduce como posible implementación. Preserva las interfaces y entorno de ejecución de la popular plataforma BDA Apache Spark –haciéndola compatible con cualquier aplicación o herramienta basada en Spark–, mientras provee comunicación y ejecución eficiente de núcleos de simulación y análisis a través de DIY, una potente biblioteca de patrones de comunicación construida sobre MPI. Finalmente, estas soluciones son analizadas en términos de rendimiento al aplicarlas a un caso de uso representativo, EnKF-HGS. Esta aplicación es un ejemplo claro de cómo las simulaciones HPC están evolucionando hacia aplicaciones HPC-BDA híbridas, integrando simulaciones HPC dentro de un entorno BDA. Otros casos de uso auxiliares –como una aplicación del ámbito ferroviario y un operador referente de BDA– son introducidos para apoyar otras contribuciones específicas de esta tesis.
Description
Mención Internacional en el título de doctor
Keywords
Big Data Analytics, High Performance Computing (HPC), Spark-DIY