Advancing Software Instrumentation Through Cost Optimization

Amir Haghshenas

Thèse de doctorat (2026)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 2MB •

Résumé

L’analyse de performance logicielle est devenue critique pour assurer la fiabilité des systèmes et optimiser l’utilisation des ressources dans les environnements informatiques modernes. À mesure que les architectures logicielles ont évolué des systèmes monolithiques vers des microservices distribués servant des milliards d’utilisateurs, le défi de maintenir une visibilité complète des performances tout en opérant sous des contraintes de coût strictes s’est intensifié. Les approches traditionnelles d’instrumentation logicielle—principalement à travers le traçage d’exécution et la journalisation—introduisent une surcharge significative qui s’étend au-delà des simples pénalités de temps d’exécution pour englober la consommation mémoire, les exigences de stockage, l’utilisation de la bande passante réseau et le fardeau de maintenance. Le défi fondamental réside dans l’atteinte d’un équilibre optimal entre la couverture de surveillance et ces coûts associés, car une instrumentation excessive peut générer des volumes de données massifs et une dégradation sévère des performances, tandis qu’une surveillance insuffisante crée des angles morts critiques dans l’observabilité du système. La majorité de la recherche en instrumentation logicielle s’est concentrée sur des questions fondamentales de où instrumenter, quelles informations capturer, ou comment implémenter les mécanismes de surveillance. Cependant, seul un nombre limité d’études ont abordé le défi critique d’équilibrer l’instrumentation pour obtenir des données diagnostiques de haute qualité tout en minimisant les coûts associés. Cette lacune laisse le compromis essentiel entre l’exhaustivité de la surveillance et les coûts d’instrumentation largement non adressé par des approches systématiques. Par conséquent, les développeurs doivent s’appuyer sur des processus de prise de décision ad hoc pour équilibrer ces exigences concurrentes, résultant souvent en des configurations d’instrumentation sous-optimales qui soit compromettent les performances du système par des coûts excessifs ou échouent à fournir une observabilité adéquate pour le débogage et l’optimisation. Cette thèse aborde le défi fondamental du placement systématique d’instrumentation dans la surveillance de performance logicielle à travers un cadre exhaustif conscient des coûts. Le problème traité était le manque d’approches systématiques pour équilibrer l’efficacité de surveillance contre plusieurs contraintes de coût simultanément. Une taxonomie de coûts multidimensionnelle englobant douze dimensions de coût distinctes a été développée, ainsi qu’un cadre basé sur l’optimisation qui identifie automatiquement des configurations d’instrumentation quasi-optimales. Le cadre formule le placement d’instrumentation comme un problème d’optimisation de sac à dos, permettant aux praticiens de spécifier des objectifs vi de surveillance tout en respectant les contraintes de coût. L’évaluation sur trois applications diverses—un benchmark SPEC CPU, une base de données Redis, et un serveur web Apache HTTPD—a démontré que les fonctions sélectionnées se classaient constamment parmi les premières 12-27% basé sur des mesures réelles de variabilité du temps d’exécution. La deuxième contribution aborde les défis de scalabilité de l’analyse de données de trace dans les systèmes de microservices à grande échelle. Le problème était que la surveillance exhaustive génère des volumes de données prohibitifs qui submergent les capacités de stockage et d’analyse. Une approche d’apprentissage automatique en deux phases utilisant des algorithmes de gradient boosting a été développée pour identifier les caractéristiques les plus critiques pour la prédiction d’utilisation CPU et mémoire. En utilisant un ensemble de données exhaustif du cluster de production d’Alibaba couvrant plus de 40 000 noeuds et 470 000 conteneurs, l’approche a atteint plus de 69% de réduction du volume de données de trace tout en maintenant ou améliorant la précision de modélisation, avec des scores RMSE de 0,02 pour le CPU et 0,13 pour l’utilisation mémoire comparé à 0,08 et 0,14 avec l’ensemble de données complet. La troisième contribution fournit des fondations empiriques pour comprendre la relation entre les pratiques de journalisation et l’efficacité de résolution de bogues à travers différents domaines logiciels. Le problème abordé était la compréhension limitée de si les pratiques actuelles de journalisation améliorent réellement les résultats de débogage et comment les perceptions des développeurs s’alignent avec les comportements réels. Une étude de méthodes mixtes analysant plus de 572 000 fonctions à travers dix projets Java majeurs a été menée, combinée avec des sondages de 58 développeurs professionnels. La recherche a révélé des variations significatives dépendantes du domaine dans l’efficacité de la journalisation, avec les projets d’infrastructure montrant de fortes associations statistiques entre la journalisation et l’implication de bogues (ratios de cotes 1,21-1,48) tandis que les projets de framework ont démontré des associations minimales (ratios de cotes près de 1,0). De plus, un écart substantiel a été identifié entre les perceptions des développeurs—74% des développeurs industriels prétendent des approches de journalisation équilibrées—et les patrons prédominamment réactifs observés dans l’analyse de code. Ce travail établit des bases et des patrons empiriques essentiels qui fournissent la fondation pour la recherche future pour investiguer les relations causales entre les pratiques de journalisation et l’efficacité de débogage, permettant des études qui peuvent suivre des sessions de débogage réelles et mesurer l’impact direct de différentes stratégies de journalisation sur les résultats de résolution de problèmes.

Programme:
Génie Informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
Polytechnique Montréal
OAI:
oai:publications.polymtl.ca:72273
ORCID
Date du dépôt:
15 mai 2026 13:57
Dernière modification:
14 oct. 2026 14:32
Citer en APA 7:
Haghshenas, A. (2026). Advancing Software Instrumentation Through Cost Optimization [Thèse de doctorat, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/72273/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document
Afficher document