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 : Esodyp (Entirely Software Dynamic Prefetcher) : Prédicteur Markovien Système développé à lICPS Jackal : Système Software DSM en Java Développé par les universités dErlangen et Amsterdam
Esodyp Prédicteur daccès aux données Etudie le comportement mémoire Les accès mémoire Les défauts de cache Il permet de : Savoir quelles données seront nécessaires Précharger les données dans le cache
Modèle Markovien Analyse statistique dune 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
Un exemple de graphe
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
Distance de préchargement Paramètre important du prédicteur Trop 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 lapplication et du flux de données
Jackal DSM : Distributed Shared Memory Système en software Le programmeur perçoit la mémoire comme étant entièrement partagée Cest au système DSM de gérer les communications et transferts entre les noeuds.
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
Vérification daccès
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
Appels vers Esodyp
Fenêtre de préchargement
Différence pour la prédiction Besoin dunicité pour les prédictions Lors de la création de la liste Parcourt le graphe en coloriant les noeuds pour ne pas y revenir Lutilisation des adresses : Grossit le graphe Le rend plus exact donc plus sensible au changement de phase
Vue Générale
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 dun message envoyant 5 objets est presque le même quenvoyer un seul objet
Performances NomOriginal(ms)Optimisé (ms)Ratio Liste chaînée 1024 elem – 25 iter Tableau 2560 elem – 500 iter Stencil 2 thread – 200 elem – 5 iter Stencil Stencil Stencil
Conclusion Lajout dun prédicteur dans un système comme Jackal peut être bénéfique Le 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.