prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a...

88
Pr´ ediction de comportement d’applications parall` eles et placement ` a l’aide de mod` eles ´ economiques sur une grille de calcul Soutenance de th` ese en vue de l’obtention du Doctorat de l’Universit´ e de Toulouse Bernard Miegemolle Directeur de th` ese : Thierry Monteil LAAS-CNRS 11 septembre 2008

Upload: others

Post on 11-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 2: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 3: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 4: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 5: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 6: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 7: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 8: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 9: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 10: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 11: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 12: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 13: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 14: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 15: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 16: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 17: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 18: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 19: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 20: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 21: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 22: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 23: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 24: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 25: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 26: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 27: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 28: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 29: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 30: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 31: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 32: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 33: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 34: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 35: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 36: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 37: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 38: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 39: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 40: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 41: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 42: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 43: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 44: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 45: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 46: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 47: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 48: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 49: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 50: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 51: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 52: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 53: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 54: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 55: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 56: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 57: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 58: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 59: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 60: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 61: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 62: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 63: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 64: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 65: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 66: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 67: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 68: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 69: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

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

Page 70: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 71: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 72: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 73: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 74: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 75: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 76: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 77: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 78: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 79: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 80: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 81: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 82: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 83: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 84: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 85: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 86: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 87: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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

Page 88: Prédiction de comportement d'applications parallèles et ... · parall`eles et placement `a l’aide de mod`eles ´economiques sur une grille de calcul Soutenance de th`ese en vue

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