• Aucun résultat trouvé

2.3 Outils et données pour les infrastructures Fog-IoT

2.3.2 Topologies des infrastructures Réseau pour le Fog

Les infrastructures distribuées sont représentées principalement par des structures de graphes. Il est important d’avoir des topologies variées pour étudier leur impact sur les stratégies de placement d’applications.

Dans ce qui suit, nous allons présenter les générateurs de topologies réseau et les simulateurs réseau et les simulateurs de mobilité les plus complets et les

plus utilisés dans la littérature.

2.3.2.1 Générateurs de topologies réseau (1) BRITE

BRITE [Medina 2001] permet de générer différentes topologies réseau. Il est également possible d’ajouter des topologies personnalisées ou d’importer des modèles de générateurs comme GT-ITM, Inet, et NLANR AS. Les topo-logies crées peuvent être exportées dans des simulateurs réseau comme ns2, SSFNET, JavaSim et OmNet++. BRITE est libre d’accès et est développé en Java et C++.

(2) CAIDA

Le Center for Applied Internet Data Analysis (CAIDA) est un organisme qui s’intéresse à l’analyse du comportement du réseau internet. Il propose un générateur de topologies réseau [CAIDAGroup 2019] dont le comportement est créé à partir d’études statistiques sur les données internet réelles. Le projet est soutenu par une très grande communauté et est mis à jour régulièrement. CAIDA peut s’intégrer avec des outils comme BRITE.

(3) NetworkX

NetworkX [Hagberg 2008] est un outil développé en Python, qui permet de générer des structures de graphes complexes et offre une multitude d’algo-rithmes de traitement de graphes.

2.3.2.2 Simulateurs Réseaux et mobilité (1) ns-3

ns-3 [Riley 2010] est un simulateur réseau à évènements discrets en libre accès développé en c++ et python. Il est utilisé et supporté par une grande communauté scientifique. Ce dernier est fréquemment amélioré et étendu par de nouveaux modèles et fonctionnalités réseau. ns-3 permet de simuler des phénomènes réseau comme la congestion et permet de suivre l’évolution des paquets dans l’infrastructure. Il propose plusieurs protocoles de communica-tion et de routage. Il a également un module pour la mobilité des noeuds.

(2) OMNeT++

OMNeT++ [Varga 2010] est un simulateur à évènements-discrets développé en c++. Il permet de modéliser et de simuler des réseaux de communication. Il supporte le déploiement de réseaux de capteurs, du Peer-to-Peer et d’autres réseaux sans fils. Il est utilisé pour supporter la partie réseau dans beaucoup de simulateurs comme Veins (simulation de réseaux de véhicules) ou FogNet-Sim++ que nous allons voir par la suite. Son architecture modulaire permet

de développer facilement des extensions. Tout comme ns-3, il a un module dédié à la mobilité des noeuds. OMNeT++ permet de développer le code des micro-services et ne les présente pas uniquement comme des boites noires avec des données entrantes et sortantes.

(3) Simulation of Urban MObility (SUMO)

Très peu de simulateurs prennent en charge la mobilité des noeuds. Il existe des simulateurs de mobilité très complets mais qui s’intéressent à la mobi-lité d’un point de vu réseau comme ns-2/ns-3 ou GNS3 ou qui s’intéressent uniquement aux réseaux véhiculaires. Dans ce qui suit nous nous intéressons à SUMO [Krajzewicz 2002], le simulateur que nous avons utilisé dans nos travaux. SUMO est un simulateur de mobilité en libre accès. Il est principa-lement utilisé pour la simulation de trafic véhiculaire. Il permet d’intégrer de la mobilité piétonne et de définir d’autres types d’objets mobiles. SUMO per-met de créer différents scénarios de mobilité et de récolter plusieurs métriques de mobilité. Il est facilement interfaçable à d’autres simulateurs grâce à son API simple d’utilisation, sa large communauté et à sa large documentation technique. L’outil est développé et principalement maintenu par l’Institut des systèmes de transport Allemand sous licence EPL 2.0.

(4) Veins

Veins [Sommer 2011] est un outil en libre accès pour la simulation des ré-seaux véhiculaires. Il est développé à partir de deux outils que nous avons dé-crits précédemment, OMNet++ (pour le réseau) et SUMO (pour la mobilité et la simulation du traffic de véhicules). Le simulateur s’intéresse uniquement au comportement de mobilité des véhicules, qui est très détaillé, et ne permet pas d’avoir d’autres comportements de mobilité.

2.3.2.3 Simulateurs infrastructures de calcul (1) SimGrid

SimGrid [Brennand 2016] est un simulateur d’environnement de calcul dis-tribué et de systèmes à large échelle comme les grilles de calcul, le Cloud ou les systèmes peer-to-peer (P2P). Il permet de déployer des applications dis-tribuées et d’élaborer des stratégies de gestion de ressources. Les simulations SimGrid sont rapides et peuvent être exécutées dans une seule machine. Il est possible d’ajouter des modules en langage C++, C, Python ou Java. La communauté de SimGrid est très active et le simulateur est régulièrement amélioré.

(2) DCworms

[Kurowski 2013], [Rostirolla 2019] est un simulateur à évènements discrets dé-veloppé par Poznan Supercomputing et le Networking Center (PSNC) à partir du framework GSSIM. DCworms est développé en JAVA et permet de modéli-ser des infrastructures de centre de données distribuées. Ce simulateur propose des modèles d’estimation de la consommation et de l’efficacité énergétique des infrastructures de calcul et permet de déployer des stratégies de gestion des ressources de calcul.

(3) CloudSim

CloudSim [Goyal 2012] permet de modéliser des infrastructures Cloud dis-tribuées et d’établir des politiques pour la gestion des ressources de calcul tout en modélisant des applications distribuées. Il permet également d’estimer la consommation énergétique des noeuds de calcul. Il est également possible d’insérer des éléments dynamiquement durant la simulation. Le simulateur est développé en Java et son architecture modulaire facilite l’intégration de nouvelles fonctionnalités. Cependant, il consomme plus de ressources de cal-cul comparé à SimGrid et les simulations prennent plus de temps. En raison de sa nature extensible beaucoup de travaux ont été réalisés pour l’enrichir. Le travail de [Beloglazov 2012] propose le premier modèle de consommation d’énergie. Par la suite, [Moreno 2019] propose DartCSIM, une extension qui permet la simulation de l’énergie et du réseau simultanément. D’autres exten-sions existent comme CloudAnalyst [Wickremasinghe 2010] et CloudReports [Sá 2014].

Les trois simulateurs de plateforme de calcul décrits précédemment sont les plus utilisés par la communauté HPC mais en ce qui concerne l’intégration des fonctions Fog et IoT, CloudSim est actuellement l’outil le plus utilisé.