CloudSim: Un Marco para el Modelado y la Simulación de Infraestructuras y Servicios de Computación en la Nube

Introducción

Recientemente, la computación en la nube surgió como la tecnología líder para ofrecer servicios de computación confiables, seguros, tolerantes a fallos, sostenibles y escalables, que se presentan como servicios de Software, Infraestructura o Plataforma (SaaS, IaaS, PaaS). Además, estos servicios pueden ofrecerse en centros de datos privados (nubes privadas), pueden ofrecerse comercialmente para clientes (nubes públicas) o, sin embargo, es posible que tanto las nubes públicas como las privadas se combinen en nubes híbridas.

Estos ya amplios ecosistemas de arquitecturas en la nube, junto con la creciente demanda de tecnologías de TI de bajo consumo energético, exigen metodologías oportunas,repetibles y controlables para la evaluación de algoritmos, aplicaciones y políticas antes del desarrollo real de productos en la nube.Debido a que la utilización de bancos de pruebas reales limita los experimentos a la escala del banco de pruebas y hace que la reproducción de los resultados sea una tarea extremadamente difícil, los enfoques alternativos para las pruebas y la experimentación potencian el desarrollo de nuevas tecnologías en la nube.

Una alternativa adecuada es la utilización de herramientas de simulación, que abren la posibilidad de evaluar la hipótesis antes del desarrollo de software en un entorno donde se pueden reproducir pruebas. Específicamente en el caso de la computación en la nube, donde el acceso a la infraestructura implica pagos en moneda real, los enfoques basados en simulación ofrecen beneficios significativos, ya que permiten a los clientes de la nube probar sus servicios en un entorno repetible y controlable sin costo, y ajustar los cuellos de botella de rendimiento antes de implementarlos en nubes reales. En el lado del proveedor, los entornos de simulación permiten evaluar diferentes tipos de escenarios de arrendamiento de recursos bajo diferentes distribuciones de carga y precios. Esos estudios podrían ayudar a los proveedores a optimizar el costo del acceso a los recursos, centrándose en la mejora de los beneficios. En ausencia de tales plataformas de simulación, los clientes y proveedores de la nube tienen que confiar en evaluaciones teóricas e imprecisas, o en enfoques de prueba y error que conducen a un rendimiento de servicio y generación de ingresos ineficientes.

El objetivo principal de este proyecto es proporcionar un marco de simulación generalizado y extensible que permita el modelado, la simulación y la experimentación sin fisuras de infraestructuras emergentes de computación en la nube y servicios de aplicaciones. Al utilizar CloudSim, los investigadores y los desarrolladores de la industria pueden centrarse en problemas específicos de diseño de sistemas que desean investigar, sin preocuparse por los detalles de bajo nivel relacionados con las infraestructuras y los servicios basados en la nube.

Características principales

Descripción general de las funcionalidades de CloudSim:

  • soporte para modelado y simulación de centros de datos de computación en la nube a gran escala
  • soporte para modelado y simulación de hosts de servidor virtualizados, con políticas personalizables para aprovisionar recursos de host a máquinas virtuales
  • soporte para modelado y simulación de contenedores de aplicaciones
  • soporte para modelado y simulación de recursos computacionales conscientes de la energía
  • soporte para modelado y simulación de centros de datos topologías de red y aplicaciones de paso de mensajes
  • soporte para modelado y simulación de federados nubes
  • soporte para inserción dinámica de elementos de simulación, detención y reanudación de la simulación
  • soporte para directivas definidas por el usuario para la asignación de hosts a máquinas virtuales y directivas para la asignación de recursos de hosts a máquinas virtuales

Documentación

  • Un curso en línea sobre CloudSim, que incluye videos, desarrollado por Anupinder Singh de la India.
  • Ejemplos
  • Notas de la versión
  • Instalación y ejecución de CloudSim (README)
  • Registro de cambios
  • Contenedores en CloudSim

Descargar

El paquete CloudSim que contiene el código fuente, ejemplos, jars y documentación APID puede descargarse desde la página web de CloudSim en GitHub:

https://github.com/Cloudslab/cloudsim/releases

Código del artículo: Tom Guerout, Thierry Monteil, Georges Da Costa, Rodrigo N. Calheiros, Rajkumar Buyya, Mihai Alexandru. Simulación energéticamente consciente con DVFS.Simulation Modelling Practice and Theory, Volumen 39, páginas 76-91, diciembre de 2013.

CloudSim_DVFS.rar

Grupo de discusión (lista de correo)

iFogSim

iFogSim permite el modelado y la simulación de entornos de computación en niebla para la evaluación de políticas de gestión y programación de recursos en recursos de borde y nube en diferentes escenarios. El simulador apoya la evaluación de las políticas de gestión de recursos centrándose en su impacto en la latencia (puntualidad), el consumo de energía,la congestión de la red y los costes operativos. Simula dispositivos perimetrales, centros de datos en la nube y enlaces de red para medir métricas de rendimiento. El principal modelo de aplicación soportado por iFogSim es el modelo de accionamiento de proceso de sentido. En estos modelos, los sensores publican datos en redes IoT, las aplicaciones que se ejecutan en dispositivos de niebla se suscriben y procesan datos procedentes de sensores y, finalmente, los conocimientos obtenidos se traducen a acciones enviadas a actuadores.

Descargue iFogSim aquí. Puede encontrar más información en nuestro documento de SPE.

CloudSimEx

El objetivo del proyecto CloudSimEx es desarrollar un conjunto de extensiones para el simulador CloudSim. Las extensiones que demuestren ser dignas se fusionarán con CloudSim más adelante.

Nota! El equipo de CloudSim no admite oficialmente estas extensiones hasta que se integren con CloudSim.

Actualmente características de CloudSimEx:

  1. Modelado de sesiones web;
  2. Mejores utilidades de registro;
  3. Utilidades para generar archivos CSV para análisis estadístico;
  4. Generación automática de id;
  5. Utilidades para ejecutar múltiples experimentos en paralelo;
  6. Simulación MapReduce.

EdgeCloudSim

EdgeCloudSim proporciona un entorno de simulación específico para escenarios de computación perimetral en los que es posible realizar experimentos que tengan en cuenta tanto los recursos computacionales como de red. EdgeCloudSim se basa en CloudSim, pero agrega algunas funcionalidades adicionales, como el modelado de red específico para WLAN y WAN, el modelo de movilidad de dispositivos, el generador de carga realista y sintonizable.

EdgeCloudSim ha sido desarrollado por Cagatay Sonmez y el equipo del NETLAB (Laboratorio de Investigación de Redes Informáticas) del Departamento de Ingeniería Informática de la Universidad Bogazici, Estambul, Turquía.

Descarga y puedes encontrar más información en el GitHub del proyecto.

Automatización CloudSim: Especificación de escenarios legibles por humanos para la creación automática de Simulaciones en CloudSim

CloudSim Automation es una herramienta de línea de comandos Java basada en clases CloudSimand CloudReports que es capaz de leer especificaciones de escenarios de simulación Cloudsim desde un archivo YAML, un formato de datos legible por humanos. Los escenarios de simulación se pueden escribir dentro de un archivo YAML y la herramienta de automatización en la nube lee estos escenarios de simulación, los crea y los ejecuta en CloudSim.

La herramienta libera a los investigadores de la necesidad de escribir código Java solo para ejecutar escenarios de simulación. De esta manera, la atención se puede centrar en el problema a resolver, como la creación de nuevos algoritmos para equilibrar la carga, nuevas políticas de programación de máquinas virtuales, colocación de máquinas virtuales, aprovisionamiento de recursos, predicción de cargas de trabajo,consolidación de servidores, eficiencia energética, reducción de costos, etc.

Las principales contribuciones de este trabajo son:

  1. para evitar la programación en la creación de entornos de simulación CloudSim;
  2. para reducir la curva de aprendizaje en la creación de escenarios de simulación CloudSim;
  3. para facilitar y automatizar la creación de entornos de simulación CloudSim;
  4. para utilizar un formato de archivo legible por humanos para especificar escenarios de simulación en la nube y acelerar dicha fase de proceso de simulación;
  5. para permitir la reutilización, extensión y uso compartido de escenarios de simulación.

El código se puede descargar desde GitHub. Para más información, póngase en contacto con el Dr. Manoel Campos DaSilva Filho.

WorkflowSim

WorkflowSim amplía el kit de herramientas de simulación CloudSim introduciendo el soporte de preparación y ejecución de flujos de trabajo con una implementación de una pila de analizador de flujo de trabajo, motor de flujo de trabajo y programador de trabajos. Soporta un modelo de múltiples capas de fallas y retrasos que ocurren en los diversos niveles de los sistemas de gestión de flujo de trabajo. En WorkflowSim se han implementado una serie de algoritmos populares de programación de flujos de trabajo (por ejemplo,HEFT, Min-Min y Max-Min) y algoritmos de agrupación de tareas. Los parámetros se aprenden directamente de rastros de ejecuciones reales que fueron ejecutadas por sistemas de gestión de flujos de trabajo como Pegasus.WorkflowSim ha sido desarrollado por Weiwei Chen y el equipo de la Universidad de SouthernCalifornia, EE.

Puede descargar y encontrar más información en el Github del proyecto.

Cloud2Sim

Cloud2Sim propone una arquitectura concurrente distribuida para simulaciones de Ocloudsim. Aprovechando la cuadrícula de datos en memoria de Hazelcast, CloudSim se amplía para que varias instancias ejecuten las cargas de trabajo de Cloudlety VM desde varios nodos y las envíen al explorador de Datacenter, mientras ejecutan los segmentos de simulación principales que no se pueden distribuir desde la instancia maestra de Cloud2Sim. Además, se diseña e implementa una arquitectura adaptativa para escalar de forma elástica los recursos disponibles para la simulación, con un subproceso de supervisión de Cloud2simmon que se ejecuta en un clúster Hazelcast separado. Cloud2Simwork fue desarrollado por Pradeeban Kathiravelu y Luis Veiga, atINESC-ID Lisboa, Universidade de Lisboa, Portugal.

Puede descargar y encontrar más información en la página de Sourceforge del proyecto.

SimpleWorkflow

Este es un paquete simple que contiene clases que ayudan a simular flujos de trabajo en CloudSim. Esto no es tan completo como WorkflowSim, perotiltiliza los mismos archivos de descripción de carga de trabajo que WorkflowSim.

Descargue SimpleWorkflow aquí.

DynamicCloudSim

La inestabilidad del rendimiento que se encuentra comúnmente en infraestructuras no uniformes y compartidas, como las nubes computacionales, se ha observado repetidamente para influir en gran medida en el tiempo de ejecución de las aplicaciones. DynamicCloudSim amplía el kit de herramientas de simulación CloudSim introduciendo modelos para (1)heterogeneidad en el rendimiento de los recursos computacionales, (2) incertidumbre y cambios dinámicos en el rendimiento de las máquinas virtuales,y (3) máquinas rezagadas y fallos durante la ejecución de tareas.

Además, DynamicCloudSim introduce una representación detallada de los recursos computacionales, lo que permite la simulación de la ejecución de diferentes tipos de aplicaciones (CPU, E/S, enlazadas a la comunicación) en máquinas con diferentes características de rendimiento. Como punto de entrada para la investigación sobre la programación de flujos de trabajo, DynamicCloudSim proporciona la funcionalidad para simular la ejecución de flujos de trabajo científicos utilizando diferentes programadores bien establecidos.

DynamicCloudSim ha sido desarrollado por Marc Bux en la Universidad Humboldt de Berlín, Alemania. La descarga está disponible en el sitio web del proyecto en Google Code. Para preguntas y sugerencias, póngase en contacto con bux (at) informatik.hu-berlin.de.

RealCloudSim

RealCloudSim es un simulador de asignaciones de máquinas virtuales basado en el motor principal del proyecto CloudSim. RealCloudSim proporciona una interfaz gráfica para leer topologías de red basadas en el formato BRITE. RealCloudSim también utiliza su propio motor para simular asignaciones basadas en Algoritmos Genéticos, Programación de enteros mixtos con software Lingo y simulaciones de red basadas en NS2 (NetworkSimulator 2). Se genera un informe completo al final de cada simulación.

RealCloudSim ha sido desarrollado por Lucio Agostinho Rocha y el equipo de la Universidad Estatal de Campinas, Brasil.

Las dudas y sugerencias pueden enviarse por correo electrónico aoutrosdiasvirao a yahoo dot com dot br. Puede descargar y encontrar más información en la página del proyecto en SourceForge.

CloudReports

CloudReports es una herramienta gráfica que simula entornos de computación distribuidos basados en el paradigma de computación en la nube. Utiliza CloudSim como motor de simulación y proporciona una interfaz de usuario fácil de usar, características de generación de informes y creación de extensiones de forma de complemento.

CloudReports ha sido desarrollado por Thiago Sa y el equipo de la Universidad Federal de Ceara, Brasil.

Descarga y puedes encontrar más información en el github del proyecto.

CloudAuction

Esto funciona al ampliar Cloudsim mediante el desarrollo de una biblioteca de paquetes que habilita Sloudsim para gestionar servicios basados en subastas. El objetivo principal de esta investigación esaplicar mecanismos basados en subastas en Cloudsim. Para probar la biblioteca de paquetes,se implantó un nuevo mecanismo de mercado para asignar eficazmente los servicios a los participantes basado en el principio de doble subasta combinatoria. El mecanismo tiene en cuenta los atributos pertinentes aplicables en los entornos de computación en nube para beneficio y satisfacción tanto de los usuarios como de los proveedores. En esta biblioteca de paquetes, la administración se basa en el costo de los MIPS de la CPU y las características restantes(ancho de banda, tamaño de RAM, etc.).) se consideran en el lado de la máquina virtual si coinciden con la solicitud.

CloudAuction ha sido desarrollado por Youtess Teimoury (QIAU) y Parnia Samimi (UKM).

Descargar: CloudAuctionV2.0.zip (lanzado el 25 de marzo de 2013).

CloudMIG Xpress

CloudMIG Xpress facilita las fases de comparación y planificación relativas a la migración de sistemas de software a entornos Cloud basados en PaaS o IaaS. Los modelos de código se pueden extraer del software basado en Java para(1) modelar la implementación actual del sistema y aumentarla con un perfil de carga de trabajo actual, (2) comparar las compensaciones que se deben realizar para diferentes opciones de implementación en la nube, y (3) transformar automáticamente el modelo del sistema en un modelo CloudSim para permitir la simulación integrada de varias opciones de implementación en la nube con respecto a costos futuros, tiempos de respuesta e infracciones de SLA.

CloudMIG Xpress ha sido desarrollado por Soren Frey, Florian Fittkau y el equipo del Grupo de Ingeniería de Software, Universidad de Kiel, Kiel, Alemania.

Descargar y más información: Proyecto en Sourceforge.

FederatedCloudSim

FederatedCloudSim (FCS) es una extensión versátil y flexible del marco CloudSim. Permite una multitud de experimentos de federación en la nube. FCS admite SLA y ofrece un enfoque de programación de tres niveles para máquinas virtuales (en centros de datos, entre centros de datos del mismo proveedor de servicios en la nube (CSP) y entre CSP de una federación). FCS también ofrece un modelo financiero flexible para analizar el impacto de diferentes estrategias de programación en los ingresos y beneficios de CSP y una plataforma de subasta para el intercambio de máquinas virtuales.

FederatedCloudSim ha sido desarrollado por investigadores de la Universidad Técnica de Dortmund, Alemania. Para obtener más información, visite el sitio web FederatedCloudSim.

CloudAnalyst

Cloud Analyst es una herramienta desarrollada en la Universidad de Melbourne cuyo objetivo es apoyar la evaluación de herramientas de redes sociales de acuerdo con la distribución geográfica de usuarios y centros de datos. En esta herramienta,se caracterizan las comunidades de usuarios y los centros de datos que soportan las redes sociales y, en función de su ubicación, se obtienen/registran parámetros como la experiencia de usuario durante el uso de la aplicación de red social y la carga en el centro de datos.

Descargar: CloudAnalyst.zip (lanzado el 26 de noviembre de 2009).

Miembros del Equipo del Proyecto

Miembros Activos:

  • Rajkumar Buyya
  • Sara Kardani Moghaddam
  • Shashikant Ilager
  • TianZhang Él
  • Amanda Jayanetti

Ex Miembros y Colaboradores:

  • Rodrigo N. Calheiros
  • Rajiv Ranjan
  • Anton Beloglazov
  • Nikolay Grozev
  • Saurabh Garg
  • Sareh Fotuhi Piraghaj
  • Marcos Dias de Assuncao
  • Bhathiya Wickremasinghe
  • Jungmin Jay Son

Licencia de software

El software Cloudsim Toolkit se lanza como Código abierto bajo la licencia Apache Versión 2.0.
Copyright The CLOUDS Lab, La Universidad de Melbourne, 2009 – hasta la fecha.

Publicaciones

  • Jungmin Son y Rajkumar Buyya, CloudSimSDN-NFV: Modelado y Simulación de Virtualización de Funciones de Red y Encadenamiento de Funciones de Servicio en Entornos de Computación Perimetral, SPE (en revisión).
  • Jungmin Son y Rajkumar Buyya, Asignación de VM con reconocimiento prioritario y Aprovisionamiento de Ancho de banda de Red en nubes habilitadas para Redes definidas por Software (SDN), IEEE Transactions on Sustainable Computing (T-SUSC), Volumen 4, Número 1, Páginas: 17-28, ISSN: 2377-3782, IEEE Computer Society Press, EE.UU., enero-marzo de 2019.
  • Sareh Fotuhi Piraghaj, Amir Vahid Dastjerdi, Rodrigo N. Calheiros, y Rajkumar Buyya, ContainerCloudSim: Un Entorno para el Modelado y la Simulación de Contenedores en Centros de Datos en la Nube, Software: Práctica y Experiencia, Volumen 47, Número 4, Páginas: 505-521, ISSN: 0038-0644, Wiley Press, Nueva York, EE.UU., abril de 2017.
  • Saurabh Kumar Garg y Rajkumar Buyya, NetworkCloudSim: Modelling Parallel Applications in Cloud Simulations,Actas de la 4a Conferencia Internacional de IEEE/ACM sobre Utilidades y Computación en la nube (UCC 2011, IEEE CS Press, EE. UU.), Melbourne, Australia,5-7 de diciembre de 2011.
  • Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov, Cesar A. F. DeRose, y Rajkumar Buyya, CloudSim: A Toolkit for Modeling andSimulation of Cloud Computing Environments and Evaluation of Resourceceprovisioning Algorithms, Software: Practice and Experience (SPE), Volumen 41, Número 1, Páginas: 23-50, ISSN: 0038-0644, Wiley Press, Nueva York, EE.UU., enero de 2011.
  • Bhathiya Wickremasinghe, Rodrigo N. Calheiros, Rajkumar Buyya, CloudAnalyst: Un Modelador Visual basado en CloudSim para Analizar Entornos y Aplicaciones de Computación en la nube, Actas de la 24a Conferencia Internacional sobre Redes y Aplicaciones de Información Avanzadas (AINA 2010), Perth, Australia, 20 a 23 de abril de 2010.
  • Rajkumar Buyya, Rajiv Ranjan y Rodrigo N. Calheiros, Modeling and Simulation of Scalable Cloud Computing Environments and the CloudSim Toolkit: Challenges and Opportunities, Proceedings of the 7th High Performance Computing and Simulation Conference (HPCS 2009, ISBN: 978-1-4244-4907-1, IEEE Press, Nueva York, EE.UU.), Leipzig, Alemania, 21-24 de junio de 2009.

Algunas publicaciones que utilizan resultados de CloudSim

  • Anton Beloglazov y Rajkumar Buyya, Algoritmos Determinísticos Óptimos en Línea y Adaptación para la Consolidación Dinámica Eficiente de la Energía y el Rendimiento de Máquinas Virtuales en Centros de Datos en la Nube, Concurrencia y Computación: Práctica y Experiencia, Volumen 24, Número 13, Páginas: 1397-1420, John Wiley& Sons, Ltd, Nueva York, EE.UU., 2012
  • Rodrigo Calheiros, Rajiv Ranjan y Rajkumar Buyya, Suministro de Máquinas Virtuales Basado en el Rendimiento Analítico y la calidad de servicio en Entornos de Computación en la Nube, Actas de la 40a Conferencia Internacional sobre Procesamiento Paralelo (ICPP 2011), Taipei, Taiwán, 13-16 de septiembre de 2011.
  • Linlin Wu, Saurabh Kumar Garg y Rajkumar Buyya, Asignación de Recursos basada en SLA para un Software como Proveedor de Servicios en Entornos de Computación en la Nube, Actas del 11o Simposio Internacional IEEE / ACM sobre Computación en Clúster, Nube y Red (CCGrid 2011), Los Ángeles, EE.UU., 23-26 de mayo de 2011.
  • Adel Nadjaran Toosi, Rodrigo N. Calheiros, Ruppa K. Thulasiran, Rajkumar Buyya, Políticas de Aprovisionamiento de Recursos para Aumentar las Ganancias de los Proveedores de IaaS en un Entorno de Nube Federada, Actas de la 13a Conferencia Internacional sobre Alto Rendimiento y Comunicaciones (HPCC 2011), Banff, Canadá, 2-4 de septiembre de 2011.
  • Anton Beloglazov y Rajkumar Buyya, Asignación Eficiente de Energía de Máquinas Virtuales en Centros de datos en la Nube. Proceedings of the 10th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid 2010), Melbourne, Australia, 17-20 de mayo de 2010.
  • Rodrigo N. Calheiros, Rajkumar Buyya, Cesar A. F. De Rose, Banco de pruebas de emulación auto configurable y anautomático de construcción para aplicaciones de rejilla.International Journal of Software: Practice and Experience, Volumen 40, Número 5, Páginas: 405-429, Wiley Press, Estados Unidos, abril de 2010.
  • Kyong Hoon Kim, Anton Beloglazov y Rajkumar Buyya, Aprovisionamiento de energía de recursos en la Nube para Servicios en tiempo real. Proceedings of the 7th International Workshop on Middleware for Grids, Clouds and e-Science, Urbana Champaign, Illinois, USA: ACM, 2009.
  • Rodrigo N. Calheiros, Rajkumar Buyya, Cesar A. F. De Rose, AHeuristic for Mapping Virtual Machines and Links in Emulation Testbeds, Proceedings of the 38th International Conference on Parallel Processing(ICPP 2009), Viena, Austria, 22 a 25 de septiembre de 2009.
  • Para obtener la lista más reciente, consulte Referencias de documentos / uso de CloudSim según Google Scholar

Deja una respuesta

Tu dirección de correo electrónico no será publicada.