Universidad Complutense de Madrid
E-Prints Complutense

Sistema distribuido para la ejecución controlada de código arbitrario

Impacto

Downloads

Downloads per month over past year



Sánchez Paredes, Jonathan and Velázquez Alonso, Alberto (2017) Sistema distribuido para la ejecución controlada de código arbitrario. [Trabajo Fin de Grado]

[img]
Preview
PDF
Creative Commons Attribution Non-commercial.

2MB


Abstract

La motivación original de este proyecto es la mitigación de riesgos en el uso de un juez virtual, que es una aplicación que facilita el envío, ejecución y evaluación de ejercicios prácticos vía Internet. Los jueces virtuales más populares en entornos educativos son FLOP [27], DOMJudge, Mooshak y AceptaElReto. Este tipo de aplicaciones compilan y ejecutan código arbitrario, y por tanto precisan un entorno de ejecución seguro, aislado y en el que pueda limitarse el uso de recursos como memoria o tiempo de CPU. Además, dado que los alumnos pueden enviar sus prácticas en cualquier momento del día, estos sistemas necesitan alta disponibilidad.
Este proyecto pretende dar respuesta a estas necesidades creando un entorno de ejecución seguro, controlado y de alta disponibilidad para la ejecución remota de código arbitrario. Para ello recogeremos los requisitos de la aplicación y analizaremos las distintas alternativas a partir de sus características y adecuación a los requisitos. Finalmente desarrollaremos una aplicación que dé solución a las necesidades indicadas basándonos en los requisitos y en los resultados de nuestra investigación.

Resumen (otros idiomas)

The original motivation for this project is risk mitigation for the use of a virtual judge, which is an application that facilitates sending, running and grading practical assignments online. Some popular virtual judges in educational environments are FLOP, DOMJudge, Mooshak and AceptaElReto. This kind of applications compile and execute arbitrary code, so they require a running environment that is secure, isolated and that can limit resource usage such as memory or CPU time. Also, given that students can send their assignments at any time, these systems need high availability. This project intends to give an answer to these needs by providing a secure, controlled and high availability running environment for the remote execution of arbitrary code. To this end we will gather this application’s requirements and we will analyze the different alternatives based on their features and adherence to requirements. Finally, we will develop an application that can solve the stated needs, based on the requirements and the results of our research.

Item Type:Trabajo Fin de Grado
Additional Information:

Trabajo de Fin de Grado en Ingeniería Informática (Universidad Complutense, Facultad de Informática, curso 2016/2017)

Directors:
DirectorsDirector email
Llana Díaz, Luis Fernando
Martín Martín, Enrique
Uncontrolled Keywords:Docker, Kubernetes, Celery, Redis, RabbitMQ, TaskQueue, Orquestación, Clúster, Sistema Distribuido
Palabras clave (otros idiomas):Docker, Kubernetes, Celery, Redis, RabbitMQ, TaskQueue, Orchestration, Cluster, Distributed System
Subjects:Sciences > Computer science > Expert systems (Computer science)
Sciences > Computer science > Computer security
Título de Grado:Grado en Ingeniería Informática
ID Code:44422
Deposited On:31 Aug 2017 11:50
Last Modified:20 Mar 2020 10:08

Origin of downloads

Repository Staff Only: item control page