CloudSim: Un cadre de Modélisation et de Simulation d’Infrastructures et de Services de Cloud Computing

Introduction

Récemment, le cloud Computing est apparu comme la technologie de pointe pour fournir des services de calcul fiables, sécurisés, tolérants aux pannes, durables et évolutifs, présentés sous forme de Logiciels, d’Infrastructures ou d’asservices de plates-formes (SaaS, IaaS, PaaS). De plus, ces services peuvent être offerts dans des centres de données privés (clouds privés), peuvent être offerts commercialement pour des clients (clouds publics), ou encore il est possible que les nuages publics et privés soient combinés dans des clouds hybrides.

Ce vaste écosystème d’architectures cloud, associé à la demande croissante de technologies informatiques écoénergétiques, exige des méthodologies opportunes, reproductibles et contrôlables pour l’évaluation des algorithmes, des applications et des politiques avant le développement réel de produits cloud.Parce que l’utilisation de bancs d’essai réels limite les expériences à l’échelle du banc d’essai et rend la reproduction des résultats extrêmement difficile, des approches alternatives de test et d’expérimentation tirent parti du développement de nouvelles technologies Cloud.

Une alternative appropriée est l’utilisation d’outils de simulation, qui ouvrent la possibilité d’évaluer l’hypothèse avant le développement logiciel dans un environnement où l’on peut reproduire des tests. Plus précisément dans le cas du Cloud computing, où l’accès à l’infrastructure entraîne des paiements en monnaie réelle, les approches basées sur la simulation offrent des avantages significatifs, car elles permettent aux clients du Cloud de tester gratuitement leurs services dans un environnement répétable et contrôlable, et d’ajuster les goulots d’étranglement de performance avant de les déployer sur des Clouds réels. Du côté des fournisseurs, les environnements de simulation permettent d’évaluer différents types de scénarios de location de ressources sous différentes distributions de charge et de prix. De telles études pourraient aider les fournisseurs à optimiser le coût d’accès aux ressources en mettant l’accent sur l’amélioration des bénéfices. En l’absence de telles plates-formes de simulation, les clients et les fournisseurs du Cloud doivent s’appuyer soit sur des évaluations théoriques et imprécises, soit sur des approches d’essais et d’erreurs qui conduisent à des performances de service inefficaces et à la génération de revenus.

L’objectif principal de ce projet est de fournir un cadre de simulation généralisé et extensible qui permet une modélisation, une simulation et une expérimentation transparentes des infrastructures de Cloud computing émergentes et des services applicatifs. En utilisant CloudSim, les chercheurs et les développeurs industriels peuvent se concentrer sur des problèmes de conception de systèmes spécifiques qu’ils souhaitent étudier, sans se soucier des détails de bas niveau liés aux infrastructures et services basés sur le Cloud.

Caractéristiques principales

Aperçu des fonctionnalités de CloudSim:

  • prise en charge de la modélisation et de la simulation de centres de données de Cloud computing à grande échelle
  • prise en charge de la modélisation et de la simulation d’hôtes de serveurs virtualisés, avec des stratégies personnalisables pour le provisionnement des ressources d’hôtes aux machines virtuelles
  • prise en charge de la modélisation et de la simulation de conteneurs d’applications
  • prise en charge de la modélisation et de la simulation de ressources de calcul sensibles à l’énergie
  • prise en charge de la modélisation et de la simulation de ressources de calcul sensibles à l’énergie
  • prise en charge de la modélisation et de la simulation de ressources de calcul sensibles à l’énergie
  • prise en charge de la modélisation et de la simulation de ressources de calcul sensibles à l’énergie
    • topologies de réseaux de centres de données et applications de transmission de messages
    • prise en charge de la modélisation et de la simulation de systèmes fédérés clouds
    • prise en charge de l’insertion dynamique d’éléments de simulation, de l’arrêt et de la reprise de la simulation
    • prise en charge des stratégies définies par l’utilisateur pour l’allocation des hôtes aux machines virtuelles et des stratégies pour l’allocation des ressources hôtes aux machines virtuelles

    Documentation

    • Un cours en ligne sur CloudSim, qui comprend des vidéos, développé par Anupinder Singh de l’Inde.
    • Exemples
    • Notes de version
    • Installation et exécution de CloudSim (README)
    • Journal des modifications
    • Conteneurs dans CloudSim

    Télécharger

    Le package CloudSim contenant le code source, les exemples, les fichiers jar et l’APIdocumentation peut être téléchargé à partir de la page Web CloudSim sur GitHub:

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

    Code du journal : Tom Guerout, Thierry Monteil, Georges Da Costa, Rodrigo N. Calheiros, Rajkumar Buyya, Mihai Alexandru. Simulation énergétique avec DVFS.Pratique et Théorie de la Modélisation par Simulation, Volume 39, pages 76-91, décembre 2013.

    CloudSim_DVFS.rar

    Groupe de discussion (liste de diffusion)

    iFogSim

    iFogSim permet la modélisation et la simulation d’environnements de calcul de brouillard pour l’évaluation de la gestion des ressources et des politiques de planification à travers les ressources edge et cloud dans différents scénarios. Le simulateur prend en charge l’évaluation des politiques de gestion des ressources en se concentrant sur leur impact sur la latence (rapidité), la consommation d’énergie, la congestion du réseau et les coûts opérationnels. Il simule les périphériques périphériques, les centres de données cloud et les liens réseau pour mesurer les mesures de performance. Le principal modèle d’application pris en charge par iFogSim est le modèle Sens-Processus-Actionnement. Dans de tels modèles, les capteurs publient des données sur des réseaux IoT, les applications exécutées sur des dispositifs de brouillard s’abonnent et traitent des données provenant de capteurs, et enfin les informations obtenues sont traduites en actions transmises aux actionneurs.

    Téléchargez iFogSim ici. Plus d’informations peuvent être trouvées dans notre article SPE.

    CloudSimEx

    L’objectif du projet CloudSimEx est de développer un ensemble d’extensions pour le simulateur CloudSim. Les extensions qui s’avèrent dignes serontêtre fusionnées avec CloudSim plus tard.

    Remarque! Ces extensions ne sont pas officiellement prises en charge par l’équipe CloudSim tant qu’elles ne sont pas intégrées à CloudSim.

    Fonctionnalités actuelles de CloudSimEx:

    1. Modélisation de session Web;
    2. Meilleurs utilitaires de journalisation;
    3. Utilitaires pour générer des fichiers CSV pour l’analyse statistique;
    4. Génération automatique d’ID;
    5. Utilitaires pour exécuter plusieurs expériences en parallèle ;
    6. Simulation MapReduce.

    EdgeCloudSim

    EdgeCloudSim fournit un environnement de simulation spécifique aux scénarios de calcul de périphérie où il est possible de mener des expériences qui prennent en compte à la fois les ressources de calcul et les ressources de réseau. EdgeCloudSim est basé sur CloudSim mais ajoute des fonctionnalités supplémentaires telles que la modélisation de réseau spécifique au WLAN et au WAN, le modèle de mobilité des appareils, le générateur de charge réaliste et accordable.

    EdgeCloudSim a été développé par Cagatay Sonmez et l’équipe du NETLAB (Laboratoire de Recherche sur les Réseaux Informatiques) du Département de Génie Informatique de l’Université Bogazici, Istanbul, Turquie.

    Télécharger et plus d’informations peuvent être trouvées dans le GitHub du projet.

    Automatisation CloudSim: Spécification de Scénario lisible par l’homme Pour la création automatique de Simulations sur CloudSim

    CloudSim Automation est un outil en ligne de commande Java basé sur les classes Cloudsim et CloudReports qui est capable de lire les spécifications des scénarios de simulation Cloudsim à partir d’un fichier YAML, un format de données lisible très humain. Les scénarios de simulation peuvent être écrits dans un fichier YAML et un outil d’automatisation du Cloud lit ces scénarios de simulation, les crée et les exécute sur CloudSim.

    L’outil libère les chercheurs de la nécessité d’écrire du code Java juste pour exécuter des scénarios de simulation. De cette façon, l’attention peut être concentrée sur le problème à résoudre, tel que la création de nouveaux algorithmes pouréquilibrer la charge, de nouvelles politiques de planification de machines virtuelles, le placement de machines virtuelles, le provisionnement des ressources, la prévision de la charge de travail, la consolidation des serveurs, l’efficacité énergétique, la réduction des coûts, etc.

    Les principales contributions de ce travail sont:

    1. pour éviter la programmation sur la création d’environnements de simulation CloudSim ;
    2. pour réduire la courbe d’apprentissage sur la création de scénarios de simulation CloudSim;
    3. pour faciliter et automatiser l’environnement de simulation cloudsimcréation;
    4. pour utiliser un format de fichier lisible par l’homme pour spécifier des scénarios de simulation dans le cloud et accélérer une telle phase de processus de simulation ;
    5. pour permettre la réutilisation, l’extension et le partage de scénarios de simulation.

    Le code peut être téléchargé depuis GitHub. Pour plus d’informations, veuillez contacter le Dr Manoel Campos daSilva Filho.

    WorkflowSim

    WorkflowSim étend la boîte à outils de simulation CloudSim en introduisant la prise en charge de la préparation et de l’exécution des flux de travail avec une implémentation d’une pile d’analyseur de flux de travail, d’un moteur de flux de travail et d’un planificateur de tâches. Il prend en charge un modèle multi-couches de défaillances et de retards survenant dans les différents niveaux des systèmes de gestion de flux de travail. Une série d’algorithmes de planification de flux de travail populaires (par exemple, HEFT, Min-Min et Max-Min) et des algorithmes de regroupement de tâches ont été implémentés dans WorkflowSim. Les paramètres sont directement appris à partir de traces d’exécutions réelles qui ont été exécutées par des systèmes de gestion de flux de travail tels que Pegasus.WorkflowSim a été développé par Weiwei Chen et son équipe à l’Université de SouthernCalifornia, aux États-Unis.

    Télécharger et plus d’informations peuvent être trouvées dans le Github du projet.

    Cloud2Sim

    Cloud2Sim propose une architecture concurrente distribuée aux simulations de Cloud Sim. En exploitant la grille de données en mémoire Hazelcast, CloudSim est étendue pour que plusieurs instances exécutent les charges de travail Cloudletet VM à partir de plusieurs nœuds et les soumettent à theDatacenterBroker, tout en exécutant les segments de simulation de base qui ne peuvent pas être distribués à partir de l’instance Cloud2Sim principale. De plus, une architecture adaptative est conçue et implémentée pour mettre à l’échelle élastiquement les ressources mises à la disposition de la simulation, avec un thread Cloud2Simmonitoring s’exécutant sur un cluster Hazelcast séparé. Cloud2Simwork a été développé par Pradeeban Kathiravelu et Luis Veiga, atINESC-ID Lisboa, Universidade de Lisboa, Portugal.

    Téléchargez et plus d’informations sur la page Sourceforge du projet.

    SimpleWorkflow

    Il s’agit d’un package simple contenant des classes aidant à simuler des flux de travail sur CloudSim. Ce n’est pas aussi complet que WorkflowSim, mais il utilise les mêmes fichiers de description de charge de travail que WorkflowSim.

    Téléchargez SimpleWorkflow ici.

    DynamicCloudSim

    L’instabilité des performances couramment rencontrée dans des infrastructures non uniformes et partagées telles que les nuages de calcul a été observée à plusieurs reprises pour influencer fortement l’exécution des applications. DynamicCloudSim étend la boîte à outils de simulation CloudSim en introduisant des modèles pour (1) l’hétérogénéité des performances des ressources de calcul, (2) l’incertitude et les changements dynamiques des performances des machines virtuelles, et (3) les machines en retard et les échecs lors de l’exécution des tâches.

    De plus, DynamicCloudSim introduit une représentation fine des ressources de calcul, permettant ainsi la simulation de l’exécution de différents types d’applications (liées au processeur, aux E / S, à la communication) sur des machines avec des caractéristiques de performance différentes. En tant que point d’entrée pour la recherche sur la planification des flux de travail, DynamicCloudSim fournit la fonctionnalité permettant de simuler l’exécution de flux de travail scientifiques à l’aide de différents planificateurs bien établis.

    DynamicCloudSim a été développé par Marc Bux à l’Université Humboldt de Berlin, en Allemagne. Le téléchargement est disponible sur le site Web du projet sur Google Code. Pour toute question ou suggestion, veuillez contacter bux(at) informatik.hu-berlin.de .

    RealCloudSim

    RealCloudSim est un simulateur d’allocations de machines virtuelles basé sur le moteur principal du projet CloudSim. RealCloudSim fournit une interface graphiquepour lire les topologies de réseau basées sur le format BRITE. RealCloudSim utilise également son propre moteur pour simuler des allocations basées sur des Algorithmes génétiques, une programmation intégrale mixte avec le logiciel Lingo et des simulations de réseau basées sur le NS2 (NetworkSimulator 2). Un rapport complet est généré à la fin de chaque simulation.

    RealCloudSim a été développé par Lucio Agostinho Rocha et l’équipe de l’Université d’État de Campinas, au Brésil.

    Les doutes et les suggestions peuvent être envoyés par e-mail àoutrosdiasvirao à yahoo dot com dot br. Le téléchargement et plus d’informations peuvent être trouvés dans la page du projet sur SourceForge.

    CloudReports

    CloudReports est un outil graphique qui simule des environnements informatiques distribués basés sur le paradigme du Cloud Computing. Il utilise CloudSim comme moteur de simulation et fournit une interface utilisateur facile à utiliser, des fonctionnalités de génération de rapports et la création d’extensions à la manière d’un plugin.

    CloudReports a été développé par Thiago Sa et l’équipe de l’Université fédérale de Ceara, au Brésil.

    Télécharger et plus d’informations peuvent être trouvées dans le github du projet.

    CloudAuction

    Cela fonctionne étend Cloudsim en développant une bibliothèque de paquets qui permet Àcloudsim de gérer les services basés sur les enchères. L’objectif principal de cette recherche estimplémenter les mécanismes basés sur les enchères dans Cloudsim. Pour tester la bibliothèque de paquets, un nouveau mécanisme de marché permettant d’allouer efficacement les services aux participants sur la base du principe de la double enchère combinatoire a été implémenté. Le mécanisme tient compte des attributs pertinents applicables dans les environnements de Cloud computing au profit et à la satisfaction des utilisateurs et des fournisseurs. Dans cette bibliothèque de paquets, l’attribution est basée sur le coût des MIPS CPU et les caractéristiques restantes (bande passante, taille de la RAM, etc.) sont considérés du côté de la machine virtuelle s’ils correspondent à la demande.

    CloudAuction a été développé par Youness Teimoury (QIAU) et Parnia Samimi (UKM).

    Télécharger: CloudAuctionV2.0.zip (sortie le 25 mars 2013).

    CloudMIG Xpress

    CloudMIG Xpress facilite les phases de comparaison et de planification concernant la migration des systèmes logiciels vers des environnements Clouds basés sur PaaS ou IaaS. Les modèles de code peuvent être extraits d’un logiciel basé sur Java pour (1) modéliser le déploiement du système actuel et l’augmenter avec un profil de charge de travail actuel, (2) comparer les compromis à faire pour différentes options de déploiement dans le cloud et (3) transformer automatiquement le modèle du système en un modèle CloudSim pour permettre une simulation intégrée de diverses options de déploiement dans le cloud concernant les coûts futurs, les temps de réponse et les violations de SLA.

    CloudMIG Xpress a été développé par Soren Frey, Florian Fittkau et l’équipe du Groupe de génie logiciel, Université de Kiel, Kiel, Allemagne.

    Télécharger et plus d’informations: Projet sur Sourceforge.

    FederatedCloudSim

    FederatedCloudSim (FCS) est une extension polyvalente et flexible du framework CloudSim. Il permet une multitude d’expériences de fédération de nuages. FCS prend en charge les SLA et propose une approche de planification à trois niveaux pour les machines virtuelles (dans les centres de données, entre les centres de données du même fournisseur de services cloud (CSP) et entre les CSP d’une fédération). FCS propose également un modèle financier flexible pour analyser l’impact des différentes stratégies de planification sur les revenus et les bénéfices des CSP et une plate-forme de vente aux enchères pour l’échange de machines virtuelles.

    FederatedCloudSim a été développé par des chercheurs de l’Université technique de Dortmund, en Allemagne. Pour plus de détails, veuillez consulter le site Web FederatedCloudSim.

    CloudAnalyst

    Cloud Analyst est un outil développé à l’Université de Melbourne dont le but est de soutenir l’évaluation des outils des réseaux sociaux en fonction de la répartition géographique des utilisateurs et des centres de données. Dans cet outil, les communautés d’utilisateurs et les centres de données prenant en charge les réseaux sociaux sont caractérisés et, en fonction de leur emplacement; des paramètres tels que l’expérience d’utilisation lors de l’utilisation de l’application de réseau social et la charge sur le centre de données sont obtenus / enregistrés.

    Télécharger: CloudAnalyst.zip (publié le 26 novembre 2009).

    Membres de l’équipe du projet

    Membres actifs:

    • Rajkumar Buyya
    • Sara Kardani Moghaddam
    • Shashikant Ilager
    • TianZhang He
    • Amanda Jayanetti

    Anciens membres et collaborateurs:

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

    Licence logicielle

    Le logiciel CloudSim Toolkit est publié en Open Source sous la licence Apache Version 2.0.
    Copyright The CLOUDS Lab, Université de Melbourne, 2009 – à ce jour.

    Publications

    • Jungmin Son et Rajkumar Buyya, CloudSimSDN-NFV: Modélisation et Simulation de la Virtualisation des Fonctions Réseau et du Chaînage des Fonctions de Service dans les environnements Edge Computing, SPE (en cours de révision).
    • Jungmin Son et Rajkumar Buyya, Allocation de VM prioritaire et Fourniture de bande passante réseau dans les Clouds compatibles SDN (Software-Defined Networking), IEEE Transactions on Sustainable Computing (T-SUSC), Volume 4, Numéro 1, Pages : 17-28, ISSN : 2377-3782, IEEE Computer Society Press, États-Unis, Janvier-mars 2019.
    • Sareh Fotuhi Piraghaj, Amir Vahid Dastjerdi, Rodrigo N.Calheiros et Rajkumar Buyya, ContainerCloudSim: Un Environnement de Modélisation et de Simulation de Conteneurs dans des Centres de données Cloud, Software: Practice and Experience, Volume 47, Numéro 4, Pages : 505-521, ISSN : 0038-0644, Wiley Press, New York, États-Unis, avril 2017.
    • Saurabh Kumar Garg et Rajkumar Buyya, NetworkCloudSim: Modelling Parallel Applications in Cloud Simulations, Actes de la 4e Conférence Internationale IEEE/ ACM sur l’utilitaire et l’informatique en nuage (UCC 2011, IEEE CS Press, États-Unis), Melbourne, Australie, 5-7 décembre 2011.
    • Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov, César A. F. DeRose, and Rajkumar Buyya, CloudSim: A Toolkit for Modeling andSimulation of Cloud Computing Environments and Evaluation of ResourceProvisioning Algorithms, Software: Practice and Experience (SPE), Volume 41, Numéro 1, Pages: 23-50, ISSN: 0038-0644, Wiley Press, New York, États-Unis, janvier 2011.
    • Bhathiya Wickremasinghe, Rodrigo N. Calheiros, Rajkumar Buyya, CloudAnalyst: A CloudSim-based Visual Modeller for Analyzing CloudComputing Environments and Applications, Actes de la 24thInternational Conference on Advanced Information Networking andApplications (AINA 2010), Perth, Australie, 20-23 avril 2010.
    • Rajkumar Buyya, Rajiv Ranjan et Rodrigo N. Calheiros, Modélisation et Simulation d’Environnements de Cloud Computing Évolutifs et la Boîte à outils CloudSim: Défis et Opportunités, Actes de la 7e Conférence sur le Calcul et la Simulation Haute Performance (HPCS 2009, ISBN: 978-1-4244-4907-1, IEEE Press, New York, États-Unis), Leipzig, Allemagne, 21-24 juin 2009.

    Quelques publications utilisant les résultats de CloudSim

    • Anton Beloglazov et Rajkumar Buyya, Algorithmes Déterministes en Ligne Optimaux et Heuristiques Adaptatives pour une Consolidation Dynamique Efficace en Énergie et en Performance des Machines Virtuelles dans les Centres de Données Cloud, Concurrence et Calcul: Pratique et Expérience, Volume 24, Numéro 13, Pages: 1397-1420, John Wiley & Sons, Ltd, New York, États-Unis, 2012
    • Rodrigo Calheiros, Rajiv Ranjan et Rajkumar Buyya, Virtual MachineProvisioning Based on Analytical Performance and QoS in Cloud ComputingEnvironments, Actes de la 40e Conférence Internationale sur le traitement parallèle (ICPP 2011), Taipei, Taiwan, 13-16 septembre 2011.
    • Linlin Wu, Saurabh Kumar Garg et Rajkumar Buyya, ResourceAllocation basée sur SLA pour un Logiciel en tant que Fournisseur de Services dans les environnements de Cloud Computing, Actes du 11e Symposium International IEEE / ACM sur le Cluster, le Cloud et l’Informatique en réseau (CCGrid 2011), Los Angeles, États-Unis, 23-26 mai 2011.
    • Adel Nadjaran Toosi, Rodrigo N. Calheiros, Ruppa K. Thulasiran, Rajkumar Buyya, Resource Provisioning Policies to Increase IaaS Provider’s Profit in a FederatedCloud Environment, Actes de la 13e Conférence Internationale sur la Haute Performance et les Communications (HPCC 2011), Banff, Canada, 2-4 septembre 2011.
    • Anton Beloglazov et Rajkumar Buyya, Allocation écoénergétique de Machines Virtuelles dans les Centres de données en Nuage. Actes du 10e Symposium International IEEE/ ACM sur le Cluster, le Cloud et le Grid Computing (CCGrid 2010), Melbourne, Australie, 17-20 mai 2010.
    • Rodrigo N. Calheiros, Rajkumar Buyya, César A. F. De Rose, Construit un banc d’essai d’émulation automatisé et auto-configurable pour les applications de réseau.International Journal of Software: Practice and Experience, Volume 40, Numéro 5, Pages: 405-429, Wiley Press, États-Unis, avril 2010.
    • Kyong Hoon Kim, Anton Beloglazov et Rajkumar Buyya, Provisionnement des Ressources Cloud en fonction de la puissance pour les Services en temps réel. Actes du 7e Atelier International sur les Middlewares pour les Grilles, les Nuages et l’e-Science, Urbana Champaign, Illinois, États-Unis : ACM, 2009.
    • Rodrigo N. Calheiros, Rajkumar Buyya, César A. F. De Rose, AHeuristic for Mapping Virtual Machines and Links in Emulation Testbeds, Actes de la 38e Conférence Internationale sur le Traitement Parallèle (ICPP 2009), Vienne, Autriche, 22-25 septembre 2009.
    • Pour la dernière liste, veuillez consulter les articles concernant / utilisant CloudSim selon Google Scholar

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.