Modelling, Simulating and Emulating Distributed Applications in Swarms of Cyber-Physical Systems Deployed in Dynamic Networks
Modélisation, simulation et émulation d'applications distribuées dans des essaims de systèmes cyber-physiques déployés dans des réseaux dynamiques
Abstract
The research field in distributed systems has witnessed a recent growing interest in wireless mobile distributed computing, i.e. distributed algorithms deployed in dynamic networks. Such systems introduce new challenges due to their time-varying topologies, which hinder the performance and safety guarantees of algorithms that are fundamental building blocks of more complex distributed algorithms. The main focus of this work is to establish different ways to study such systems via emulation and simulation and to propose some techniques to deploy applications in dynamic networks. We evaluated different data flow paradigms, such as many-to-many distributed storage, one-many computational offloading, and many-to-many decentralized swarm control and data load-balancing.We adopted the quantitative approach as a cornerstone methodology, using simulation and emulation to collect data for analysis. Even though there are many discrete simulators in the state-of-the-art, there was a gap for emulation tools applied to mobile ad hoc computing. Some important features were missing, such as a full-scale emulated deployment environment where prototypes coexist with off-the-shelf applications and more options for mobility control. This work proposes MACE, a framework that enables the emulation of mobile distributed applications in a virtual environment so that the scenarios and topologies composed by mobile wireless nodes can be easily modified. Since emulation requires that the tests run in wall time, the need for a fast simulator arose. Therefore, we designed, implemented and validated a fluid model that simulates traffic flow in mobile ad hoc networks. With this model, we finally implemented a simulation tool that enables fast algorithm and parameter analysis and can potentially be embedded in constrained nodes for in-flight mission re-evaluation. The fluid model can scale to large topologies with hundreds of nodes and could complete experiments running stress workloads with simulation time shorter than the simulation time horizon. It can also be configured with bounded and unbounded network queues, use mixed mobility models and control laws, and model different applications running in the application layer mixed with synthetic traffic injection. By studying different control laws, we can reduce the probability of enduring network partitions and enhance the traffic balance to reduce the formation of bottlenecks that hinder the application's performance.Our work also encompassed the proposal of some applications related to the domain of UTM, such as optimized edge-assisted offloading algorithms for swarms of UAVs that can be potentially used for UTM Distributed Detect and Avoid systems. Moreover, we also propose a distributed position tracking data layer for very low-level airspace using State Machine Replication and could achieve low end-to-end latencies even with a high number of replicas.
La recherche sur les systèmes distribués a connu récemment un intérêt croissant pour les applications pour un environnent mobile, c'est-à-dire les algorithmes distribués déployés dans des réseaux dynamiques et sans fil. Cependant, la conception de ses systèmes présentent de nouveaux défis en raison de leurs topologies variables dans le temps, qui peuvent compromettre la performance et la sûreté des algorithmes distribués. L'objectif principal de ce travail est d'établir différentes manières d'étudier de tels systèmes via l'émulation et la simulation, et de proposer quelques stratégies pour déployer des applications en environnent mobile. Nous avons évalué différents paradigmes de flux de données, tels que le stockage distribué multi-nœuds, l’ordonnancement de tâches de calcul sur plusieurs nœuds, le contrôle décentralisé des essaims de drones et l'équilibrage de la charge de données.Nous avons adopté une approche quantitative comme méthodologie de base, en utilisant la simulation et l'émulation pour collecter les données à analyser. Bien qu'il existe de nombreux simulateurs discrets dans l'état de l'art, aucun n’était adapté à l’émulation des systèmes répartis sur des réseaux mobile ad hoc. Certaines caractéristiques importantes manquaient, telles qu'un environnement de déploiement émulé à grande échelle où les prototypes coexistent avec les applications réelles et davantage d'options de contrôle de la mobilité. Ce travail propose MACE, un environnent qui permet l'émulation d'applications mobiles distribuées dans un environnement virtuel de sorte que les scénarios et les topologies composés par les nœuds mobiles sans fil peuvent être facilement modifiés. Comme l'émulation exige que les tests s'exécutent comme les vrais systèmes, le besoin d'un simulateur rapide s'est fait sentir. Nous avons donc conçu, mis en œuvre et validé un modèle fluide qui simule le flux de trafic dans les réseaux mobiles ad hoc. Avec ce modèle, nous avons finalement mis en œuvre un outil de simulation qui permet une analyse rapide des algorithmes et des paramètres et qui peut potentiellement être intégré dans des nœuds contraints pour une réévaluation de la mission en temps d’exécution. Le modèle fluide peut s'adapter à de grandes topologies avec des centaines de nœuds et peut réaliser des expériences en exécutant des charges de travail sous contrainte avec un temps de simulation plus court que l'horizon temporel de l’émulation. Il peut également être configuré avec des files d'attente de réseau limitées et non limitées, utiliser des modèles de mobilité et des lois de contrôle mixtes, et modéliser différentes applications fonctionnant dans la couche d'application avec injection de trafic synthétique. En étudiant différentes lois de contrôle, nous pouvons réduire la probabilité de partitions durables du réseau et améliorer l'équilibre du trafic pour réduire la formation de goulots d'étranglement qui entravent les performances de l'application.Notre travail englobe également la proposition de certaines applications liées au domaine de la gestion du trafic des systèmes d'aéronefs sans pilote (de l’anglais Unmanned Aircraft System Traffic Management, UTM), telles que des algorithmes optimisés pour la bordure du réseau des essaims de drones qui peuvent être potentiellement utilisés pour les systèmes distribués de détection et d'anti-collision UTM. En outre, nous proposons également une architecture de suivi de position distribuée pour l'espace aérien à très basse altitude en utilisant la réplication, où nous avons pu mesurer de faibles latences de bout en bout même avec un nombre élevé de répliques.
Domains
Embedded Systems
Origin : Version validated by the jury (STAR)