SlideShare une entreprise Scribd logo
1  sur  30
Soutenance de stage de DEA 
É valuation de la quantité de travail utile dans 
l’’exécution des programmes 
Stage encadré par P. Michaud 
et effectué par B. Vidal 
Projet CAPS
Dé finition 
• Une instruction dynamique est utile si 
- Elle produit un résultat émis en sortie 
- Elle produit un résultat utilisé comme opérande 
d’’une instruction utile 
- C’’est un branchement 
2
3 
Bibliographie 
• Différentes définitions du travail inutile 
- Valeurs mortes dynamiques 
 G. Sohi & A. Butt 
ASPLOS X - oct. 2002 
- É critures silencieuses 
 M. Lipasti, K. Lepak & G. Bell 
IEEE, vol. 50, No. 11 - nov. 2001 
- É valuation de l’’ensemble du travail inutile 
après exécution
La mé thode utilisé e [1] 
• Exemple simple 
3
La mé thode utilisé e [1] 
• Exemple simple 
3
La mé thode utilisé e [1] 
• Exemple simple 
3
La mé thode utilisé e [1] 
• Exemple simple 
3
La mé thode utilisé e [1] 
• Exemple simple 
3
La mé thode utilisé e [1] 
• Exemple simple 
3
La mé thode utilisé e [1] 
• Exemple simple 
3
La mé thode utilisé e [1] 
• Exemple simple 
3
La mé thode utilisé e [1] 
• Exemple simple 
3
La mé thode utilisé e [2] 
• Graphe de dépendance de donnée 
- Construction au cours de l’’exécution 
- Relier les instructions dépendantes 
 Registres 
 Mémoire 
• Parcours du graphe 
- Sources (sorties ou branchements) 
- Marquage des instructions utiles 
4
Optimisation 
• Réduction du graphe 
- Suppression des noeoeuds certifiés utiles 
 A mesure que le programme se déroule 
 Un noeoeud utile ne peut devenir inutile 
- Suppression des noeoeuds certifiés inutiles 
 Une instruction n’’est accessible depuis aucune 
ressource 
 Système de ramasse-miette 
5
Optimisation 
5
Optimisation 
• Réduction du graphe 
- Suppression des noeoeuds certifiés utiles 
 A mesure que le programme se déroule 
 Un noeoeud utile ne peut devenir inutile 
- Suppression des noeoeuds certifiés inutiles 
 Une instruction n’’est accessible depuis aucune 
ressource 
 Système de ramasse-miette 
5
Mise en oeoeuvre 
• Salto 
- Récupérer des informations statiques 
- Instrumenter du code assembleur 
 Insérer des instructions 
• Au cours de l’’exécution 
- Récupérer des informations dynamiques 
 Ordre d’’exécution 
 Adresses des accès à la mémoire 
 É tat du système 
6
Instrumentation [1] 
• Exemple simple 
7
Instrumentation [1] 
• Exemple simple 
7
Instrumentation [1] 
• Exemple simple 
7
Instrumentation [1] 
• Exemple simple 
7
Instrumentation [1] 
• Exemple simple 
7
Instrumentation [2] 
• Différentes phases 
- Sauvegarde du contexte 
- Création de la structure de donnée 
- Traitement des opérandes 
- Traitement des résultats 
- Parcours du graphe si nécessaire 
- Restauration du contexte 
8
Vé rification 
• Ré-exécution du même programme avec 
les mêmes données en entrée 
- Saut des instructions inutiles 
• Vérification que les deux exécutions sont 
équivalentes 
9
Ré sultats 
• Tests effectués sur GZIP et GUNZIP 
- Sans optimisation de compilation 
 Entre 1 et 11 % de travail inutile en moyenne 
- Avec optimisations de compilation 
 Entre 10 et 12 % de travail inutile en moyenne 
- Dépend du type de traitement 
 Compression 
 Décompression 
- Dépend du fichier traité 
10
Analyse [1] 
11 
GZIP sur un fichier texte de 2 Ko 
Sans optimisation de compilation 
Nombre d’instructions dynamiques 
Nombre d’instructions inutiles
Analyse [2] 
• Phase d’’initialisation 
 ≈≈ 50 % de travail inutile 
• Coeoeur de l’’algorithme de compression 
- Sans optimisation de compilation 
 ≈≈ 7 % de travail inutile 
- Avec optimisations de compilation 
 ≈≈ 10 % de travail inutile 
12
Analyse [3] 
• Exemple d’’initialisation 
prev_match = match_start; 
. . . 
if (prev_length>=MIN_MATCH && 
match_length<=prev_length) { 
check_match(strstart-1, prev_match, prev_length); 
. . . 
} 
Affectation inutile dans 95 % des cas 
13
Analyse [4] 
• Au coeoeur de l’’algorithme 
- « Dictionnaire » 
- Insertion d’’un nouvel élément (chaî ne) 
- Recherche de redondance 
- Comparaison progressive 
 Lazy evaluation mechanism 
- Insertion d’’éléments n’’apparaissant qu’’une fois 
 Travail inutile 
14
Conclusion 
• Quantifier le travail inutile 
- Proportion non négligeable dans GZIP 
• Comprendre d’’où il provient 
- Algorithme 
 Inhérent à l’’algorithme 
 Du à une implémentation « naï ve » 
- Compilation 
• É viter ce travail 
- Outil d’’aide au programmeur 
15

Contenu connexe

En vedette

Data Envelopment Analysis
Data Envelopment AnalysisData Envelopment Analysis
Data Envelopment AnalysisAnna Rellama
 
Phrase déclarative et phrase interrogative
Phrase déclarative et phrase interrogativePhrase déclarative et phrase interrogative
Phrase déclarative et phrase interrogativeritaestephan
 
Les Déjeuners Sur l&rsquo;web
Les Déjeuners Sur l&rsquo;webLes Déjeuners Sur l&rsquo;web
Les Déjeuners Sur l&rsquo;web2S3i
 
Diagnostic amiante pour la vente d'un logement
Diagnostic amiante pour la vente d'un logementDiagnostic amiante pour la vente d'un logement
Diagnostic amiante pour la vente d'un logementFishimmo
 
Information metier hotellerie restauration café, bar brasserie www.hotellerie...
Information metier hotellerie restauration café, bar brasserie www.hotellerie...Information metier hotellerie restauration café, bar brasserie www.hotellerie...
Information metier hotellerie restauration café, bar brasserie www.hotellerie...Emploi Hotellerie Restauration
 
État de l'installation intérieure d'électricité
État de l'installation intérieure d'électricitéÉtat de l'installation intérieure d'électricité
État de l'installation intérieure d'électricitéFishimmo
 
Sudest17102013
Sudest17102013Sudest17102013
Sudest17102013Decidento
 
Déclaration finale de lomé
Déclaration finale de loméDéclaration finale de lomé
Déclaration finale de loméRAC-F
 
Eolfc 2013 marcel laviolette - innovation at the local farm level - french ...
Eolfc 2013   marcel laviolette - innovation at the local farm level - french ...Eolfc 2013   marcel laviolette - innovation at the local farm level - french ...
Eolfc 2013 marcel laviolette - innovation at the local farm level - french ...Eastern Ontario Local Food Conference
 
Questionaire On Music Magazine
Questionaire On Music Magazine Questionaire On Music Magazine
Questionaire On Music Magazine CharlotteW123
 
Beautifulspectacle 121125025854-phpapp02
Beautifulspectacle 121125025854-phpapp02Beautifulspectacle 121125025854-phpapp02
Beautifulspectacle 121125025854-phpapp02mohan kumar
 
#OAW13 week Agnès Henri EDP Sciences 23 octobre 2013
#OAW13 week Agnès Henri EDP Sciences 23 octobre 2013#OAW13 week Agnès Henri EDP Sciences 23 octobre 2013
#OAW13 week Agnès Henri EDP Sciences 23 octobre 2013MyScienceWork
 

En vedette (19)

Data Envelopment Analysis
Data Envelopment AnalysisData Envelopment Analysis
Data Envelopment Analysis
 
DEA
DEADEA
DEA
 
PR #33
PR #33PR #33
PR #33
 
Phrase déclarative et phrase interrogative
Phrase déclarative et phrase interrogativePhrase déclarative et phrase interrogative
Phrase déclarative et phrase interrogative
 
Programme de 10 jours
Programme de 10 joursProgramme de 10 jours
Programme de 10 jours
 
Les Déjeuners Sur l&rsquo;web
Les Déjeuners Sur l&rsquo;webLes Déjeuners Sur l&rsquo;web
Les Déjeuners Sur l&rsquo;web
 
Programmation 2014 2015-aga
Programmation 2014 2015-agaProgrammation 2014 2015-aga
Programmation 2014 2015-aga
 
Diagnostic amiante pour la vente d'un logement
Diagnostic amiante pour la vente d'un logementDiagnostic amiante pour la vente d'un logement
Diagnostic amiante pour la vente d'un logement
 
Lettre espace éthique 1
Lettre espace éthique 1Lettre espace éthique 1
Lettre espace éthique 1
 
Information metier hotellerie restauration café, bar brasserie www.hotellerie...
Information metier hotellerie restauration café, bar brasserie www.hotellerie...Information metier hotellerie restauration café, bar brasserie www.hotellerie...
Information metier hotellerie restauration café, bar brasserie www.hotellerie...
 
État de l'installation intérieure d'électricité
État de l'installation intérieure d'électricitéÉtat de l'installation intérieure d'électricité
État de l'installation intérieure d'électricité
 
Sudest17102013
Sudest17102013Sudest17102013
Sudest17102013
 
Déclaration finale de lomé
Déclaration finale de loméDéclaration finale de lomé
Déclaration finale de lomé
 
Picoramahd
PicoramahdPicoramahd
Picoramahd
 
Pedagogie2015
Pedagogie2015Pedagogie2015
Pedagogie2015
 
Eolfc 2013 marcel laviolette - innovation at the local farm level - french ...
Eolfc 2013   marcel laviolette - innovation at the local farm level - french ...Eolfc 2013   marcel laviolette - innovation at the local farm level - french ...
Eolfc 2013 marcel laviolette - innovation at the local farm level - french ...
 
Questionaire On Music Magazine
Questionaire On Music Magazine Questionaire On Music Magazine
Questionaire On Music Magazine
 
Beautifulspectacle 121125025854-phpapp02
Beautifulspectacle 121125025854-phpapp02Beautifulspectacle 121125025854-phpapp02
Beautifulspectacle 121125025854-phpapp02
 
#OAW13 week Agnès Henri EDP Sciences 23 octobre 2013
#OAW13 week Agnès Henri EDP Sciences 23 octobre 2013#OAW13 week Agnès Henri EDP Sciences 23 octobre 2013
#OAW13 week Agnès Henri EDP Sciences 23 octobre 2013
 

Similaire à Evaluation de la quantité de travail (in)utile dans l’exécution des programmes

TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringneuros
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgileAgile Tour 2009 Québec
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes AgilesIppon
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
Les outils de base du Lean
Les outils de base du LeanLes outils de base du Lean
Les outils de base du LeanXL Groupe
 
Cas integration open_erp
Cas integration open_erpCas integration open_erp
Cas integration open_erpJoubi Aaziz
 
Integration continue - Introduction
Integration continue - IntroductionIntegration continue - Introduction
Integration continue - IntroductionOlivier ETIENNE
 
cours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptcours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptFatiMa243348
 
La relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesLa relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesEric SIBER
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAssociation Agile Nantes
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1Christophe Rochefolle
 
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex Microsoft Technet France
 
Soutenance séminaire bibliographique
Soutenance séminaire bibliographiqueSoutenance séminaire bibliographique
Soutenance séminaire bibliographiqueMaxime ALAY-EDDINE
 
Ms Experiences 16 - Analyze and Improve your workflows
Ms Experiences 16 - Analyze and Improve your workflowsMs Experiences 16 - Analyze and Improve your workflows
Ms Experiences 16 - Analyze and Improve your workflowsAlexandre Joly
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteStephane Couzinier
 
Alphorm.com Formation Cisco CCNP TSHOOT
Alphorm.com Formation Cisco CCNP TSHOOTAlphorm.com Formation Cisco CCNP TSHOOT
Alphorm.com Formation Cisco CCNP TSHOOTAlphorm
 
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)French Scrum User Group
 

Similaire à Evaluation de la quantité de travail (in)utile dans l’exécution des programmes (20)

Valider par des tests - Blend
Valider par des tests - BlendValider par des tests - Blend
Valider par des tests - Blend
 
TDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoringTDD (Test Driven Developement) et refactoring
TDD (Test Driven Developement) et refactoring
 
Pratiques de développement pour équipes Agile
Pratiques de développement pour équipes AgilePratiques de développement pour équipes Agile
Pratiques de développement pour équipes Agile
 
Presentation Rex Methodes Agiles
Presentation Rex Methodes AgilesPresentation Rex Methodes Agiles
Presentation Rex Methodes Agiles
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Les outils de base du Lean
Les outils de base du LeanLes outils de base du Lean
Les outils de base du Lean
 
Cas integration open_erp
Cas integration open_erpCas integration open_erp
Cas integration open_erp
 
Integration continue - Introduction
Integration continue - IntroductionIntegration continue - Introduction
Integration continue - Introduction
 
cours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.pptcours-gratuit.com--id-12146.ppt
cours-gratuit.com--id-12146.ppt
 
La relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiquesLa relecture de code : avant tout des pratiques
La relecture de code : avant tout des pratiques
 
Intro archi
Intro archiIntro archi
Intro archi
 
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testableAgile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
Agile Tour Nantes 2014 - Tdd, le meilleur moyen d'écrire du code testable
 
Automatisation des tests - objectifs et concepts - partie 1
Automatisation des tests  - objectifs et concepts - partie 1Automatisation des tests  - objectifs et concepts - partie 1
Automatisation des tests - objectifs et concepts - partie 1
 
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
Automatisez, visualisez et améliorez vos processus d’entreprise avec Nintex
 
Soutenance séminaire bibliographique
Soutenance séminaire bibliographiqueSoutenance séminaire bibliographique
Soutenance séminaire bibliographique
 
Ms Experiences 16 - Analyze and Improve your workflows
Ms Experiences 16 - Analyze and Improve your workflowsMs Experiences 16 - Analyze and Improve your workflows
Ms Experiences 16 - Analyze and Improve your workflows
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverte
 
Alphorm.com Formation Cisco CCNP TSHOOT
Alphorm.com Formation Cisco CCNP TSHOOTAlphorm.com Formation Cisco CCNP TSHOOT
Alphorm.com Formation Cisco CCNP TSHOOT
 
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
TDD/BDD: ou comment j’ai appris à ne plus m’en faire avec les tests (et la doc)
 

Dernier

A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 

Dernier (20)

A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 

Evaluation de la quantité de travail (in)utile dans l’exécution des programmes

  • 1. Soutenance de stage de DEA É valuation de la quantité de travail utile dans l’’exécution des programmes Stage encadré par P. Michaud et effectué par B. Vidal Projet CAPS
  • 2. Dé finition • Une instruction dynamique est utile si - Elle produit un résultat émis en sortie - Elle produit un résultat utilisé comme opérande d’’une instruction utile - C’’est un branchement 2
  • 3. 3 Bibliographie • Différentes définitions du travail inutile - Valeurs mortes dynamiques  G. Sohi & A. Butt ASPLOS X - oct. 2002 - É critures silencieuses  M. Lipasti, K. Lepak & G. Bell IEEE, vol. 50, No. 11 - nov. 2001 - É valuation de l’’ensemble du travail inutile après exécution
  • 4. La mé thode utilisé e [1] • Exemple simple 3
  • 5. La mé thode utilisé e [1] • Exemple simple 3
  • 6. La mé thode utilisé e [1] • Exemple simple 3
  • 7. La mé thode utilisé e [1] • Exemple simple 3
  • 8. La mé thode utilisé e [1] • Exemple simple 3
  • 9. La mé thode utilisé e [1] • Exemple simple 3
  • 10. La mé thode utilisé e [1] • Exemple simple 3
  • 11. La mé thode utilisé e [1] • Exemple simple 3
  • 12. La mé thode utilisé e [1] • Exemple simple 3
  • 13. La mé thode utilisé e [2] • Graphe de dépendance de donnée - Construction au cours de l’’exécution - Relier les instructions dépendantes  Registres  Mémoire • Parcours du graphe - Sources (sorties ou branchements) - Marquage des instructions utiles 4
  • 14. Optimisation • Réduction du graphe - Suppression des noeoeuds certifiés utiles  A mesure que le programme se déroule  Un noeoeud utile ne peut devenir inutile - Suppression des noeoeuds certifiés inutiles  Une instruction n’’est accessible depuis aucune ressource  Système de ramasse-miette 5
  • 16. Optimisation • Réduction du graphe - Suppression des noeoeuds certifiés utiles  A mesure que le programme se déroule  Un noeoeud utile ne peut devenir inutile - Suppression des noeoeuds certifiés inutiles  Une instruction n’’est accessible depuis aucune ressource  Système de ramasse-miette 5
  • 17. Mise en oeoeuvre • Salto - Récupérer des informations statiques - Instrumenter du code assembleur  Insérer des instructions • Au cours de l’’exécution - Récupérer des informations dynamiques  Ordre d’’exécution  Adresses des accès à la mémoire  É tat du système 6
  • 18. Instrumentation [1] • Exemple simple 7
  • 19. Instrumentation [1] • Exemple simple 7
  • 20. Instrumentation [1] • Exemple simple 7
  • 21. Instrumentation [1] • Exemple simple 7
  • 22. Instrumentation [1] • Exemple simple 7
  • 23. Instrumentation [2] • Différentes phases - Sauvegarde du contexte - Création de la structure de donnée - Traitement des opérandes - Traitement des résultats - Parcours du graphe si nécessaire - Restauration du contexte 8
  • 24. Vé rification • Ré-exécution du même programme avec les mêmes données en entrée - Saut des instructions inutiles • Vérification que les deux exécutions sont équivalentes 9
  • 25. Ré sultats • Tests effectués sur GZIP et GUNZIP - Sans optimisation de compilation  Entre 1 et 11 % de travail inutile en moyenne - Avec optimisations de compilation  Entre 10 et 12 % de travail inutile en moyenne - Dépend du type de traitement  Compression  Décompression - Dépend du fichier traité 10
  • 26. Analyse [1] 11 GZIP sur un fichier texte de 2 Ko Sans optimisation de compilation Nombre d’instructions dynamiques Nombre d’instructions inutiles
  • 27. Analyse [2] • Phase d’’initialisation  ≈≈ 50 % de travail inutile • Coeoeur de l’’algorithme de compression - Sans optimisation de compilation  ≈≈ 7 % de travail inutile - Avec optimisations de compilation  ≈≈ 10 % de travail inutile 12
  • 28. Analyse [3] • Exemple d’’initialisation prev_match = match_start; . . . if (prev_length>=MIN_MATCH && match_length<=prev_length) { check_match(strstart-1, prev_match, prev_length); . . . } Affectation inutile dans 95 % des cas 13
  • 29. Analyse [4] • Au coeoeur de l’’algorithme - « Dictionnaire » - Insertion d’’un nouvel élément (chaî ne) - Recherche de redondance - Comparaison progressive  Lazy evaluation mechanism - Insertion d’’éléments n’’apparaissant qu’’une fois  Travail inutile 14
  • 30. Conclusion • Quantifier le travail inutile - Proportion non négligeable dans GZIP • Comprendre d’’où il provient - Algorithme  Inhérent à l’’algorithme  Du à une implémentation « naï ve » - Compilation • É viter ce travail - Outil d’’aide au programmeur 15

Notes de l'éditeur

  1. Bonjour...
  2. Expliquer à l’oral la définition retenue du travail inutile (déf. récursive) Expliquer d’emblée le but du stage
  3. Donner rapidement à l’oral les deux autres définitions et les comparer à la notre. Mettre en évidence le fait que les valeurs mortes dynamiques sont un sous ensemble de notre def. Et que les écritures silencieuses sont disjointe à la def.
  4. Expliquer le principe de la table de l’état mémoire/registres
  5. Introduire les problèmes mémoire posés par cet algorithme !
  6. Expliquer à l’oral ce que représente un arc du graphe (un lien de dépendance partant du consommateur d’une ressource et allant à son producteur). Expliquer qu’il sagit d’un graphe de dépendance de donnée dynamique ! =&amp;gt; il est impossible de le construire avant l’exécution. Dire que chaque instruction dynamique du programme est un noeud. Expliquer que le parcours du graphe part d&amp;apos;une source (noeud de sortie ou de branchement) et parcours tous les arcs sortants de ce noeud (opérandes de l&amp;apos;instruction). Ainsi de suite récursivement jusqu&amp;apos;à arriver à des puits du graphe (instruction sans opérandes : instructions d&amp;apos;affectation d&amp;apos;une constante ou entrée d&amp;apos;une donnée par l&amp;apos;utilisateur). Ne pas oublier de parler de GZIP
  7. Gros problème de l’algo précédent : on est obligé de garder en mémoire une quantité d’information très importante pendant l’exécution du programme =&amp;gt; impossible de tester de gros programmes (limité à 300 000 instructions). Réduction du graphe =&amp;gt; réduction de l’occupation mémoire. Grace aux optimisations proposées qui ont été implémentées (libération mémoire des noeuds certifiés utiles seulement) =&amp;gt; jusqu’à 1 000 000 d’instructions (gain d’un facteur 3 à 4). Expliquer que les noeuds peuvent être certifiés utiles à mesure que le programme se déroule si on a des sorties intermédiaires. Transition avec prec : solution au problème de mémoire rencontrés : optimisation.
  8. Gros problème de l’algo précédent : on est obligé de garder en mémoire une quantité d’information très importante pendant l’exécution du programme =&amp;gt; impossible de tester de gros programmes (limité à 300 000 instructions). Réduction du graphe =&amp;gt; réduction de l’occupation mémoire. Grace aux optimisations proposées qui ont été implémentées (libération mémoire des noeuds certifiés utiles seulement) =&amp;gt; jusqu’à 1 000 000 d’instructions (gain d’un facteur 3 à 4). Expliquer que les noeuds peuvent être certifiés utiles à mesure que le programme se déroule si on a des sorties intermédiaires. Transition avec prec : solution au problème de mémoire rencontrés : optimisation.
  9. Gros problème de l’algo précédent : on est obligé de garder en mémoire une quantité d’information très importante pendant l’exécution du programme =&amp;gt; impossible de tester de gros programmes (limité à 300 000 instructions). Réduction du graphe =&amp;gt; réduction de l’occupation mémoire. Grace aux optimisations proposées qui ont été implémentées (libération mémoire des noeuds certifiés utiles seulement) =&amp;gt; jusqu’à 1 000 000 d’instructions (gain d’un facteur 3 à 4). Expliquer que les noeuds peuvent être certifiés utiles à mesure que le programme se déroule si on a des sorties intermédiaires. Transition avec prec : solution au problème de mémoire rencontrés : optimisation.
  10. On ne passe pas trop de temps sur l’implémentation mais il nous a semblé intéressant de mettre en lumière la méthode qui nous a permis de récupérer des information dynamiques : l’instrumentation. Expliquer à l’oral que l’état du système permet de connaitre le niveau de la fenêtre de registres dans le cas de l’architecture utilisée (Sparc).
  11. Dans notre cas nous avions besoin de -&amp;gt; transp suivant
  12. La façon dont nous avons instrumenté chaque instruction. Expliquer le travail qui est fait au niveau de chacune des phases.
  13. Expliquer que cette vérification à permis d’affiner l’implémentation du premier programme et de s’assurer que le travail inutile l’était bien. Expliquer qu’on n’a réussi à le faire tourner que sur un niveau d’optimisation de compilation nul.
  14. Expliquer qu’on a écarté de ces chiffres le cas particulier ou on recompresse/décompresse un fichier déjà compressé.
  15. Donner les conditions de tests à l’oral + marquer de quoi il sagit
  16. Ce qu’on a appris sur GZIP…