Thèse de doctorat (2023)
Résumé
Les avancées technologiques récentes ont entraîné l’émergence de nouveaux paradigmes dans le développement d’applications, la surveillance de leurs performances et la gestion des ressources nécessaires. Les systèmes distribués ont résolu de nombreux problèmes qui étaient impossibles à aborder avec les architectures monolithiques, offrant des avantages tels que la résilience et l’élasticité pour gérer la charge utilisateur de manière dynamique. Cependant, malgré les avantages indéniables de ces architectures, elles posent également des défis en termes de débogage des performances. Les systèmes distribués utilisent des composants autonomes qui interagissent de manière coordonnée pour atteindre un résultat souhaité. Ils fonctionnent généralement de manière asynchrone, ce qui signifie que le système peut passer à d’autres tâches après avoir envoyé un message ou mis une tâche en attente, sans bloquer le processus. L’asynchronisme peut être étudié selon deux approches d’implémentation à savoir : les systèmes asynchrones multicouches et les systèmes asynchrones unicouche. Dans le premier cas, hormis le module d’orchestration d’événements, le système est constitué de plusieurs couches interdépendantes qui interagissent dans le but d’exécuter des tâches. Ces systèmes sont extrêmement complexes et leur débogage nécessite une prise en compte de cette dimension. Dans le second cas, le système est implémenté simplement avec une couche d’orchestration qui assure l’asynchronisme. Le débogage et l’analyse de performance dans ce cas, appellent à des méthodes permettant de discriminer les contextes d’exécution des différents événements entrants. Ce mode de fonctionnement complexifie l’architecture et rend l’analyse des performances difficile avec les méthodes actuelles. Les systèmes asynchrones complexes tels que Node.js intègrent plusieurs couches internes qui coopèrent pour exécuter des tâches. Par exemple, la couche supérieure traite le code JavaScript, le transmet à une couche d’orchestration appelée Libuv, qui coordonne l’exécution, puis la tâche est soumise à la machine virtuelle pour exécution.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
