Travail de master
Multi-Processing Template
Library
Didier Baertschiger
sous la direction de
Bastien Chopard et Jonas Latt
2006 – Universit´e de Gen`eve
Table des mati`eres
Pr´eface vii
1 Notions importantes du C++ et aper¸cu de la STL 1
1.1 Fonctionnalit´es du C++ . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Templates............................ 2
1.1.2 Espaces de nommage (namespaces) .............. 7
1.2 Vue d’ensemble de la STL . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Conteneurs ........................... 10
1.2.2 It´erateurs ............................ 13
1.2.3 Algorithmes........................... 18
1.2.4 R´esum´e ............................. 21
2 Utilisation de la MPTL 23
2.1 Fonctions utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.1 Nombre de threads . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.2 Ex´ecution d’un algorithme . . . . . . . . . . . . . . . . . . . 25
2.2 Parall´elisation des algorithmes de la STL . . . . . . . . . . . . . . . 29
2.2.1 Limitations de la MPTL . . . . . . . . . . . . . . . . . . . . 30
2.2.2 Liste des algorithmes parall´elis´es . . . . . . . . . . . . . . . 33
2.2.3 Exemples d’utilisation . . . . . . . . . . . . . . . . . . . . . 37
2.3 Construction d’un nouvel algorithme . . . . . . . . . . . . . . . . . 46
2.3.1 CSPA .............................. 47
2.3.2 Cr´eation d’une classe de r´eduction . . . . . . . . . . . . . . . 58
2.3.3 Fonction de convenance . . . . . . . . . . . . . . . . . . . . 60
iv Table des mati`eres
2.3.4 Exemples complets . . . . . . . . . . . . . . . . . . . . . . . 61
2.4 R´ecapitulation.............................. 77
3 Impl´ementation de la MPTL 79
3.1 Mod`ele de programmation . . . . . . . . . . . . . . . . . . . . . . . 79
3.1.1 Mod`ele retenu pour la MPTL . . . . . . . . . . . . . . . . . 80
3.1.2 Autres possibilit´es . . . . . . . . . . . . . . . . . . . . . . . 84
3.2 El´ements essentiels de la programmation . . . . . . . . . . . . . . . 85
3.2.1 Ex´ecution d’un algorithme . . . . . . . . . . . . . . . . . . . 86
3.2.2 Op´erations multithreads . . . . . . . . . . . . . . . . . . . . 90
3.3 Fichiers sources de la MPTL . . . . . . . . . . . . . . . . . . . . . . 93
3.4 Thread-safety .............................. 94
4 R´esultats 97
4.1 Conditionsdestests........................... 98
4.2 Algorithmes de la STL . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.3 EnsemblesdeJulia ...........................103
4.3.1 Distribution statique des charges . . . . . . . . . . . . . . . 104
4.3.2 Distribution dynamique des charges . . . . . . . . . . . . . . 107
4.3.3 Tests suppl´ementaires . . . . . . . . . . . . . . . . . . . . . 110
4.4 EquationdeLaplace ..........................111
4.4.1 Enonc´e du probl`eme . . . . . . . . . . . . . . . . . . . . . . 111
4.4.2 Description de l’algorithme . . . . . . . . . . . . . . . . . . . 112
4.4.3 R´esultats des tests . . . . . . . . . . . . . . . . . . . . . . . 113
5 Conclusion 119
A Quicksort 121
A.1 Description de l’algorithme retenu . . . . . . . . . . . . . . . . . . . 122
A.2 Utilisation de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . 124
A.3 R´esultats ................................125
Ressources Internet 127
Table des mati`eres v
Bibliographie 129
1 / 139 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !