20
Préchargement de données dans un logiciel DSM Jean Christophe Beyler (ICPS- LSIIT) Michael Klemm (Uni. Erlangen) Ronny T. Lampert (Uni. Erlangen) 01/06/2006

Préchargement de données dans un logiciel DSM

Embed Size (px)

DESCRIPTION

Préchargement de données dans un logiciel DSM. Jean Christophe Beyler (ICPS-LSIIT) Michael Klemm (Uni. Erlangen) Ronny T. Lampert (Uni. Erlangen) 01/06/2006. Plan. Présentation Esodyp Jackal Synthèse Conclusion. Présentation. Interaction entre deux systèmes : - PowerPoint PPT Presentation

Citation preview

Page 1: Préchargement de données dans un logiciel DSM

Préchargement de données dans un logiciel DSM

Jean Christophe Beyler (ICPS-LSIIT)

Michael Klemm (Uni. Erlangen)

Ronny T. Lampert (Uni. Erlangen)

01/06/2006

Page 2: Préchargement de données dans un logiciel DSM

Plan

Présentation

Esodyp

Jackal

Synthèse

Conclusion

Page 3: Préchargement de données dans un logiciel DSM

Présentation

Interaction entre deux systèmes :Esodyp (Entirely Software Dynamic Prefetcher):

Prédicteur Markovien Système développé à l’ICPS

Jackal : Système Software DSM en JavaDéveloppé par les universités d’Erlangen et

Amsterdam

Page 4: Préchargement de données dans un logiciel DSM

Esodyp

Prédicteur d’accès aux donnéesEtudie le comportement mémoire

Les accès mémoireLes défauts de cache

Il permet de :Savoir quelles données seront nécessairesPrécharger les données dans le cache

Page 5: Préchargement de données dans un logiciel DSM

Modèle Markovien

Analyse statistique d’une suite S d’éléments (des accès mémoire dans notre cas)

Mise sous forme de couples (X,Y) où: X et Y sont des éléments de la suite X précède directement Y

Mais aussi (S’,Y) où: S’ est une sous suite de S La séquence S’ précède directement Y

Page 6: Préchargement de données dans un logiciel DSM

Un exemple de graphe

2

232

1

2

1

1

32

2

2

2

2

16

16

2

1

1

12

2

Page 7: Préchargement de données dans un logiciel DSM

Deux phases

Déroulement du modèle : Le modèle construit le graphe

Temps de construction du graphe élevé

Utilise les informations reçues Précharge les données Vérifie si le modèle correspond

Remet à zéro si nécessaire

Phase de construction et phase de prédiction

Page 8: Préchargement de données dans un logiciel DSM

Distance de préchargement

Paramètre important du prédicteurTrop petite : la donnée risque de ne pas

être dans le cache (latence)

Trop grande : la donnée risque d’être écrasée dans le cache

La distance dépend de l’application et du flux de données

Page 9: Préchargement de données dans un logiciel DSM

Jackal

DSM : Distributed Shared Memory

Système en software

Le programmeur perçoit la mémoire comme étant entièrement partagée

C’est au système DSM de gérer les communications et transferts entre les noeuds.

Page 10: Préchargement de données dans un logiciel DSM

Jackal

Double problème : Il faut limiter le nombre de messages Il faut limiter le nombre de défauts de cache

Le prédicteur doit donc : Etre précis dans la prédiction des N prochains

accès

Page 11: Préchargement de données dans un logiciel DSM

Vérification d’accès

Page 12: Préchargement de données dans un logiciel DSM

Vérification d’accès

Page 13: Préchargement de données dans un logiciel DSM

Comparaison• Avec un processeur :

• Facilité pour les prédictions

• Utilisation des sauts mémoire

• Avec Jackal :• Plus compliqué pour les prédictions

• On ne peut pas utiliser les sauts

Page 14: Préchargement de données dans un logiciel DSM

Appels vers Esodyp

Page 15: Préchargement de données dans un logiciel DSM

Fenêtre de préchargement

Page 16: Préchargement de données dans un logiciel DSM

Différence pour la prédiction

Besoin d’unicité pour les prédictionsLors de la création de la liste

Parcourt le graphe en coloriant les noeuds pour ne pas y revenir

L’utilisation des adresses :Grossit le grapheLe rend plus exact donc plus sensible au

changement de phase

Page 17: Préchargement de données dans un logiciel DSM

Vue Générale

Page 18: Préchargement de données dans un logiciel DSM

Limitations

Les objets sont tous sur des noeuds différents On doit envoyer autant de messages que sans la prédiction

Utiliser une heuristique pour limiter les messages

Les objets préchargés ne servent pas Le coût d’un message envoyant 5 objets est presque le

même qu’envoyer un seul objet

Page 19: Préchargement de données dans un logiciel DSM

Performances

Nom Original(ms) Optimisé (ms) Ratio

Liste chaînée 1024 elem – 25 iter

11992 4559 2.6

Tableau 2560 elem – 500 iter

13819 4613 3

Stencil 2 thread – 200 elem – 5 iter

4894 3147 1.56

Stencil 2-200-20 19523 8806 2.2

Stencil 2-400-5 17174 12910 1.33

Stencil 2-400-20 68603 39873 1.72

Page 20: Préchargement de données dans un logiciel DSM

Conclusion

L’ajout d’un prédicteur dans un système comme Jackal peut être bénéfiqueLe nombre de communications peut être largement réduit en concaténant les demandes de transfert.Le surcoût du système de prédiction peut être rentabilisé par ce gain de temps.