Post on 16-Oct-2020
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
Modèle générique de hiérarchie mémoire pourl’exploration architecturale
Daniel Chillet, Lahcene Abdelouel, Olivier Sentieys
R2D2 – IRISA – ENSSAT – Université de Rennes I
SympA’2005 – Le Croisic – 8 Avril 2005
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
Plan de l’exposé
1 Contexte
2 Etat de l’art
3 Méthodologie
4 Conclusion & Perspectives
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
Contexte applicatifContexte matérielImplication sur les mémoires
Plan del’exposé
1 Contexte
2 Etat de l’art
3 Méthodologie
4 Conclusion & Perspectives
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
Contexte applicatifContexte matérielImplication sur les mémoires
Contexte applicatif
Applications de Traitement du Signal et des Images
manipulation de volumes de données importantscalculs réguliersapplications flot de données déterministes
Contraintesfaible coûtfaible consommation
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
Contexte applicatifContexte matérielImplication sur les mémoires
Contexte applicatif
Applications de Traitement du Signal et des Images
manipulation de volumes de données importantscalculs réguliersapplications flot de données déterministes
Contraintesfaible coûtfaible consommation
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
Contexte applicatifContexte matérielImplication sur les mémoires
Contexte matériel
Evolution importantes des circuits intégrés SoC
accroissement de la surface allouée à la mémoirenombreux modules ”acteurs” dans le système
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
Contexte applicatifContexte matérielImplication sur les mémoires
Implication sur les mémoires
Impact très important de la partie mémoire
organisation mémoire complexe, hiérarchisée, . . .en consommation (dynamique, statique)
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
EtudesApproches
Plan del’exposé
1 Contexte
2 Etat de l’art
3 Méthodologie
4 Conclusion & Perspectives
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
EtudesApproches
Etat de l’art
Nombreuses étudescibles architecturales
ProcesseursFPGA, SoC
méthodologieSynthèse haut niveau (HLS)Transformations de codes de haut niveau
Contraintesd’encombrement / de surfacede performancesde faible consommation
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
EtudesApproches
Etat de l’art
Nombreuses étudescibles architecturales
ProcesseursFPGA, SoC
méthodologieSynthèse haut niveau (HLS)Transformations de codes de haut niveau
Contraintesd’encombrement / de surfacede performancesde faible consommation
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
EtudesApproches
Etat de l’art
3 approches principales1 détermination hiérarchie optimale
sous contrainte d’accès aux donnéesprise en compte de la localité des données
2 détermination du placement optimalsous contrainte de hiérarchie mémoire fixée
3 détermination hiérarchie et placement optimauxcombinaison des 2 approches précédentes
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
EtudesApproches
Etat de l’art
Synthèse des travaux
pas d’approche globale incluantSoChiérarchie mémoirefaible consommationreconfiguration mémoire
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Plan del’exposé
1 Contexte
2 Etat de l’art
3 Méthodologie
4 Conclusion & Perspectives
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Problématique
Construction d’une hiérarchie mémoireDistribution et placement des donnéesGestion de la hiérarchie
Contraintes de consommationconsommation globale = consommation mémoiremodules globalement peu actif (en rapport à la surface)consommation dynamique plutôt faibleattention à la consommation statique !
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Problématique
Construction d’une hiérarchie mémoireDistribution et placement des donnéesGestion de la hiérarchie
Contraintes de consommationconsommation globale = consommation mémoiremodules globalement peu actif (en rapport à la surface)consommation dynamique plutôt faibleattention à la consommation statique !
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Problématique
Adéquation Hiérarchie Mémoire – Application
Application déterministeListe des accès connuesVolume de données connu
Questions ?Nombre de niveaux dans la hiérarchie mémoireTaille des mémoires dans la hiérarchieDéfinition des interconnections entre niveauxSpécification des générateurs d’adresses (contrôle)
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Proposition : Flot de conception global
Point d’entrée (Application)
Liste d’accès mémoireordre des opérationsdépendances
Séquence d’accès déterministe
Point de sortie (Architecture)
Mapping mémoireContraintes de distribution des donnéesContraintes de placement des données
Contrôle / gestion de la hiérarchie
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Positionnement de nos travaux
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Modèle architectural ?
Quel modèle d’architecture mémoire ?Générique
Différentes architectures ciblesSoCFPGA
SoupleRépondre aux besoins spécifiques de l’application
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Modèles
Modèle de hiérarchie3 Niveaux hiérarchiques
Deux pseudo caches (N1 & N2)Mémoire principale (N3)
Modèle des transfertsType 1
Fonctionnement des caches classiques
Type 2 & 3Possibilité d’optimisation de performances (temps et faibleconsommation)
E/S vers mémoire principale
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Modèles
Modèle de hiérarchie3 Niveaux hiérarchiques
Deux pseudo caches (N1 & N2)Mémoire principale (N3)
Modèle des transfertsType 1
Fonctionnement des caches classiques
Type 2 & 3Possibilité d’optimisation de performances (temps et faibleconsommation)
E/S vers mémoire principale
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Modèle architectural
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Méthodologie
Approche en trois étapes, sans remise en cause deschoix effectués
a) Position des données dans la hiéarchieb) Nombre de mémoires nécessaires par niveauc) Transferts entre niveaux mémoires
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Flot global
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Annotation des accès mémoire
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Annotation des accès mémoire
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Génération de la trace des accès
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Génération de la trace des accès
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Génération de la trace des accès
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Analyse des accès mémoire
Exploitation de la trace d’exécution
construction d’un graphe de dépendancespré-ordonnancement du graphe de dépendancesconstruction d’un graphe des durées de vies des donnéescalcul des fréquences d’accès aux données
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Construction du graphe de dépendances
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Construction du graphe de dépendances
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Construction du graphe de dépendances
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Construction du graphe des durées de vie
Data = {di} ∀ i=1...D
Adi = {adij} ∀ j=1...Nai
Tdi = {tdij} ∀ j=1...Nai
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Construction du graphe des durées de vie
Fdi = 1MIN∀ j=1...Nai−1((tdi(j+1)−tdij )
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Construction du graphe des durées de vie
Pi = 1 si Fmax2 < Fdi ≤ Fmax1
Pi = 2 si Fmax3 < Fdi ≤ Fmax2
Pi = 3 si 0 < Fdi ≤ Fmax3
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Distribution des données dans la hiérarchie
Construction du graphe de conflits d’accès
GCn = (Nn, An)
Nn = {di | Pi = n ∀ i = 1 . . . D}An = {(ai , aj) | Pi = Pj = n∧ ∃ k , l | adjk ∈ ]adil − Tminn ; adil + Tminn[}
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Distribution des données
Nombre de bancs, de ports mémoires
Nombre de bancs mémoire :NbMemoiresn = IndexChromatique (GCn)Cdi 6= Cdj si Pi = Pj = n ∧ ∃ (ai , aj)
Adéquation nb d’accès simultanés – nb ports mémoires
Cas 1 : mémoires simple port
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Distribution des données
Nombre de bancs, de ports mémoires
Nombre de bancs mémoire :NbMemoiresn = IndexChromatique (GCn)Cdi 6= Cdj si Pi = Pj = n ∧ ∃ (ai , aj)
Adéquation nb d’accès simultanés – nb ports mémoires
Cas 2 : mémoires double ports
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Transferts entre niveaux mémoires
Optimisations
du taux d’utilisation des mémoiresde la consommation
A partir d’une bibliothèque
caractérisation des mémoirestype de mémoiresorganisationperformances (temps d’accès, consommation, . . . )
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ProblématiquePropositionModèlesFlot global
Transferts entre niveaux mémoires
Optimisations
du taux d’utilisation des mémoiresde la consommation
A partir d’une bibliothèque
caractérisation des mémoirestype de mémoiresorganisationperformances (temps d’accès, consommation, . . . )
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ConclusionPerspectives
Plan del’exposé
1 Contexte
2 Etat de l’art
3 Méthodologie
4 Conclusion & Perspectives
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ConclusionPerspectives
Conclusion
BilanPeu de méthodes qui attaquent le problème de la mémorisationhiérarchique dans les SoCProposition d’une méthodologie donnant une première idée del’organisation hiérarchique de la mémoireTravail en phase d’outillage informatique
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ConclusionPerspectives
Conclusion
BilanPeu de méthodes qui attaquent le problème de la mémorisationhiérarchique dans les SoCProposition d’une méthodologie donnant une première idée del’organisation hiérarchique de la mémoireTravail en phase d’outillage informatique
Points fortsLa méthode adaptable à une hiérarchie donnéeApproche incrémentale
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ConclusionPerspectives
Conclusion
BilanPeu de méthodes qui attaquent le problème de la mémorisationhiérarchique dans les SoCProposition d’une méthodologie donnant une première idée del’organisation hiérarchique de la mémoireTravail en phase d’outillage informatique
Points faiblesManipulation de données scalairesSolutions sous optimales
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ConclusionPerspectives
Perspectives
A court termeEvolution de la méthodologie pour la manipulation des ”groupes”de données
A plus long terme
Vers la définition de la notion de hiérarchie mémoirereconfigurable ”dynamiquement”
R2D2 – IRISA Modèle générique de hiérarchie mémoire
ContexteEtat de l’art
MéthodologieConclusion & Perspectives
ConclusionPerspectives
Merci de votre attention
Equipe R2D2 -ENSSAT–IRISA
Université de Rennes 1
r2d2.enssat.fr
R2D2 – IRISA Modèle générique de hiérarchie mémoire