• No se han encontrado resultados

Conclusiones

In document UNIVERSIDAD REY JUAN CARLOS (página 101-104)

5. Conclusiones y trabajo futuro

5.1. Conclusiones

Al finalizar el desarrollo de este proyecto, se han obtenido los enunciados de prácticas para los alumnos de la asignatura Computación de Altas Prestaciones correspondiente al grado en Ingeniería de Computadores que permita que pongan en práctica sus conocimientos teóricos sobre Cloud Computing. A la hora de redactar los enunciados se ha tenido en cuenta el temario impartido en dicha asignatura, que ha servido para determinar el nivel de dificultad de las prácticas propuestas, de tal manera que se adapten a los conocimientos adquiridos en las clases de teoría.

Para conseguir superar dicho objetivo final, se han ido consiguiendo el resto de objetivos previos marcados en el capítulo 1 de la siguiente manera:

Comprender el paradigma de Cloud Computing con todos los elementos que lo definen y componen: Para superar este objetivo se ha realizado un trabajo de consulta de diversa documentación (artículos, documentos electrónicos, libros) acerca del paradigma Cloud Computing.

Realizar un análisis del estado del arte de Cloud Computing, así como de los retos y problemas que todavía están sin resolver: Este objetivo se ha conseguido superar partiendo de la consecución del anterior, analizando la diversa documentación consultada y ampliando la consulta de documentación en el caso de los retos y problemas sin resolver.

Analizar diferentes alternativas de simulación en sistemas distribuidos, determinar cuáles son válidas para los sistemas Cloud y justificar la elección del simulador CloudSim para el desarrollo de unas prácticas en las que se inicie a los alumnos en este paradigma: Para superar este objetivo, en primer lugar se ha realizado una búsqueda con el fin de conocer las distintas soluciones de simulación de sistemas distribuidos. Después se ha consultado la documentación asociada a las diferentes herramientas de simulación. Tras analizar dicha documentación se ha determinado qué herramientas eran válidas para la simulación de sistemas Cloud, y en concreto cuál de todas ellas era la más adecuada para alcanzar el objetivo principal de este proyecto. Al finalizar este estudio se llegó a la conclusión de que se utilizaría la herramienta de simulación CloudSim para el desarrollo de este proyecto, teniendo en cuenta el objetivo principal marcado.

Comprender el funcionamiento del simulador de sistemas Cloud que se utilizará para el desarrollo de este proyecto, CloudSim: Este objetivo se ha conseguido realizando una lectura de la documentación asociada a CloudSim, haciendo uso de la herramienta mediante la ejecución de los diferentes ejemplos que incluye, y realizando modificaciones sobre ellos para comprender mejor su funcionamiento y profundizar en los conocimientos adquiridos a través de la documentación.

Realizar un análisis en profundidad del simulador CloudSim y sus distintas características: Una vez superado el objetivo anterior, este objetivo se ha conseguido analizando en detalle la documentación disponible acerca del diseño e implementación de CloudSim, y también realizando un trabajo de ingeniería inversa a partir de la implementación de las clases que componen el simulador.

Con la realización de este proyecto se ha conseguido dar uso a una herramienta de simulación de entornos Cloud en un ámbito educativo, de tal forma que los alumnos no se queden exclusivamente con los conocimientos teóricos explicados en clase. De este modo se ofrece a los alumnos la posibilidad de poner en práctica sus conocimientos de Cloud Computing y facilitar su aprendizaje a través de ejemplos en un entorno que no supone ningún coste adicional para la universidad. Esto permite ofrecer una enseñanza de mejor calidad a los alumnos sin tener que incrementar el gasto.

En nuestro caso, CloudSim se adaptaba perfectamente a este objetivo, ya que se trata de una librería que proporciona la funcionalidad necesaria para modelar escenarios Cloud en los que se ofrezcan servicios IaaS, pudiendo realizar esta tarea con poco esfuerzo. Además, el hecho de que los escenarios se modelen en el lenguaje de programación Java, y por otro lado que se pueda utilizar dicha librería junto con un entorno de desarrollo para Java como es

Eclipse, hacen que se facilite mucho la tarea para el alumno. De este modo tiene que invertir poco tiempo y esfuerzo en la tarea de modelar los escenarios y puede centrarse exclusivamente en el aprendizaje de los conceptos relativos a Cloud Computing.

CloudSim es una herramienta de simulación desarrollada por la universidad de Melbourne, y actualmente se encuentra en fase de desarrollo y mejora. Cuando se inició este proyecto fin de carrera, la última versión disponible era la 2.1.1, pero poco después se lanzó la versión 3.0 incorporando nuevas funcionalidades y solucionando algunos errores de la versión anterior. Como en aquel momento el desarrollo de este proyecto estaba en una fase muy temprana, se decidió hacer uso de la versión 3.0 para poder aprovechar alguna de sus nuevas funcionalidades, y sobre todo para evitar los posibles errores encontrados en la versión 2.1.1, ya que el cambio de versión no afectaba al trabajo ya realizado. Sin embargo, existen algunas particularidades que se han encontrado en CloudSim durante el desarrollo de este proyecto, y deben ser tenidas en cuenta si en un futuro se quiere utilizar con otros propósitos:

La facturación por uso de los recursos es algo confusa. Cuando se invoca el método printDebts() de cada centro de datos existente, se obtiene la factura para cada usuario que haya ejecutado máquinas virtuales en dicho centro de datos, pero sólo se tiene en cuenta el coste por memoria RAM y almacenamiento de cada máquina virtual del usuario. Si se desea obtener el resto de coste asociado a cada usuario, se debe invocar el método getProcessingCost() de cada cloudlet procesado asociado al usuario, y sumar esta cifra a la que es mostrada por printDebts().

En las simulaciones con múltiples usuarios hay que ser cuidadoso a la hora de asignar identificadores a las máquinas virtuales y los cloudlets de cada usuario. Es posible que existan varios usuarios con máquinas virtuales y cloudlets diferentes, pero que dispongan del mismo identificador (por ejemplo, dos máquinas virtuales con identificador 0 pero de diferentes usuarios), lo que puede llevar a confusión a la hora de interpretar los resultados. Se recomienda utilizar identificadores únicos en toda la simulación para todos los usuarios. Además, se recomienda mostrar los resultados de la simulación separados para cada usuario.

Durante la realización de una de las prácticas se observó un comportamiento anómalo en la ejecución de un determinado escenario haciendo uso de la política de tiempo compartido en los hosts. Tras comprobar que no se trataba de un error en el código correspondiente al escenario modelado, se comunicó este comportamiento al grupo de desarrolladores de CloudSim, y actualmente se encuentra bajo investigación para solucionarlo. Para superar este problema se modificó el enunciado de la práctica,

haciendo uso de la política de espacio compartido que no presentaba dicho comportamiento anómalo, por lo que las prácticas propuestas no se ven afectadas.

In document UNIVERSIDAD REY JUAN CARLOS (página 101-104)

Documento similar