Evaluación del rendimiento de aplicaciones intensivas en datos con Apache Tez

Abstract

Durante los últimos años, el Big Data ha sufrido un gran auge en un rango muy variado de sectores del mercado. Analizar todos los datos disponibles para conocer la demanda de productos por adelantado, o incluso para crear dichas demandas, se ha vuelto una práctica común para muchas empresas. El procesamiento de estas grandes cantidades de datos no es algo trivial y ha de realizarse con tecnologı́as especı́ficamente diseñadas para ese propósito. Es por ello que cada vez surgen más propuestas en esa área de la informática, cada una con sus ventajas e inconvenientes. En todas ellas, no obstante, hay una caracterı́stica de vital importancia: el rendimiento. El trabajo que aquı́ se presenta se enmarca dentro del proyecto DICE, situado en el marco del plan Horizon2020 de la Comisión Europea, y en el cual participa el Grupo de I+D en Computación Distribuida (DiSCo) de la Universidad de Zaragoza. El objetivo final de DICE consiste en ofrecer un perfil UML original, un conjunto de herramientas software y una metodologı́a que ayudarán a los diseñadores de aplicaciones intensivas en datos a plantear la seguridad, eficiencia y fiabilidad de dichas aplicaciones. Entre dichas herramientas software se encuentra un simulador capaz de evaluar el rendimiento de aplicaciones basadas en diferentes tecnologı́as (DICE-Simulator), y es a este simulador al cual se le va a aportar una nueva tecnologı́a mediante la realización de este trabajo. Para poder realizar dicha aportación, integrando la tecnologı́a de Apache Tez en el simu- lador, se han realizado una serie procesos para analizar y modelar la tecnologı́a. En primer lugar, se ha investigado a fondo el funcionamiento de Tez, comprobando su rendimiento en aplicaciones reales y extrayendo tantos los conceptos básicos de la tecnologı́a como aquellos relativos al rendimiento de la misma, vitales para poder simular de forma fiel su comporta- miento. A continuación, habiendo extraı́do toda la información necesaria resultante de la investi- gación, se ha creado un perfil para UML que captura de forma precisa todos los conceptos relativos al funcionamiento de Tez y a su rendimiento en aplicaciones reales. Una vez completado el modelo UML, ha sido necesario transformar dicho modelo a otro distinto que permitiese analizar y evaluar el rendimiento, basado en los conceptos recogido por el primero. Para ello, se ha propuesto un conjunto de patrones de transformación del modelo UML a un modelo de redes de Petri, concretamente a redes de Petri estocásticas, las cuales permiten analizar el rendimiento en aplicaciones informáticas. Por último, se han realizado una serie de experimentos para verificar que las transforma- ciones propuestas son correctas y reflejan de forma precisa el funcionamiento de una aplicación Tez real en términos de rendimiento

    Similar works