DEPARTAMENTO DE INGENIERÍA TELEMÁTICA TRABAJO FIN DE GRADO GRADO EN SISTEMAS DE COMUNICACIÓN EVALUACIÓN DE TÉCNICAS DE OPTIMIZACIÓN APLICABLES A ENTORNOS AMI AUTOR: MARIO SANZ RODRIGO TUTOR: JOSE IGNACIO MORENO NOVELLA LEGANÉS, OCTUBRE DE 2016 1 TÍTULO: EVALUACIÓN DE TÉCNICAS DE OPTIMIZACIÓN APLICABLES A ENTORNOS AMI AUTOR: MARIO SANZ RODRIGO TUTOR: JOSE IGNACIO MORENO NOVELLA TRIBUNAL PRESIDENTE: CARLOS BOUSOÑO CALZON SECRETARIO: MARÍA DEL CARMEN RAGA ARROYO VOCAL: MARIO GÓMEZ DÍAZ La defensa del presente Trabajo de Fin de Grado se realizó el día 10 de Octubre de 2016 en Leganés, en la Escuela Politécnica Superior de la universidad Carlos III de Madrid, siendo calificada por el siguiente tribunal: PRESIDENTE SECRETARIO VOCAL 2 3 Agradecimientos En primer lugar agradecer a mi tutor José Ignacio por la oportunidad de desarrollar este proyecto dentro del equipo de investigación del departamento de telemática. Agradecer también a mis compañeros en dicho equipo, Gregorio López López y Miguel Seijo Simo por ayudarme durante el desarrollo del trabajo y resolver las dudas que me iban surgiendo, así como la genial convivencia durante todos estos meses. A mi familia por haber estado siempre ahí durante todos estos años de carrera, aguantando los momentos de agobio, las fechas en las que no podía desplazarme a Burgos con ellos debido a los exámenes y compartiendo conmigo los momentos de alegría. A todos los amigos tanto dentro como fuera de la universidad que han compartido conmigo buenos y malos momentos durante estos años. Por último agradecer a de forma muy especial a mi novia Ana, ya que fue ella la que me motivó e insistió para comenzar esta andadura en la universidad hace ya más de cinco años, sin ella hoy no estaría donde estoy, muchísimas gracias. 4 5 Resumen En la actualidad el uso de las tecnologías de la información y la comunicación se están aplicando al sector eléctrico en lo que se conoce como Smart Grids. El presente proyecto se centra en los entornos AMI (Infraestructuras de medición avanzada) que se encuentran en la denominada “última milla” de las redes de distribución eléctrica. La comunicación realizada en estos entornos se basa en el estándar PLC denominado PRIME. Debido a que los cables de electricidad no fueron diseñados originalmente para utilizarse como medio de comunicación es necesario el uso de herramientas que permitan obtener información sobre el funcionamiento de estas redes para poder detectar posibles problemas. Una de estas herramientas es el analizador de trazas PrimeAnalytics, desarrollado por el equipo de investigación del departamento de telemática de la Carlos III dentro del ámbito del proyecto de investigación nacional OSIRIS (Optimización de la Supervisión Inteligente de la Red de Distribución), financiado por el Ministerio de Economía y Competitividad y liderado por Unión Fenosa Distribución. Con este trabajo se pretende investigar, implementar y evaluar diferentes opciones para mejorar el rendimiento de la herramienta PrimeAnalytics, así como el uso de los recursos, centrándose en la paralelización de bases de datos y el uso de la computación en la nube. Palabras clave Infraestructuras de Medición Avanzada (AMI): Comunicaciones PLC de Banda Estrecha; Django Web Framework; Docker; Citus; Base de Datos; PoweRline Intelligent Metering Evolution (PRIME); Python; Red Eléctrica Inteligente; Computación en la Nube; Analizador de Trazas; Cloud; Topología 6 Abstract Currently the use of Information and Communications technology are being applied to the electric sector in what is known as Smart Grids. This project focuses on the environment AMI (Advanced Metering Infrastructure) that are in the so-called “last mile” of the electrical distribution networks. The communication performed in these environments is based on PLC standard, called PRIME. Because that power lines were not originally designed to be used as a means of communication, it is necessary the use tools to obtain information on the operation of these networks and detect potential problems. One such tool is the PrimeAnalytics trace analyzer, developed by the research team of the department of telematics of the Carlos III within the scope of national research project OSIRIS (Optimization of Intelligent Monitoring Distribution Network) funded by Ministry of Economy and Competitiveness and led by Union Fenosa Distribution. This paper aims to investigate, implement and evaluate different options to improve the performance of the PrimeAnalytics tool and the use of resources, focusing on the parallelization of Databases and the use of cloud computing. Keywords Advanced Metering Infraestructure (AMI); Narrowband-PLC (NB-PLC); Django Web Framework; Docker; Citus; Data Base; PoweRline Intelligent Metering Evolution (PRIME); Python; Smart Grids; Cloud Computing; Analizador de trazas; Cloud; Topology 7 Índice general 1. Motivation and goals ....................................................................................................................... 14 1.1. Motivation. .................................................................................................................................. 14 1.2. Goals …........................................................................................................................................ 16 1.3. Memory structure ……................................................................................................................. 17 2. Análisis del estado del arte............................................................................................................... 20 2.1. Tecnologías PLC de Banda Estrecha........................................................................................... 20 2.1.1 Visión Global............................................................................................................... 20 2.1.2. PRIME........................................................................................................................ 22 2.2. Analizador de trazas PrimeAnalytics........................................................................................... 30 2.3. Lenguajes y Frameworks de desarrollo........................................................................................ 31 2.3.1. Python......................................................................................................................... 31 2.3.1.1. Extensiones Python................................................................................... 32 2.3.2. Django......................................................................................................................... 33 2.3.3. PostgreSQL................................................................................................................. 34 2.4. Herramientas para el despliegue................................................................................................... 35 2.4.1. Docker......................................................................................................................... 35 2.5. Herramientas para la paralelización de bases de datos................................................................. 36 2.5.1. PgPool......................................................................................................................... 36 2.5.2. PgShard....................................................................................................................... 38 2.5.3. Citus............................................................................................................................ 39 2.6. Plataformas Cloud........................................................................................................................ 42 2.6.1. FIWARE..................................................................................................................... 42 2.6.2. Microsoft Azure.......................................................................................................... 44 2.6.3. IBM SoftLayer............................................................................................................ 44 2.6.4. Google Cloud Platform............................................................................................... 45 2.6.5. Amazon Web Services............................................................................................... 46 3. Diseño................................................................................................................................................. 51 3.1. Requisitos y restricciones............................................................................................................ 51 3.2. Selección de tecnologías............................................................................................................. 54 3.3. Etapas de diseño........................................................................................................................ 55 4. Desarrollo e integración.................................................................................................................... 56 4.1. Elección del método de distribución............................................................................................ 56 4.2. Justificación de la elección........................................................................................................... 61 4.3. Modificación del docker-compose.yml........................................................................................ 61 4.4. Modificación del entrypoint.sh.................................................................................................... 63 8 4.5. Creación del Cluster..................................................................................................................... 64 4.6. Adaptación del Gestor de Archivos.............................................................................................. 66 4.7. Problemática encontrada y soluciones adoptadas......................................................................... 68 4.8. Desarrollo de módulo software para la evolución de la topología................................................ 69 4.9. Migración a la nube...................................................................................................................... 76 5. Resultados y validación..................................................................................................................... 82 5.1. Entorno Local............................................................................................................................... 82 5.1.1. Pruebas sobre la base de datos.................................................................................... 82 5.1.2. Pruebas sobre las peticiones Ajax de la herramienta.................................................. 87 5.2. Entorno Cloud.............................................................................................................................. 93 5.2.1. Pruebas sobre las peticiones Ajax de la herramienta.................................................. 93 6. Conclusions and future works........................................................................................................ 97 6.1. Conclusions.…............................................................................................................................ 97 6.2. Future Works…........................................................................................................................... 99 7. Presupuesto....................................................................................................................................... 100 7.1. Fases del proyecto....................................................................................................................... 100 7.2. Diagrama de Gantt....................................................................................................................... 101 7.3. Presupuesto……........................................................................................................................... 102 8. Referencias........................................................................................................................................ 104 Anexo I: Margo Regulatorio …………………………………………………….. I Anexo II: Script de validación 1………………………………………………….. III Anexo III: Script de validación 2 …………………………………………………. IX Anexo IV: Script scale.py…………………………………………………………. XVIII 9
Description: