Publication:
Diseño y desarrollo de una plataforma de paralelización y distribución automática para supercomputación no coordinada

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2019
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
En esta memoria se presenta el diseño y desarrollo de una plataforma de paralelización y distribución de código automática destinada a la supercomputación de manera no coordinada. El desarrollo de esta aplicación se enmarca en el proyecto de I+D+i, CLOUDBOOK: A Cloudaware distributed parallel compiler (Celtic plus C2016/2-4), cuyo objetivo es la creación de una plataforma que integre la distribución a través de la nube y la compilación y ejecución de un programa en una única plataforma, e integrar distintas tecnologías de supercomputación en esta plataforma. Dentro de este proyecto surge la necesidad de desarrollar la plataforma encargada de realizar el troceado y distribución automática de código de forma transparente al programador. De estos dos problemas, el de mayor contribución al estado del arte es el del troceado automático del código para su ejecución de forma distribuida y paralela. Esta será la plataforma desarrollada en este trabajo, cuyo objetivo es la automatización de la generación de piezas de código distribuible a partir del programa fuente original, así como la distribución de dichas piezas en una red de máquinas. Esto permite liberar al programador de realizar un diseño distribuido, sin renunciar a las ventajas de la computación distribuida con un coste de aprendizaje de uso muy bajo. Con este objetivo se ha desarrollado la plataforma en el lenguaje de programación Python, usando librerías para analizar el lenguaje y su estructura sintáctica, como PLY. Para la comunicación a través de la red se ha usado el framework Flask de Python. Se ha usado también NFS como sistema de ficheros distribuido sobre el que están los ficheros del programa. Por último, la información de configuración se realiza mediante ficheros en formato JSON
This work presents the design and development of parallelization and automatic code distribution platform destined for supercomputing in an uncoordinated manner. This application has been developed in research project CLOUDBOOK: A Cloud-aware distributed parallel compiler (Celtic plus C2016/2-4), whose objective is the creation of a platform that allows the parallelization of programs to be distributed in the cloud , and facilitate the integration with different supercomputing technologies. A fundamental requirement for this project is the need for making the automatic distribution of code transparently to the programmer. The main contribution to the state of the art is the automatic division of the code for its execution in a distributed and parallel manner. This will be the platform developed in this work, whose objective is the automation of the generation of distributable code pieces from the original source program, as well as the distribution of said parts in a network of machines. This allows the programmer to make a distributed design without giving up the advantages of distributed computing with a very low use learning cost. With this objective, the platform has been developed in the Python programming language, using libraries to analyze the language and its syntactic structure, such as PLY. For communication through the network, the Python framework, Flask, has been used. NFS has also been used as a distributed file system on which the program files are located. Finally, the configuration information is done through files in JSON format.
Description
Trabajo de Fin de Máster, Universidad Complutense, Facultad de Informática, Departamento de Ingeniería del Software e Inteligencia Artificial, Curso 2018/2019
Unesco subjects
Keywords
Citation