Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

57
Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance

Transcript of Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Page 1: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Informatique parallèle

IP 07 : La charge de travail et l’évaluation de performance

Page 2: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le problème

Page 3: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

La charge de travail

La charge de travail, nous en avons de façon naturelle une sensation.

Nous constatons de façon intuitive qu’un système surchargé n’a pas un fonctionnement optimal pas plus qu’un système sous-chargé.

Il existe donc une (zone de) charge de travail où le rendement du système est maximum et cette zone est lié à la capacité de travail du système.

Page 4: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le sentiment de surcharge

Page 5: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le sentiment de surcharge

Page 6: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le sentiment de surcharge

Page 7: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le sentiment de surcharge

Page 8: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le sentiment de surcharge

Page 9: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le sentiment de surcharge

Page 10: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le sentiment de surcharge

Page 11: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le sentiment de surcharge

Page 12: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

La charge de travail

La charge de travail, nous en avons de façon naturelle une sensation.

Nous constatons de façon intuitive qu’un système surchargé n’a pas un fonctionnement optimal pas plus qu’un système sous-chargé.

Il existe donc une (zone de) charge de travail où le rendement du système est maximum et cette zone est lié à la capacité de travail du système.

Pour trouver cette relation, nous devons :

1. Caractériser la charge de travail (analyser le workload) 2. Modéliser la charge de travail 2. Etudier la réponse du système en fonction de différents modèle de workload pour (peut être) en déduire une relation avec la capacité

Page 13: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Caractériser le workload

Page 14: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Etat de l’art

1978 : Ferrari propose une technique d’analyse de workload en vue de construire puis de valider un modèle de comportement des utilisateurs La plupart des travaux d’analyse de workload concerne les machines à mémoire partagée (voir page « workload » de D. Feitelson).

L’une des études les plus complètes concerne la machines iPSC/860 de la NASA effectuée par Feitelson en 1995.

D. Ferrari – Workload Characterization and Selection in Computer Performance Measurement – IEEE Computer – Volume 5, n°4 – p. 18-24 – 1972

D. Feitelson et B. Nitzberg – Job characteristics of a production parallel scientific workload on the NASA Ames iPSC/ 860 – In Proceedings of IPPS '95 Workshop on Job Scheduling Strategies for Parallel Processing – p. 215-227 – Avril 1995 – http://citeseer.nj.nec.com/ feitelson95job.html

D. Feitelson – Parallel Workloads Archive – http://www.cs.huji.ac.il/labs/parallel/workload/

Page 15: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Etude de cas : le workload d’I-cluster

Analyse de logs du serveur PBS situé

dans le frontal d’I-cluster

3 files d’attentes en fonction du nombre de machines demandées :• les travaux sur au plus 6 processeurs (durée par défaut 6h) ;• les travaux utilisant entre 7 et 10 processeurs (durée par défaut 12h) ;• les travaux nécessitant plus de 10 processeurs (durée par défaut 24h).

Page 16: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Exemple de log de PBS03/13/2002 10:09:04;E;570.nis-grappes;user=ecaron group=vthd jobname=STDIN queue=Workq1 ctime=1016008284 qtime=1016008284 etime=1016008284 start=1016008287 exec_host=icluster19/0 Resource_List.ncpus=1 Resource_List.neednodes=1 Resource_List.nodect=1 Resource_List.nodes=1 Resource_List.walltime=06:00:00 session=28065 end=1016010544 Exit_status=0 resources_used.cput=00:00:00 resources_used.mem=3644kb resources_used.vmem=7300kb resources_used.walltime=00:37:38

03/13/2002 10:16:03;Q;572.nis-grappes;queue=Rting

03/13/2002 10:16:03;Q;572.nis-grappes;queue=Workq1

03/13/2002 10:42:21;Q;573.nis-grappes;queue=Rting

03/13/2002 10:42:21;Q;573.nis-grappes;queue=Workq1

03/13/2002 10:42:24;S;573.nis-grappes;user=ecaron group=vthd jobname=STDIN queue=Workq1 ctime=1016012541 qtime=1016012541 etime=1016012541 start=1016012544 exec_host=icluster19/0 Resource_List.ncpus=1 Resource_List.neednodes=1 Resource_List.nodect=1 Resource_List.nodes=1 Resource_List.walltime=06:00:00

03/13/2002 10:44:09;E;573.nis-grappes;user=ecaron group=vthd jobname=STDIN queue=Workq1 ctime=1016012541 qtime=1016012541 etime=1016012541 start=1016012544 exec_host=icluster19/0 Resource_List.ncpus=1 Resource_List.neednodes=1 Resource_List.nodect=1 Resource_List.nodes=1 Resource_List.walltime=06:00:00 session=28244 end=1016012649 Exit_status=0 resources_used.cput=00:00:00 resources_used.mem=3668kb resources_used.vmem=7336kb resources_used.walltime=00:01:48

03/13/2002 10:44:48;D;517.nis-grappes;requestor=mgeups@icluster2

03/13/2002 10:44:53;D;518.nis-grappes;requestor=mgeups@icluster2

03/13/2002 10:44:53;E;517.nis-grappes;user=mgeups group=equipar jobname=runXMLClient.pb queue=Workq2 ctime=1015862679 qtime=1015862679 etime=1015862679 start=1015862681 exec_host=icluster152/0+icluster151/0+icluster149/0+icluster147/0+icluster146/0+icluster144/0+icluster143/0+icluster142/0+icluster141/0+icluster140/0+icluster139/0+icluster138/0+icluster136/0+icluster135/0+icluster134/0+icluster133/0+icluster132/0+icluster131/0+icluster130/0+icluster129/0 Resource_List.ncpus=1 Resource_List.neednodes=20 Resource_List.nodect=20 Resource_List.nodes=20 Resource_List.walltime=72:00:00 session=30306 end=1016012693 Exit_status=143 resources_used.cput=00:00:00 resources_used.mem=13096kb resources_used.vmem=29464kb resources_used.walltime=41:40:12

03/13/2002 10:44:58;S;567.nis-grappes;user=etchever group=vthd jobname=script.pbs queue=Workq1 ctime=1015950309 qtime=1015950309 etime=1015950309 start=1016012698 exec_host=icluster130/0+icluster129/0+icluster19/0 Resource_List.ncpus=1 Resource_List.neednodes=3 Resource_List.nodect=3 Resource_List.nodes=3 Resource_List.walltime=100:00:00

Page 17: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Exemple de log de PBS03/13/2002 10:09:04;E;570.nis-grappes;user=ecaron group=vthd jobname=STDIN queue=Workq1 ctime=1016008284 qtime=1016008284 etime=1016008284 start=1016008287 exec_host=icluster19/0 Resource_List.ncpus=1 Resource_List.neednodes=1 Resource_List.nodect=1 Resource_List.nodes=1 Resource_List.walltime=06:00:00 session=28065 end=1016010544 Exit_status=0 resources_used.cput=00:00:00 resources_used.mem=3644kb resources_used.vmem=7300kb resources_used.walltime=00:37:38

03/13/2002 10:16:03;Q;572.nis-grappes;queue=Rting

03/13/2002 10:16:03;Q;572.nis-grappes;queue=Workq1

03/13/2002 10:42:21;Q;573.nis-grappes;queue=Rting

03/13/2002 10:42:21;Q;573.nis-grappes;queue=Workq1

03/13/2002 10:42:24;S;573.nis-grappes;user=ecaron group=vthd jobname=STDIN queue=Workq1 ctime=1016012541 qtime=1016012541 etime=1016012541 start=1016012544 exec_host=icluster19/0 Resource_List.ncpus=1 Resource_List.neednodes=1 Resource_List.nodect=1 Resource_List.nodes=1 Resource_List.walltime=06:00:00

03/13/2002 10:44:09;E;573.nis-grappes;user=ecaron group=vthd jobname=STDIN queue=Workq1 ctime=1016012541 qtime=1016012541 etime=1016012541 start=1016012544 exec_host=icluster19/0 Resource_List.ncpus=1 Resource_List.neednodes=1 Resource_List.nodect=1 Resource_List.nodes=1 Resource_List.walltime=06:00:00 session=28244 end=1016012649 Exit_status=0 resources_used.cput=00:00:00 resources_used.mem=3668kb resources_used.vmem=7336kb resources_used.walltime=00:01:48

03/13/2002 10:44:48;D;517.nis-grappes;requestor=mgeups@icluster2

03/13/2002 10:44:53;D;518.nis-grappes;requestor=mgeups@icluster2

03/13/2002 10:44:53;E;517.nis-grappes;user=mgeups group=equipar jobname=runXMLClient.pb queue=Workq2 ctime=1015862679 qtime=1015862679 etime=1015862679 start=1015862681 exec_host=icluster152/0+icluster151/0+icluster149/0+icluster147/0+icluster146/0+icluster144/0+icluster143/0+icluster142/0+icluster141/0+icluster140/0+icluster139/0+icluster138/0+icluster136/0+icluster135/0+icluster134/0+icluster133/0+icluster132/0+icluster131/0+icluster130/0+icluster129/0 Resource_List.ncpus=1 Resource_List.neednodes=20 Resource_List.nodect=20 Resource_List.nodes=20 Resource_List.walltime=72:00:00 session=30306 end=1016012693 Exit_status=143 resources_used.cput=00:00:00 resources_used.mem=13096kb resources_used.vmem=29464kb resources_used.walltime=41:40:12

03/13/2002 10:44:58;S;567.nis-grappes;user=etchever group=vthd jobname=script.pbs queue=Workq1 ctime=1015950309 qtime=1015950309 etime=1015950309 start=1016012698 exec_host=icluster130/0+icluster129/0+icluster19/0 Resource_List.ncpus=1 Resource_List.neednodes=3 Resource_List.nodect=3 Resource_List.nodes=3 Resource_List.walltime=100:00:00

Construire une moulinette qui construit une liste d’objets logPBS en se basant d’abord sur leur identifiant

puis sur l’événement (D,Q,S,E) daté

pour traiter le reste des informations

Page 18: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Exemple de log de PBS03/13/2002 10:44:53;E;517.nis-grappes;user=mgeups group=equipar jobname=runXMLClient.pb queue=Workq2 ctime=1015862679 qtime=1015862679 etime=1015862679 start=1015862681 exec_host=icluster152/0+icluster151/0+icluster149/0+icluster147/0+icluster146/0+icluster144/0+icluster143/0+icluster142/0+icluster141/0+icluster140/0+icluster139/0+icluster138/0+icluster136/0+icluster135/0+icluster134/0+icluster133/0+icluster132/0+icluster131/0+icluster130/0+icluster129/0 Resource_List.ncpus=1 Resource_List.neednodes=20 Resource_List.nodect=20 Resource_List.nodes=20 Resource_List.walltime=72:00:00 session=30306 end=1016012693 Exit_status=143 resources_used.cput=00:00:00 resources_used.mem=13096kb resources_used.vmem=29464kb resources_used.walltime=41:40:12

On extrait d’autres informations comme - le nom du job, - le nom de l’utilisateur, - la durée du travail …pour les placer dans la structure de données

Page 19: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analyseEnviron 9332 travaux soumis sur 1 an …

ce qui représente 1828 jours de temps CPU

Page 20: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analyse

Page 21: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analyse

Page 22: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analysePrédominance de certains nombres caractéristiques, on affine l’étude

Page 23: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analyse

Après avoir regardé le nombre de processeurs utilisés, on caractérise le type d’utilisateur :

On en déduit 3 classes d’utilisateurs (batch, interactif et équilibré) à qui on fait correspondre 3 pourcentages de travaux interactifs

Page 24: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analysePuis on regarde l’influence du mois, du jour et de l’heure :

Influence des stagiaires ?

Page 25: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analysePuis on regarde l’influence du mois, du jour et de l’heure :

Influence des stagiaires ?

Proximité des conférences ?

Page 26: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analysePuis on regarde l’influence du mois, du jour et de l’heure :

Page 27: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analysePuis on regarde l’influence du mois, du jour et de l’heure :

On lance des gros travaux en fin de semaine pour récupérer les résultats

le lundi matin

Page 28: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analysePuis on regarde l’influence du mois, du jour et de l’heure :

Page 29: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analysePuis on regarde l’influence du mois, du jour et de l’heure :

On lance des gros travaux pour récupérer les résultats

l’après-midi ou le lendemain

Page 30: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analyseOn regarde d’autres critère comme la durée entre deux soumission de travaux, …

Page 31: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Quelques résultats d’analyse

Faire attention aux biais introduits par le

système

… la répartition des durée des travaux

Page 32: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Modéliser le workload

Page 33: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Elaboration d’un modèle de workload

On implante un générateur de travaux qui simule le

comportement de n utilisateurs (un utilisateur par thread)

dont le comportement est modélisé par le

diagramme état-transition ci-contre.

Page 34: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Elaboration d’un modèle de workload

Page 35: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Elaboration d’un modèle de workload

Page 36: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Elaboration d’un modèle de workload

Page 37: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Elaboration d’un modèle de workload

Les 29% restants sont répartis en respectant les proportions ci-dessous :

Page 38: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Elaboration d’un modèle de workload

Les travaux moldulables ne sont pas utilisés et/ou n’apparaissent pas dans les logs (on ne voit que l’exécution réelles sur un nombre

de processeurs donnés)

On recherche des travaux qui ont été soumis plusieurs fois sur différents

nombres de processeurs afin de construire des pseudo travaux

Modulables en utilisant un modèle d’accélération de Downey « modifié »

Page 39: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le modèle d’accélération de Downey

On considère: • A, le parallélisme moyen ;• V, la variance du parallélisme avec

• Un modèle à forte variance

• Un modèle à faible variance ( )

Downey proposes deux modèles:

Page 40: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Le modèle d’accélération de Downey

Page 41: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Et les tailles particulières des travaux ?

• Jobs monoprocesseurs ; • Jobs utilisant 2n processeurs (2,4, … 128);• Jobs utilisant 2n+1 processeurs (3,5 … 129);• Jobs utilisant n2 processeurs (4,9 … 225);• Jobs utilisant n2+1 processeurs (5,10 … 197);• Jobs utilisant 10n processeurs (10,20 … 220);• Jobs utilisant 10n+1 processeurs (11,21 … 221);• Les autres jobs.

On peut regrouper les travaux selon le nombre de processeurs utilisés :

Page 42: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Et les tailles particulières des travaux ?

On a constaté les répartitions suivantes :

• Les puissances de 2 representent 33,92% des soumissions;• Les jobs monoprocessors regroupent 17,28% des soumissions;• Les multiples de 10 concernent 16,41% des soumissions.

• Les multiples de 10 occupent 29,54% du temps de traitement;• Les jobs monoprocessors utilisent 22,73% du temps de traitement;• Les puissances de 2 occupent 21,73% du temps de traitement.

Page 43: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Modeling the speedup

0

2

4

6

8

10

12

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

Nombre of processeurs

Speedup

Page 44: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Probable scenario of moldable jobs submission

Transformation procedure :

1. Separation of interactive sessions and batches

Consideredas rigid job

Considered as an instance of a moldable job

Page 45: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Probable scenario of moldable jobs submission

Transformation procedure :

1. Separation of interactive sessions and batches

2. Gathering of batches of each user, determination of decreasing section in the curve corresponding to the mean execution time

0

50000

100000

150000

200000

250000

300000

350000

400000

0 20 40 60 80 100 120 140

Number of processors

Exe

cuti

on

tim

e

Raw data Mean

Page 46: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Évaluer la performance

Page 47: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Mettre en place un banc de test

User

Scheduling Service

Information in XML format providing by

Ganglia sensors

Cluster

IXI server

Cluster Managing Service

Mailing Service

Monitoring Service

Storing Service

Connecting Service

Internet

Incoming mails server (POP3…)

IXI client

Internet

Incoming mails server (POP3…)

IXI client

Page 48: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Mettre en place un banc de test

User

Scheduling Service

IXI server

Cluster Managing Service

Monitoring Service

Mailing Service

Storing Service

Connecting Service

Information in XML format providing by

Ganglia sensors

Cluster

Information in XML format providing by

Ganglia sensors

Cluster

Page 49: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

User

Information in XML format providing by

Ganglia sensors

Cluster

Scheduling Service

IXI server

Cluster Managing Service

Monitoring Service

Mailing Service

Storing Service

Connecting Service

Information in XML format providing by

Ganglia sensors

Cluster

Mettre en place un banc de test

Scientist

Gantt’s diagram analyzer

Parallel machine simulator

Information in XML format providing by the

simulator of ganglia sensors

Scheduling service tester

Workload generator

Page 50: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Méthodologie

1. Formalisation du problème• définir l’objectif (sous forme de question)• définition précise du système étudié

2. Formalisation de l’ensemble des réponse du système (que peut-on observer ?)

3. Choisir les critères d’analyse

4. Description des paramètres

5. Sélection des facteurs à étudier (les paramètres qu’on fait varier)

6. Choix d’une méthode d’évaluation

• mesure sur un prototype ou sur système en production : développement d’un banc de test

• benchmarking : mesure sur une application synthétique : par ex. ping-pong pour le réseau

• simulation : par ex. QNAP pour simuler un système qui fonctionne comme des files d’attente

• méthode formelle : certifier, dimensionner, étudier l’impact de facteur, …

Page 51: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Méthodologie

7. Construire le plan d’expérience• définir les différents scénarii d’expérience (un par ensemble de paramètres)• pour chaque scénario, calculer le nombre d’essais à réaliser

On veut donner un résultat avec une marge d’erreur (à r%) ce qui correspond à unintervalle de confiance de 100 (1 - )%. Pour atteindre cet objectif, nous devons réaliser n expériences:

avec

est une fonction tabulée : (=90) = 1,64 ; (=95) = 1,96 ; (=99) = 2,58

Pour calculer et , nous devons faire quelques essais puis calculer la moyenneet l’écart-type des mesures obtenues (on suppose que les essais « erronés » se distribueselon une loi normale autour de la « vraie » valeur).

Page 52: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Méthodologie

8. Faire l’expérience (maîtriser les conditions expérimentales spécifiées précédemment)

9. Analyser les résultats et les présenter

10. Présenter les résultats (voir checklist pour faire de bon graphiques)

Page 53: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Interpréter les résultats

Page 54: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

L’influence de la taille des batchs

0

2000000

4000000

6000000

8000000

10000000

12000000

14000000

16000000

18000000

20000000

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105

Batch size (number of jobs)

Ma

ke

sp

an

(in

se

co

nd

es

)

Page 55: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Comparaison modulable-rigide

0,00

100000,00

200000,00

300000,00

400000,00

500000,00

600000,00

700000,00

800000,00

900000,00

Batch size (number of jobs)

Mak

espa

n (in

sec

onde

s)

Steinberg - rigide 3/2 - moldable

Page 56: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

L’importance des paramètres

0

50000

100000

150000

200000

250000

300000

350000

400000

0 20 40 60 80 100 120 140

Number of processors

Exe

cuti

on

tim

e

Raw data Mean

Page 57: Informatique parallèle IP 07 : La charge de travail et l’évaluation de performance.

Vers un nouveau modèle d’accélération de Downey

0

2

4

6

8

10

12

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

Number of processors

Speedup