prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a...
TRANSCRIPT
Prediction de comportement d’applications
paralleles et placement a l’aide de modeles
economiques sur une grille de calcul
Soutenance de these en vue de l’obtention duDoctorat de l’Universite de Toulouse
Bernard Miegemolle
Directeur de these : Thierry Monteil
LAAS-CNRS
11 septembre 2008
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Les grilles de calculObjectifs de la thesePlan de la presentation
Les grilles de calcul
Naissance du concept de grilles
Augmentation des besoins en puissance decalcul
Calcul distribueClustering
Avenement des reseaux longues distances a hautdebit
Interconnexion de clusters
Grilles de calcul
2/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Les grilles de calculObjectifs de la thesePlan de la presentation
Les grilles de calcul
Objectifs principaux
Fournir une importante capacite de calcul
parallele
Exploiter les ressources sous-utilisees
Acceder a des ressources additionnelles
Assurer une tolerance aux fautes pour un cout
moindre
3/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Les grilles de calculObjectifs de la thesePlan de la presentation
Les grilles de calcul
Objectifs principaux
Fournir une importante capacite de calcul
parallele
Exploiter les ressources sous-utilisees
Acceder a des ressources additionnelles
Assurer une tolerance aux fautes pour un cout
moindre
Exemples de grilles
SETI@home
Grid’50003/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Les grilles de calculObjectifs de la thesePlan de la presentation
Objectifs de la these
Proposer un modele d’ordonnancement permettant de :
partager equitablement l’acces aux ressourcesreguler la demande sur les ressources de maniere naturelle
Proposer une methode de prediction du tempsd’execution des applications
automatiser l’estimation du temps d’execution des applicationsminimiser les sources d’erreurs
4/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Les grilles de calculObjectifs de la thesePlan de la presentation
Plan de la presentation
1 Estimation du temps d’execution d’une application
2 Resolution du modele de prediction hybride
3 Gestion des ressources d’une grille a l’aide d’un modele economique
4 Mise en place d’un gestionnaire de ressources
5 Conclusion et perspectives
5/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Plan de la presentation
1 Estimation du temps d’execution d’une applicationSources d’inspirationMethode hybride de prediction
2 Resolution du modele de prediction hybride
3 Gestion des ressources d’une grille a l’aide d’un modele economique
4 Mise en place d’un gestionnaire de ressources
5 Conclusion et perspectives
6/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Sources d’inspiration
Prediction basee sur un historique d’executions
passees→ historic-based prediction
Prediction basee sur le profil des applications
→ profile-based prediction
7/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Estimation du WCET d’une application
Definition
WCET = Worst-Case Execution Time
Majorant des temps d’execution d’un programme
Domaine du temps reel :Dimensionnement de systemes temps reelDetermination d’ordonnancements hors-lignesOptimisation du code d’applications
8/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Estimation du WCET d’une application
Methodes dynamiques d’analyse du WCETMesure du temps d’execution du programmePrincipale difficulte : trouver un jeu d’entrees amenant auWCET de l’application
Methodes statiques d’analyse du WCET1 Analyse de flot2 Analyse de bas niveau3 Calcul du WCET
9/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Estimation du WCET d’une application
Exemple d’analyse statique du WCET
void matrixMultiplication() {for ( int i = 0 ; i < dimensions ; i++ ) {
for ( int j = 0 ; j < dimensions ; j++ ) {resultMatrix[i][j] = 0 ;
for ( int k = 0 ; k < dimensions ; k++ ) {resultMatrix[i][j] += leftMatrix[i][k] * rightMatrix[k][j] ;
}}
}}
10/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Estimation du WCET d’une application
Exemple d’analyse statique du WCET1. Analyse de flot
Decouper le programme en blocs elementaires
Determiner l’ensemble des chemins d’execution
Definition
Bloc de base : sequence maximale d’instructionspossedant un et un seul point d’entree ainsi qu’unet un seul point de sortie dans le flot de controledu programme.
11/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
void matrixMultiplication() {for ( int i = 0 ; i < dimensions ; i++ ) {
for ( int j = 0 ; j < dimensions ; j++ ) {resultMatrix[i][j] = 0 ;
for ( int k = 0 ; k < dimensions ; k++ ) {resultMatrix[i][j] += leftMatrix[i][k] * rightMatrix[k][j] ;
}}
}}
Blocs de Code associe
base
BB1 int i = 0 ;
BB2 i < dimensions
BB3 int j = 0 ;
BB4 j < dimensions
BB5 resultMatrix[i][j] = 0 ; int k = 0 ;
BB6 k < dimensions
BB7 resultMatrix[i][j] += leftMatrix[i][k] * rightMatrix[k][j] ; k++ ;
BB8 Fin de la fonction
BB9 i++ ;
BB10 j++ ;
12/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
13/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Estimation du WCET d’une application
Exemple d’analyse statique du WCET2. Analyse de bas niveau
Determiner le temps d’execution des blocs de base
Modelisation des architectures cibles
Mesures directes
14/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Estimation du WCET d’une application
Exemple d’analyse statique du WCET3. Calcul du WCET → Implicit Path Enumeration Technique
Contraintes structurelles :
8
>
>
>
>
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
>
>
>
>
>
:
NBB1 + N
BB9 = N
BB2
NBB2 = N
BB3 + N
BB8
NBB3 + N
BB10 = N
BB4
NBB4 = N
BB5 + N
BB9
NBB5 + N
BB7 = N
BB6
NBB6 = N
BB7 + N
BB10
15/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Estimation du WCET d’une application
Exemple d’analyse statique du WCET3. Calcul du WCET → Implicit Path Enumeration Technique
Contraintes fonctionnelles :
8
>
>
>
>
>
>
<
>
>
>
>
>
>
:
NBB1 = 1
NBB3 = dimensions
NBB3 = dimensions
2
NBB3 = dimensions
3
15/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Estimation du WCET d’une application
Exemple d’analyse statique du WCET3. Calcul du WCET → Implicit Path Enumeration Technique
Probleme d’optimisation lineaire a variables entieres sous
contraintes :
WCET =X
b
NBBb · T
BBb
15/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Prediction basee sur un historique
Principe :
Deux executions d’un programme dans descontextes proches produisent des temps d’execution
voisins
16/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Estimation du temps d’execution d’une application
Prediction basee sur un historique
Approche par apprentissage base sur desinstances
Base de connaissances contenant les experiences passeesPrediction realisee a partir des experiences les plus appropriees
17/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Sources d’inspirationMethode hybride de prediction
Methode hybride de prediction
Methode hybride de prediction
Approche basee sur :le profil des applicationsun historique d’executions passees
Etapes necessaires :1 Decoupage du programme en bloc de base
TApp(E ) =∑
b∈BB
NBBb (E ) · TBB
b
2 Determination du temps d’execution des blocs de base3 Determination du nombre d’executions des blocs de base4 Estimation du temps d’execution global de l’application
18/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Plan de la presentation
1 Estimation du temps d’execution d’une application
2 Resolution du modele de prediction hybrideDetermination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
3 Gestion des ressources d’une grille a l’aide d’un modele economique
4 Mise en place d’un gestionnaire de ressources
5 Conclusion et perspectives
19/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Introduction
Modele de prediction hybride de temps
d’execution
TApp(E ) =∑
b∈BB
NBBb (E ) · TBB
b
Hypotheses
E ≃ E ∗ =⇒ TApp(E ) ≃ TApp(E∗)
E ≃ E ∗ =⇒ NBBb (E ) ≃ NBB
b (E ∗)
TBBb constant
20/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Obtention d’un systeme d’equations lineaires
X executions du programme pour differents jeuxd’entrees E (e)
∀e ∈ [1,X ] TApp(E (e)) =X
b∈BB
NBBb (E (e)) · TBB
b
Utilisation d’outils de profiling :Gprof : TApp(E
(e))Gcov : NBB
b (E (e))
21/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Obtention d’un systeme d’equations lineaires
Systeme d’equations lineaires : A · x = b
A =
2
6
6
6
6
6
4
NBBb1
(E (1)) NBBb2
(E (1)) · · · NBBbCard(BB)
(E (1))
NBBb1
(E (2)) NBBb2
(E (2)) · · · NBBbCard(BB)
(E (2))
......
......
NBBb1
(E (X )) NBBb2
(E (X )) · · · NBBbCard(BB)
(E (X ))
3
7
7
7
7
7
5
b =
2
6
6
6
6
4
TApp(E (1))
TApp(E (2))...
TApp(E (X ))
3
7
7
7
7
5
x =
2
6
6
6
6
4
TBBb1
TBBb2
...TBB
bCard(BB)
3
7
7
7
7
5
22/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Exemple traite
Programme d’elevation d’une matrice carree de
dimension quelconque a une puissance donneeDeux entrees :
dimension de la matricepuissance a laquelle l’elever
100150
200250
300350
400450
500
0
200
400
600
800
10000
500
1000
1500
Entrée 1 : Dimension de la matrice
Entrée 2 :Puissance
Tem
ps d
’exé
cutio
n m
oyen
(en
s)
0 20 40 60 80 100 120 140 1600
500
1000
1500
Exécutions du programme pour différents jeux d’entrées
Tem
ps d
’exé
cutio
n du
pro
gram
me
(en
s)
23/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution a l’aide d’outils standards
Outils utilises :linprog : solveur de problemes d’optimisation ou deprogrammation lineairefsolve : solveur d’equations non-lineaires
Methode :1 Resoudre le systeme A · x = b2 Comparer le produit A · x avec b
24/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution a l’aide d’outils standards
Fonction linprog
0 20 40 60 80 100 120 140 16010
0
101
102
103
104
105
106
107
Exécutions du programme pour différents jeux d’entrées
Tem
ps d
’exé
cutio
n du
pro
gram
me
(en
s)
Temps d’exécution réel du programmeTemps d’exécution estimé par linprog
Erreur relative moyenne : 1, 50 × 105%
Fonction fsolve
0 20 40 60 80 100 120 140 160−1500
−1000
−500
0
500
1000
1500
2000
2500
Exécutions du programme pour différents jeux d’entréesTe
mps
d’e
xécu
tion
du p
rogr
amm
e (e
n s)
Temps d’exécution réel du programmeTemps d’exécution estimé par fsolve
Erreur relative moyenne : 7, 06 × 102%
25/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution a l’aide d’outils standards
Causes des erreurs observees :Systeme mal conditionneDependances entre lignes et colonnes dues :
aux jeux d’entrees choisis
a la structure du programme
{
NBB1 + NBB
9 = NBB2
NBB2 = NBB
3 + NBB8
26/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution iterative du systeme d’equations
Systeme a resoudre :
A · x = b
Objectif
Exprimer le systeme d’equations sous la forme d’unesuite convergente :
{
x0 : conditions initiales
xi = G · xi−1 + h
27/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution iterative du systeme d’equations
1 Decomposition de A en valeurs singulieres
A = U · Σ · V T
28/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution iterative du systeme d’equations
1 Decomposition de A en valeurs singulieres
2 Introduction d’une erreur ε
A = U · (Σ + ε) · V T
28/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution iterative du systeme d’equations
1 Decomposition de A en valeurs singulieres
2 Introduction d’une erreur ε
3 Decomposition de Σ
Σ = α · Im×n − D
28/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution iterative du systeme d’equations
1 Decomposition de A en valeurs singulieres
2 Introduction d’une erreur ε
3 Decomposition de Σ
x = α−1·V ·In×m ·(D−ε)·V T
·x+α−1·V ·In×m ·U
T·b
28/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution iterative du systeme d’equations
{
x0 : conditions initiales
xi = G · xi−1 + h
Avec :G = α
−1· V · In×m · (D − ε) · V T
h = α−1
· V · In×m · UT· b
29/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution iterative du systeme d’equations
G = α−1
· V · In×m · (D − ε) · V T
Theoreme
La suite converge si le rayon spectral de la matrice G , note ρ(G), est strictementinferieur a 1.
Propriete
La vitesse de convergence de la suite est d’autant plus elevee que le rayon spectral dela matrice G est faible.
30/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution iterative du systeme d’equations
G = α−1
· V · In×m · (D − ε) · V T
Proposition
Etant donnee une valeur ρ(G) du rayon spectral de la matrice G , une valeur possiblede la matrice d’erreur ε pour l’obtenir est :
ε = (1 − ρ(G)) · D
31/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution iterative du systeme d’equations
Convergence de la suite :
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
0.22
0.24
Rayon spectral de la matrice d’itération
Mei
lleur
crit
ère
trouv
é se
lon
le ra
yon
spec
tral c
hois
i
32/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Resolution iterative du systeme d’equations
Resultats obtenus :
0 20 40 60 80 100 120 140 1600
500
1000
1500
Exécutions du programme pour différents jeux d’entrées
Tem
ps d
’exé
cutio
n du
pro
gram
me
(en
s)
Temps d’exécution réel du programmeTemps d’exécution déterminé parla méthode itérative améliorée
33/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Determination du temps d’execution des blocs de base
Etude du comportement d’un programme
TApp(E ) =∑
b∈BB
NBBb (E ) · TBB
b
Estimation du chemin d’execution emprunte enfonction des entrees du programme
Approche d’apprentissage base sur des instances
34/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Modele mathematique
Vecteur d’entrees :
E (i) ={
E (i)v
}
v∈[1;NV ]=
E(i)1
E(i)2...
E(i)
NV
Base de connaissances :
EExp =
⋃
i∈[1;X ]
{
E (i)}
35/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Modele mathematique
Estimation du nombre d’executions des blocs de
base :
NBBb (E ∗) =
∑
E∈EExp
[
K(
Db (E ∗, E )
)
· NBBb (E )
]
∑
E∈EExp
K(
Db (E ∗, E )
)
Fonction de ponderation :
K (d) = e−(dk )
2
36/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Modele mathematique
Distance entre deux entrees :
Db
“
E (1), E (2)”
=
v
u
u
t
NVX
v=1
wv,b · d“
E(1)v ,E
(2)v
”2avec 0 6 wv,b 6 1
Metrique heterogene de distance :0 6 d
(
E(1)v , E
(2)v
)
6 1
Valeurs numeriques :|E (1)
v −E (2)v |
maxE
(x)v
−minE
(x)v
Valeurs nominales :E
(1)v = E
(2)v ⇒ d
“
E(1)v , E
(2)v
”
= 0
E(1)v 6= E
(2)v ⇒ d
“
E(1)v , E
(2)v
”
= 1
37/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Modele mathematique
Db
“
E (1),E (2)”
=
v
u
u
t
NVX
v=1
wv,b · d“
E(1)v ,E
(2)v
”2avec 0 6 wv,b 6 1
for (int i = 0 ; i < uneEntree ; i++) { // avec 0 6 uneEntree 6 100instructions;
}for (int j = 0 ; j < autreEntree ; j++) { // avec 0 6 autreEntree 6 100
instructions;
}
E1 =
»
00
–
E2 =
»
50100
–
E∗ =
»
0100
–
38/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Annotations du code source
Determiner l’impact relatif des entrees sur le nombre d’executions desblocs de base
→ Attribuer une valeur a wv,b
Specifications :Permettre a l’utilisateur d’exprimer les dependances des blocsde base vis-a-vis des entreesExprimer les dependances directement dans le code sourceSysteme transparent vis-a-vis de la compilation et del’execution de l’application
39/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Annotations du code source
Exemples d’annotations :
#pragma etp inputs (uneEntree, autreEntree)
#pragma etp begin dependency (uneEntree)
for (int i = 0 ; i < uneEntree ; i++) {instructions;
}#pragma etp end
40/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Exemple traite
Application de filtrage particulaireApplication parallele adaptee a une execution sur grilleModele maıtre / esclaveTaches esclaves identiques et peu communicantesTemps d’execution de la tache maıtre negligeable devant celuides taches esclaves
Application parallele a gros grain dont les taches
sont identiques et synchrones
41/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Exemple traite
Application de filtrage particulaire
Entrees du programme :Nombre de particulesNombre d’intervalles de tempsNombre de taches
E =
8
<
:
E =
2
4
E1
E2
E3
3
5 tels que
˛
˛
˛
˛
˛
˛
50000 6 E1 6 5000001000 6 E2 6 10000
4 6 E3 6 12
9
=
;
Programme correctement annote
42/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Resultats obtenus
Contexte :X = 250k = 0, 01500 requetes
Resultats :Nombre de requetes Erreurs
300 < 1%40 entre 1% et 5%43 entre 5% et 10%67 entre 10% et 25%50 > 25%
Erreur moyenne : 6,61 %
43/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Resultats obtenus
Influence du contenu de la base de connaissancesErreur en fonction du nombre d’experiences contenues dans labase de connaissances
50 100 150 200 250 300 350 400 450 5000
0.05
0.1
0.15
0.2
0.25
0.3
0.35
Nombre d’expériences présentes dans la base de connaissances
Erre
ur re
lativ
e su
r l’e
nsem
ble
des
préd
ictio
ns
44/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Resultats obtenus
Influence de la largeur de la fonction de
ponderationErreur en fonction de la valeur de k avec X = 500
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Coefficient k
Erre
ur re
lativ
e su
r l’e
nsem
ble
des
préd
ictio
ns
45/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Etude du comportement d’un programme
Resultats obtenus
Influence de la largeur de la fonction de
ponderationErreur en fonction de la valeur de k avec X = 75
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.40.25
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
Coefficient k
Erre
ur re
lativ
e su
rl’e
nsem
ble
des
préd
ictio
ns
45/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Modele complet de prediction hybride
Modele complet de prediction hybride
46/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Modele complet de prediction hybride
Resultats obtenus
Caracteristiques des predictions effectueesNombre d’experiences contenues dans la base : 350Nombre de requetes : 250
Resultats :0 50 100 150 200 250 300 350 400 450 500
0
1
2
3
4
5
6
7
8
9
10x 10
4
Exécutions du programme pour différents jeux d’entrées
Tem
ps d
’exé
cutio
n (e
n s)
Temps d’exécution réel du programmeTemps d’exécution estimé par la méthode hybride de prédiction
Erreur moyenne : 8,70 %
47/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Determination du temps d’execution des blocs de baseEtude du comportement d’un programmeModele complet de prediction hybride
Modele complet de prediction hybride
Resultats obtenus
200 250 300 350 400 450 5000
0.05
0.1
0.15
0.2
0.25
Nombre d’expériences présentes dans la base de connaissances
Err
eur r
elat
ive
sur l
’ens
embl
e de
s pr
édic
tions
Méthode classique de prédiction utilisantun apprentissage basé sur des instances
Méthode hybride de prédiction detemps d’exécution
48/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Plan de la presentation
1 Estimation du temps d’execution d’une application
2 Resolution du modele de prediction hybride
3 Gestion des ressources d’une grille a l’aide d’un modele economiqueLa problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
4 Mise en place d’un gestionnaire de ressources
5 Conclusion et perspectives
49/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Gestion des ressources d’une grille a l’aide d’un modele
economique
Objectif
Mettre en place un modele d’ordonnancement base sur desparadigmes economiques
→ Reguler la demande sur les ressources
50/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
La problematique de l’ordonnancement
Principe general
51/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
La problematique de l’ordonnancement
Strategies d’ordonnancement
Politique FIFO
Backfilling
Politique MET (Minimum Execution Time)
Politique MCT (Minimum Completion Time)
52/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
La problematique de l’ordonnancement
Strategies d’ordonnancement
Politique FIFO
Backfilling
Politique MET (Minimum Execution Time)
Politique MCT (Minimum Completion Time)
Strategies difficiles a mettre en œuvre dans
des environnements de grilles
52/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Introduction aux modeles economiques
Objectifs principaux des modeles economiques
Mettre en relation producteurs et
consommateurs de ressources
Reguler l’offre et la demande
S’affranchir d’un controle centralise
Gerer l’heterogeneite des ressources
53/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Introduction aux modeles economiques
Modeles fondamentaux
Modele de marche
Modele des negociations
Modele de l’appel d’offres
Modele de la vente aux encheres
54/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Proposition d’un modele economique
ContexteRessources
Ressources heterogenesFonctionnement en mode partageGrille dediee ⇒ Modele de prediction de charge
ApplicationsApplications paralleles a gros grainTaches identiques et synchrones
Modele economiqueModele de marchePrix des ressources variable au cours du tempsPrise en compte de l’etat futur des ressourcesDetermination d’un placement et d’une date de debutMinimisation d’un compromis temps de reponse / cout
55/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Proposition d’un modele economique
Principe de fonctionnement
Exprimer le temps de reponse et le cout del’application en fonction de l’ordonnancement choisi
Probleme d’optimisation
Trouver l’ordonnancement qui minimise uncompromis entre temps de reponse et cout
56/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Proposition d’un modele economique
Notion de quantite de calculs
R
RP
T
P
T
QApp
QApp = T R· PR =⇒ Q =
T R· PR
A
57/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Proposition d’un modele economique
Temps necessaires pour executer une tache
��������
��������
������
������
��������������
��������������
����������
����������
��������
������������
������������
����������������
����������������
����������
����������
����������������
����������������
����������
����������
P
T
P .j
( 1−
Pj
etj
st
qj,k
k
L )j,k
min
8
<
:
K /
kS+K−1X
k=kS
∆T · Pj ·`
1 − Lj,k
´
>TR · PR
A
9
=
;
58/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Proposition d’un modele economique
Execution de plusieurs taches sur un meme
processeur
������������������������������������������������������
������������������������������������������������������
Q
Q
Q
Q Q Q
P
P
T
T
Pj
Pj
������������������������������������������������������
������������������������������������������������������
P
P
T
T
Pj
Pj
P .j ( 1−L )j,k
59/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Proposition d’un modele economique
Temps de reponse de l’application
TApp = tS + T E + T C
ou :
tS = date de debut
T E = temps d’execution
T C = temps de communication
60/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Proposition d’un modele economique
Cout de l’applicationCout lie au temps processeur consomme
Cout lie au nombre de processeurs utilises
Cout lie a la puissance des processeurs utilises
CT ·tCPU TR · PR
A·
NPA
X
j=1
uj
Pj
+CN ·NPU +CP ·
tEexec
tECexec
·
NPA
X
j=1
2
4uj · Pj ·
0
@
1
tECexec
·kECX
k=kS
CPj,k · ∆T
1
A
3
5
61/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
La problematique de l’ordonnancementIntroduction aux modeles economiquesProposition d’un modele economique
Proposition d’un modele economique
Probleme d’optimisation :
non-lineaire
sous contraintes
a variables entieres
62/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Implementation du modele economiqueIntegration au sein d’OARResultats obtenus
Plan de la presentation
1 Estimation du temps d’execution d’une application
2 Resolution du modele de prediction hybride
3 Gestion des ressources d’une grille a l’aide d’un modele economique
4 Mise en place d’un gestionnaire de ressourcesImplementation du modele economiqueIntegration au sein d’OARResultats obtenus
5 Conclusion et perspectives
63/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Implementation du modele economiqueIntegration au sein d’OARResultats obtenus
Objectifs et contexte
Missions d’un gestionnaire de ressources
Service d’ordonnancement
Service d’information
Service d’execution et d’observation
64/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Implementation du modele economiqueIntegration au sein d’OARResultats obtenus
Objectifs et contexte
Objectifs
1 Implementation du modele economique
2 Integration au sein d’OAR
65/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Implementation du modele economiqueIntegration au sein d’OARResultats obtenus
Implementation du modele economique
Probleme d’optimisation :
non-lineaire
sous contraintes
a variables entieres
Espace de recherche important
Rapidite d’execution / Optimalite des solutions trouvees
Adaptation aux structures de donnees du modele
Utilisation d’un algorithme genetique
66/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Implementation du modele economiqueIntegration au sein d’OARResultats obtenus
Implementation du modele economique
Performances de l’algorithme
Convergence de l’algorithme
Application de 40taches
Grille de 1000processeurs
Resultats correctsvers 5000 iterations
Stabilite autour de9000 iterations
67/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Implementation du modele economiqueIntegration au sein d’OARResultats obtenus
Implementation du modele economique
Performances de l’algorithme
Hote d’execution : Intel Dual-Core 3,2 GHz
Application de 40 taches
Grille de 1000 processeurs
Temps de resolution : 5 secondes
Application de 40 taches
Grille de 5000 processeurs
Temps de resolution : 18 secondes
68/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Implementation du modele economiqueIntegration au sein d’OARResultats obtenus
Integration au sein d’OAR
Specifications de l’integration du modele au
sein d’OAR
Soumission d’applications via OARCalcul du placement et la date de debutUtilisation du modele economique (algorithme genetique)
Modifications d’OARAdaptations au modele economique
Mode partage
Prediction des performances des ressources
Modifications non-intrusives
Decoupler au maximum le cycle de vie d’OAR de celui de
notre ordonnanceur
69/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Implementation du modele economiqueIntegration au sein d’OARResultats obtenus
Resultats obtenus
Experience : W C = 0, 9 ; W T = 0, 1
70/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Implementation du modele economiqueIntegration au sein d’OARResultats obtenus
Resultats obtenus
70/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
ConclusionPerspectives
Plan de la presentation
1 Estimation du temps d’execution d’une application
2 Resolution du modele de prediction hybride
3 Gestion des ressources d’une grille a l’aide d’un modele economique
4 Mise en place d’un gestionnaire de ressources
5 Conclusion et perspectivesConclusionPerspectives
71/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
ConclusionPerspectives
Conclusion
Placement a l’aide de modeles economiques
Definition d’un modele d’ordonnancementModele economique de marche, prix des ressources variable
Calcul d’ordonnancementsMinimisation d’un compromis temps de reponse / cout
Choix des ressources a utiliser
Choix d’une date de debut
ImplementationAlgorithme genetique
Integration au sein d’OAR
72/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
ConclusionPerspectives
Conclusion
Placement a l’aide de modeles economiques
ApportsGestionnaire de ressources complet et fonctionnel
Ordonnancements a partir de criteres de performances et de cout
Prise en compte de l’evolution future des ressources (prix et charge)
Possiblite de differer l’execution d’une application
73/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
ConclusionPerspectives
Conclusion
Prediction de comportement d’applications
paralleles
Methode hybride de prediction de temps d’execution
Approche utilisant un historique d’executions passees (apprentissage base surdes instances)
Approche basee sur le profil des applications
74/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
ConclusionPerspectives
Conclusion
Prediction de comportement d’applications
paralleles
ApportsPrediction du temps d’execution d’une application en fonction de ses entrees
Estimation basee sur un historique d’executions passees
Prise en compte de la structure du programme
Precision accrue
75/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
ConclusionPerspectives
Conclusion
Proposition de modeles permettant de reguler la demande sur
les ressources d’une grille
Facturation des ressources utilisees
Estimation des besoins en ressources
76/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
ConclusionPerspectives
Conclusion
77/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
ConclusionPerspectives
Perspectives
Perspectives
Modele economique
Extension du type de ressources considerees
Augmentation du cout en fonction de la charge des ressources
Prise en compte de nouveaux types d’applications
Prediction du temps d’execution
Instrumentation du code objet
Annotations automatiques
Modeles analytiques
78/79 Bernard Miegemolle Soutenance de these
IntroductionEstimation du temps d’execution d’une application
Resolution du modele de prediction hybrideGestion de ressources a l’aide d’un modele economique
Mise en place d’un gestionnaire de ressourcesConclusion et perspectives
Questions...
79/79 Bernard Miegemolle Soutenance de these