Big Data Platform for the Development of Scheduling Strategies in Cloud Computing

Big Data Platform for the Development of Scheduling Strategies in Cloud Computing

g n i s r e e r e a n n i i L g n e e d r Escuela Politécnica Superior de Linares n o i o i r Mat ster in telecommunication engineering e a p c i u n STRATEGIES S Department: Telecommunication engineering Department: Telecommunication Dr Dr Supervisors: Yossra Student: Noureldien DEVELOPMENT u B a IG c m i DATA n m c o . José Enrique Muñoz Expósito. José Muñoz Enrique é SebastiánGarcía Galán t c i PLATFORM IN l June, 2020 e l o CLOUD e OF P t a SCHEDULING l n i e COMPUTING r FOR u e c t s s THE E a M Declaration I declare that this thesis is my work and I referenced all the sources I used throughout the thesis. Also, the thesis has not been submitted to any other degree before. 2020 1 Acknowledgments I am grateful to almighty God for his grace in me. I would like to thank the university of Jaen for offering me this opportunity to complete my postgraduate master degree. In addition, my sincere gratitude goes to professors José Enrique and Sebastián García whom, with their guidance and patience, I was able to complete this work. My special appreciation is to my family, my lovely parents and my brothers for their continuous support and encouragement in my whole life. 2 Abstract Cloud computing is an evolving topic in the last decade. Clouds work as infras- tructures for storing and accessing data. Cloud scheduling is used to map tasks’ requirements according to the availability of resources. Extensive researches were done to develop methodologies for scheduling. In general, the goal is to optimize a specific objective such as time, cost, energy and quality of service. In the literature, there is an enormous number of scheduling strategies, such as MinMin algorithm, MaxMin algorithm and Round robin algorithm. In this work, we are introducing a platform, in which it is possible to select between multiple scheduling strategies to run simulation scenarios in cloud computing environ- ments. The platform will serve mainly simulations to avoid having a real data center. The simulation environment selected is the Workflowsim-DVFS simulator. This simulator is an improved version of the original Workflowsim simulator as it takes energy consumption into account while performing simulations. The proposed platform could be used by researchers as a tool for testing procedures when running a wide range of experiments. 3 Resumen La computación en la nube es un tema en evolución en la última década. Las nubes funcionan como infraestructuras para almacenar y acceder a datos. La programación en la nube se utiliza para mapear los requisitos de las tareas de acuerdo con la disponibilidad de recursos. Se realizaron extensas investigaciones para desarrollar metodologías para la programación. En general, el objetivo es optimizar un objetivo específico como el tiempo, el costo, la energía y la calidad del servicio. En la literatura, hay una enorme cantidad de estrategias de programación, como el algoritmo MinMin, el algoritmo MaxMin y el algoritmo Round Robin. En este trabajo, presentamos una plataforma en la que es posible seleccionar entre múltiples estrategias de programación para ejecutar escenarios de simulación en entornos de computación en la nube. La plataforma servirá principalmente simulaciones para evitar tener un centro de datos real. El entorno de simulación seleccionado es el simulador Workflowsim-DVFS. Este simulador es una versión mejorada del simulador original de Workflowsim, ya que tiene en cuenta el consumo de energía al realizar simulaciones. La plataforma propuesta podría ser utilizada por los investigadores como una herramienta para probar procedimientos al ejecutar una amplia gama de experimentos. 4 Objetivos Este trabajo tiene como objetivo implementar una plataforma que permita la selección de diferentes estrategias de programación en la computación en la nube para realizar escenarios de simulación. El usuario podrá seleccionar múltiples opciones para establecer diferentes parámetros. La lista de los diversos objetivos detrás de este trabajo se enumeran a continuación: • Desarrollo de una interfaz de usuario amigable para programar estrategias en la computación en la nube. La interfaz proporcionará múltiples opciones entre las cuales el usuario puede seleccionar los diferentes parámetros. • Permitir al usuario realizar simulaciones de programación. Esto será ben- eficioso cuando intente realizar escenarios de prueba, como un conjunto de cargas de trabajo y un conjunto de estrategias de programación, y el objetivo es analizar el rendimiento y ver el comportamiento de las diversas estrategias. • Obtenga resultados de rendimiento más precisos al tener la posibilidad de selección de múltiples parámetros. Esto se refiere al hecho de que la plataforma admitirá una amplia gama de parámetros. Esto incluye múlti- ples archivos de entrada, algoritmos de programación, configuración de la máquina de simulación ... etc. • Inicie una versión de código abierto de la plataforma para que otros la utilicen y agradezca las contribuciones para ampliar su escala y mejorar su rendimiento. • Contribuya al campo de la investigación de computación en la nube al pro- porcionar una herramienta poderosa que pueda apoyar otras investigaciones en técnicas de programación. 5 Conclusiones Este trabajo introdujo el desarrollo de una plataforma web que podría usarse para ejecutar simulaciones de programación en entornos de computación en la nube. La plataforma propuesta tiene como objetivo proporcionar un entorno realizar escenarios de prueba donde es posible seleccionar un conjunto de cargas de trabajo y un conjunto de estrategias de programación, y el objetivo es analizar el rendimiento y ver el comportamiento de las diversas estrategias. Comenzamos presentando, en el capítulo3, los diversos conceptos relacionados con nuestro trabajo, desde la computación en la nube y las metodologías de programación hasta la lógica difusa y los enfoques de aprendizaje. También pro- porcionamos una descripción general del entorno de simulación que utilizamos, así como los diferentes lenguajes de programación y plataformas de virtualización que necesitábamos. Luego, proporcionamos una explicación detallada del procedimiento que seguimos para el desarrollo de la plataforma propuesta en el capítulo4. Terminamos el capítulo presentando el método que seguimos para integrar las aplicaciones de Big Data para que la plataforma las admita. En el capítulo5, mostramos las configuraciones que establecimos para nuestros experimentos para probar la plataforma. Proporcionamos, en una explicación paso a paso, tres escenarios de simulación que podrían ser atendidos por la plataforma. Terminamos el capítulo con una discusión sobre cómo la plataforma podría ser beneficiosa para realizar análisis y comparaciones de los resultados de las simulaciones. Para concluir, desarrollamos la plataforma web propuesta, sin embargo, estableci- mos en la siguiente sección algunos objetivos futuros que podrían hacerse para mejorar aún más la plataforma, y también agradecemos cualquier contribución de otros investigadores a este trabajo. 6 Contents List of Figures 10 List of Tables 12 1 INTRODUCTION 13 2 OBJECTIVES 14 3 ANTECEDENTS 15 3.1 Cloud computing 15 3.1.1 Cloud computing types 15 3.2 Cloud scheduling 16 3.2.1 Scheduling algorithms 17 3.3 Fuzzy logic 18 3.4 Knowledge acquisition systems 20 3.4.1 Genetic Fuzzy systems 21 3.4.1.1 Pittsburgh approach 22 3.4.2 Particle Swarm Optimization Fuzzy systems 23 3.4.2.1 KASIA approach 24 3.5 Simulation environment: WorkflowSim with DVFS 26 3.5.1 WorkflowSim 26 3.5.2 Power model 27 3.5.3 DVFS 29 3.5.4 WorkflowSim-DVFS operation 29 3.5.5 Fuzzy schedulers 31 3.6 Programming languages, databases and virtualization platforms 33 3.6.1 NodeJS 33 3.6.2 Python 34 3.6.3 Java 35 3.6.4 MySQL 36 7 3.6.5 Docker Containers 37 3.7 Big Data 38 4 METHODOLOGY 41 4.1 Framework overview 41 4.2 Platform development 42 4.2.1 Conceptual model 42 4.2.1.1 Layered architecture 42 4.2.1.2 Layers communication 43 4.2.1.3 Main building blocks 45 4.2.2 User interface layer 49 4.2.2.1 UI design 49 4.2.2.2 UI development 56 4.2.3 Operational layer 65 4.2.3.1 Operations program implementation 65 4.2.3.2 Scheduling simulator modifications 71 4.2.4 Infrastructure layer 73 4.2.4.1 Dockerization 73 4.2.4.2 Cluster managers 74 4.3 Big Data integration 75 4.3.1 Integration method 75 4.3.2 Integration issues 76 5 RESULTS AND DISCUSSION 77 5.1 Simulation scenarios 77 5.1.1 Configurations 77 5.1.1.1 Infrastructure configuration 77 5.1.1.2 Database configuration 78 5.1.1.3 Knowledge acquisition algorithm configuration 78 5.1.1.4 Ports set up 81 5.1.2 Simulation scenario 1 82 5.1.3 Simulation scenario 2 85 5.1.4 Simulation scenario 3 88 8 5.2 Discussion 90 6 CONCLUSION AND FUTURE GOALS 93 6.1 Conclusions 93 6.2 Future goals 94 Bibliography 95 9 List of Figures 3.1 Operation of a fuzzy rule based system FRBS 20 3.2 Genetic fuzzy systems 21 3.3 WorkflowSim Overview. 27 3.4 Montage workflow with 25 jobs 28 3.5 Docker structure 37 3.6 Virtual Machine structure 38 3.7 Layers of resource management in Big Data cluster 40 4.1 Layered architecture of the platform 43 4.2 Interaction between layers 44 4.3 Tree graph for building blocks components of the platform 46 4.4 PowerAwareFuzzySeq Procedure 47 4.5 Checking the scheduling strategy and simulation type 47 4.6 Main window of the user interface 49 4.7 Input window 50 4.8 Schedule window 51 4.9 Data Center window 52 4.10 Virtualization window 53 4.11 Simulation window, basic view 54 4.12 Simulation window, training view 55 4.13 Convert EJS into HTML 57 4.14 Different HTML files of

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    102 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us