117 novembre, 2005 mathieu desnoyers, École polytechnique de montréal séminaires de génie...
Post on 03-Apr-2015
120 Views
Preview:
TRANSCRIPT
117 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Séminaires de génie informatique
Linux Trace Toolkit Viewer, un outil d'analyse de systèmes informatiques pour la communauté du
logiciel libre.
217 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
● Présentation des contributeurs● Survol de la notion de traçage● Intérêt du traçage● Alternatives● Visées du projet● Défis● Communauté du logiciel libre● Outil de visualisation Linux Trace Toolkit
Viewer (LTTV)● Outil de traçage Linux Trace Toolkit Next
Generation (LTTng)
Linux Trace Toolkit Viewer
317 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Je me présente
● Mathieu Desnoyers● Curriculum
– Adaptation de LTT pour compression de traces (été 2002)
– Design et implantation de LTTV (étés 2003 et 2004)
– Diplôme B.ing. en G.I. en 2005– Maîtrise recherche en G.I. depuis janvier 2005
417 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Je me présente (suite)
● Champs d'intérêts en informatique● Architecture d'ordinateurs● Systèmes d'exploitation● Temps réel● Systèmes multiprocesseurs● Aspects algorithmiques● Sécurité● Systèmes tolérants aux fautes● Systèmes distribués
517 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Le projet et ses principaux contributeurs
● Linux Trace Toolkit Viewer (LTTV)– École Polytechnique, génie informatique (G.I.)
● Michel Dagenais, professeur au département de G.I.● Mathieu Desnoyers, étudiant de maîtrise en G.I.
● Linux Trace Toolkit Next Generation (LTTng)– Mathieu Desnoyers
● RelayFS– Tom Zanussi, IBM– Karim Yaghmour, Opersys
● Linux Trace Toolkit (LTT)– Karim Yaghmour, Opersys
617 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Survol : traçage
Système
717 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Survol (suite)
boîte noire
traceur
traçage
Enregistrement de
l'activité du système
sous forme d'événemen
ts
Matériel, système d'exploitation, processus (librairies et programmes)
Analyse et visualisation a posteriori
Système
817 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Intérêt du traçage
● Extraire de l'information sur le comportement– d'un système
● Programme– processus unique– processus multiples
● Librairie● Système d'exploitation
– Programmation temps-réel● Traitement parallèle par mémoire partagée
– de plusieurs systèmes● Traitement parallèle par passage de messages● Systèmes distribués
917 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Aide au développement
● Utile à plusieurs étapes du développement– Aide au design
● Compréhension du système d'exploitation– Validation– Test
1017 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Alternatives● Propriétaires
– Windriver Tornado (VxWorks)– IrixView (Irix)
● Open source– Sun Dtrace (Solaris 10)
● Libres– Linux Trace Toolkit (Linux)
● monolithique : ajout de points de traçage difficile● instrumentation statique
– Redhat/IBM/Intel SystemTAP (Linux)● en développement● instrumentation ad hoc (kprobes et djprobes)● pas d'outil de visualisation pour le moment
1117 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Visées du projet
● secteur académique– aider la compréhension du système
d'exploitation– permettre son exploration
● génie informatique– optimisation et déverminage de librairies
● librairies de traitement parallèle (MPI, OpenMP)● librairie de processus légers (pthreads)
● entreprise– outil d'aide à l'optimisation et au déverminage
● synchronisation, latence, temps réel● ordinateurs de haute performance● ordinateurs à multiples processeurs
1217 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
IBM Blue Gene
Installation du superordinateur Blue Gene/L. Cet ordinateur, le plus rapide au monde, était en préparation pour son annonce officielle le 27 octobre 2005.
Crédits: Lawrence Livermore National Laboratory
1317 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Autodesk
Suite d'outils graphiques d'autodesk tel que Discreet FireSmoke.
Image courtoisie de Northern Light Posts
1417 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Communauté du logiciel libre
● Cycle de développement différent– Les logiciels les plus amusants à développer
susciteront un plus grand intérêt chez les programmeurs particuliers.
– Les entreprises voient à fournir les ressources financières en formant des groupes de travail regroupant des expertises variées
● SystemTAP : IBM/Intel/Redhat● Progression actuelle vers des tests accrus
du noyau Linux avant la relâche
1517 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Communauté du logiciel libre (suite)
● Les utilisateurs sont bien souvent des testeurs
● Les développeurs : organisation horizontale– entreprises– organismes– gouvernements– universités– chercheurs– étudiants– particuliers
1617 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
LTTV et le logiciel libre
● LTTV et LTTng sont distribués sous la General Public licence (GPL)
● Favoriser les contributions– architecture du projet modulaire– prévoir la réutilisation
1717 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Défis de la visualisation
● Visualisation– taille des données recueillies (de l'ordre du giga-
octet)– fusion de traces
● multiprocesseurs● à plusieurs noeuds
– parcours des données● séquentiel● accès par saut● parcours à rebours
– présentation visuelle avec filtre
1817 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Outil de visualisation LTTV
● mode texte de traitement par lots● mode graphique (GTK)
– liste d'événements avec filtre● parcours à rebours
– vue de l'ordonnancement– statistiques– synchronisation de temps entre les vues– accès par saut
● précalcul de l'état
Voir démonstration
1917 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Lecture de traces
● librairie de lecture de traces– queue de priorité
● taille des traces de l'ordre de quelques giga-octets– fusion des traces en cours de lecture du disque– notion d'état en cours de lecture– statistiques
2017 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Défis du traçage
● précision de la mesure de temps● format de données extensible● performance
– limiter la contention– gestion de la concurrence à faible coût
● écriture concurrente– Dans le noyau– En mode usager
2117 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Outil de traçage LTTng
● Linux Trace Toolkit Next Generation● Architecture modulaire
– intrumentation– traçage
● module de traçage (ltt-core)● RelayFS● « daemon » d'écriture de canaux RelayFS sur disque
– contrôle● module de contrôle du traçage (ltt-control)● librairie de contrôle (liblttctl)● programme de contrôle (lttctl)
2217 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Précision du temps
● Base de temps : compteur de cycles.● L'important : avoir une base de temps dont
l'incrémentation est monotone– Ne pas utiliser un temps corrigé par NTP
● Précision : tout est relatif !– Synchronisation entre les processeurs sur un
nœud– Synchronisation de traces entre les noeuds d'un
réseau (traitement parallèle et distribué)● Éric Clément
2317 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Précision : tout est relatif!
● Sur un même processeur ~100 ns/s● Erreurs d'arrondis ~100 ppm (100 ns/s)
(arch/i386/kernel/timers/common.c:init_cpu_khz())● 1.0 Ghz = 1 cycle/ns.
● Sur plusieurs processeurs– Erreurs d'échantillonage de la vitesse du CPU
au démarrage● Variation de la fréquence avec la température
– Hicham Marouani● Délai de cache entre les cpu
(arch/i386/kernel/smpboot.c:synchronize_tsc_bp())● Imprécision entre les horloges et le
processeur.
2417 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Format de données extensible
● événement– enregistrement correspondant à une action du
système– contient des champs de données
● facility– groupe d'événements chargeable
dynamiquement
2517 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Champs de données
● Champs décrits sous un format XML● genevent
– génération automatisée du code de traçage à partir de la description des champs
● LTTV– affichage générique des événements selon la
description des champs
2617 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Types de données
● Indépendants du compilateur et de l'architecture
● Support pour l'alignement● Types étendus disponibles :
– types simples● taille variable selon l'architecture● taille fixe
– énumérations– types composés
● structures et unions● tableaux, séquences, strings
● Compatibles avec le langage C via genevent
2717 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Écriture concurrente noyau
● En mode noyau– Multiprocesseurs
● verrou « spin lock » ?● tampon par processeur
– À même un processeur● interruptions masquables
– désactiver les interruptions ?● interruptions non-masquables
– exceptions– trappes– fautes– i.e. fautes de pages, NMI, « spurious interrupts », division
par zéro, ...● écriture sans verrou
2817 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Écriture concurrente usager
● pas d'appel système possible– trop coûteux (tests sur Pentium 4 3GHz)
● appel système : ~4000ns● écriture directe : ~227ns● donc pas de nouvel appel système, ni de write, ni de
ioctl, ni de communication par socket, etc.
2917 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
Écriture concurrente usager (suite)
● Processus– un tampon par processus ?
● nécessiterait un mutex : contention– boucle active– appel à l'ordonnanceur
● Threads– un tampon par thread
● Signaux– désactiver les signaux pendant l'écriture ?– écriture sans verrou
3017 novembre, 2005 Mathieu Desnoyers, École Polytechnique de Montréal
LTTV et LTTng
● disponibles à l'adresse :– http://ltt.polymtl.ca/
● sera sous peu la prochaine version « stable » de LTT.– liste de diffusion ltt-dev@shafik.org
● Des questions ?
top related