200 likes | 268 Views
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 :
E N D
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é à l’ICPS • Jackal : • Système Software DSM en Java • Développé par les universités d’Erlangen et Amsterdam
Esodyp • Prédicteur d’accè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 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
2 16 2 Un exemple de graphe 32 2 1 16 2 32 1 2 2 2 1 2 1 2 2 1 1
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 l’application 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 • C’est 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
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
Différence pour la prédiction • Besoin d’unicité pour les prédictions • Lors 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 graphe • Le rend plus exact donc plus sensible au changement de phase
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
Conclusion • L’ajout d’un 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.