Performance Analysis of Complex Multi-Thread Applications Through Critical Path Analysis

Majid Rezazadeh · PolyPublie (École Polytechnique de Montréal) · 2019

La performance est un sujet critique pour les applications multi-fils énormes et complexes.De nombreux facteurs tels que le conflit de ressources, les algorithmes de synchronisation inadéquats, les opérations de disque lentes, etc. peuvent affecter la performance.De nombreux développeurs ne connaissent pas la nature de la cause fondamentale des latences inattendues, en raison de la grande base de code des applications et des multiples niveaux d'abstraction entre le code de l'application et le matériel.Le traçage est une technique qui enregistre les activités dans un système.De nombreux problèmes de performances peuvent être diagnostiqués à l'aide des informations collectées par une trace d'exécution.En raison du surcoût négligeable des traceurs reconnus, nous pouvons les déployer sur des systèmes en production, pour capturer les bogues qui se produisent rarement.Nous pouvons naviguer efficacement dans le grand nombre d'événements contenus dans les traces d'exécution à l'aide d'outils spécialisés.Cependant, même avec ces outils, il est difficile d'identifier la cause fondamentale des problèmes de performance sans une connaissance approfondie du système analysé.Dans les applications complexes telles que le navigateur Chromium, qui est notre objectif dans ce projet de recherche, le premier défi consiste à pouvoir collecter des informations unifiées et précises à partir de plusieurs couches de l'application et du système.vi de problèmes méritent d'être analysés.À notre connaissance, il s'agit de la première tentative d'extraction automatique de données multi-niveau à partir du navigateur Chromium.Dans ce projet, la plupart des données utilisées pour les évaluations et les expériences ont été collectées par le Linux Trace Toolkit Next Generation (LTTng), un outil très flexible et avec peu de surcoût.vii

Read the paper · More papers on PaperTik