Le CacheND-AP : pré-chargement adaptatif dans les tableaux

Transcription

Le CacheND-AP : pré-chargement adaptatif dans les tableaux
Journées Compil’2013
Le CacheND-AP : pré-chargement adaptatif
dans les tableaux
S. Mancini
Plan
Le memory wall
Le prefetch
Le Cache nD-AP
Conclusion & perspective
1- Journées Compil’2013- Le CacheND-AP : pré-chargement adaptatif dans les tableaux
Motivations
Constats:
Concevoir des unités de traitement est devenu
relativement aisé (HLS).
Acheminer les données devient de plus en plus pénalisant
(surface, performance, consommation)
Pour concevoir une unité de traitement, il faut gérer:
Les bus
La synchronisation des transferts & calculs
Les interfaces mémoire
L’ITRS prévoit que 80% de la surface et de la consommation
d’énergie seront dus aux mémoires.
2/29- Journées Compil’2013
Le memory wall
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
(DDR)−DRAM
(DDR)
Controleur
DRAM
3/29- Journées Compil’2013
Le memory wall
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
2 ns
0.5ns
1,1 Gbit/s/lien
(DDR)−DRAM
(DDR)
Controleur
DRAM
3/29- Journées Compil’2013
Le memory wall
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
req
data
12 ns
2 ns
0.5ns
1,1 Gbit/s/lien
req
(DDR)−DRAM
data
100/300 clk
(DDR)
Controleur
DRAM
3/29- Journées Compil’2013
Le memory wall
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
req
data
12 ns
2 ns
0.5ns
1,1 Gbit/s/lien
250mW (4000DMIPS)
req
(DDR)−DRAM
data
100/300 clk
(DDR)
Controleur
30 mW/lien
2.5 10−4 mW/Gigabit/s
3/29- Journées Compil’2013
Le memory wall
DRAM
240 mW/GOctet/s
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
SRAM
SRAM
Cache
L1/L2
(DDR)−DRAM
(DDR)
Controleur
DRAM
SPRAM
Buffers
etc ...
3/29- Journées Compil’2013
Le memory wall
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
SRAM
Prefetch
SRAM
for
for
Cache
L1/L2
Prefetch
(DDR)−DRAM
(DDR)
Controleur
DRAM
SPRAM
Buffers
etc ...
3/29- Journées Compil’2013
Le memory wall
Prefetch
Prefetch
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
SRAM
Prefetch
SRAM
for
for
Cache
for
for
for
for
L1/L2
(DDR)−DRAM
(DDR)
Controleur
DRAM
SPRAM
Buffers
etc ...
3/29- Journées Compil’2013
Le memory wall
Prefetch
Prefetch
Prefetch
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
SRAM
Miss
SRAM
HW MT
for
for
Cache
for
for
for
for
L1/L2
Prefetch
(DDR)−DRAM
(DDR)
Controleur
DRAM
SPRAM
Buffers
etc ...
3/29- Journées Compil’2013
Le memory wall
Prefetch
Prefetch
Prefetch
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
SRAM
Miss
Prefetch
SRAM
HW MT
for
for
Cache
for
for
for
for
L1/L2
Prefetch
(DDR)−DRAM
(DDR)
Controleur
DRAM
SPRAM
Prefetch
idx <=> @
Buffers
etc ...
3/29- Journées Compil’2013
Le memory wall
@ <=> Ro/Co/Rank/Bank
Prefetch
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
SRAM
Miss
Prefetch
SRAM
HW MT
for
for
Burst
Cache
for
for
for
for
L1/L2
SPRAM
Prefetch
(DDR)−DRAM
(DDR)
Controleur
Prefetch
Burst
DRAM
idx <=> @
Buffers
etc ...
3/29- Journées Compil’2013
Le memory wall
@ <=> Ro/Co/Rank/Bank
Prefetch
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
SRAM
Miss
SRAM
HW MT
for
for
Burst
Cache
for
for
for
for
Prefetch
L1/L2
SPRAM
idx <=> @
Buffers
etc ...
3/29- Journées Compil’2013
Le memory wall
Prefetch
(DDR)−DRAM
(DDR)
Controleur
RAM
80%
surf.
puiss.
Prefetch
@ <=> Ro/Co/Rank/Bank
Burst
DRAM
Prefetch
S. Mancini
Problématique du “Memory Wall”
SoC
IP/ASIC
CPU
SRAM
Miss
Prefetch
SRAM
HW MT
for
for
Burst
Cache
for
for
for
for
L1/L2
SPRAM
Prefetch
(DDR)−DRAM
(DDR)
Controleur
Prefetch
DRAM
Burst
idx <=> @
Buffers
etc ...
@ <=> Ro/Co/Rank/Bank
Prefetch
Pour de nombreuses classes d’applications,
les strategies de prefetch usuelles ne sont pas efficaces
3/29- Journées Compil’2013
Le memory wall
S. Mancini
Consommation d’énergie due aux mémoires
source: ITRS
4/29- Journées Compil’2013
Le memory wall
S. Mancini
Comment “passer le mur mémoire” ?
Optimisation de la gestion des données:
Stratégies ”hors-ligne”
Connaissance des séquences d’accès
Ne prend pas en compte les variations de performance
Stratégies “en-ligne”
Adaptation aux conditions de fonctionnement
Décision “locale”, seul le passé est connu, modèle de
prédiction du futur
5/29- Journées Compil’2013
Le memory wall
S. Mancini
Une vision globale
IP/ASIC
for
for
CPU
SRAM
SRAM
(DDR)
for
for
for
for
DRAM
Cache
L1/L2
6/29- Journées Compil’2013
Le memory wall
Prefetch
(DDR)−DRAM
Controlleur
S. Mancini
Une vision globale
IP/ASIC
for
for
CPU
SRAM
SRAM
(DDR)
for
for
for
for
DRAM
Cache
L1/L2
6/29- Journées Compil’2013
Le memory wall
Prefetch
(DDR)−DRAM
Controlleur
S. Mancini
Une vision globale
IP/ASIC
for
for
CPU
SRAM
SRAM
Compilation dynamique
(DDR)
for
for
for
for
DRAM
Cache
L1/L2
6/29- Journées Compil’2013
Le memory wall
Prefetch
(DDR)−DRAM
Controlleur
S. Mancini
Une vision globale
IP/ASIC
for
for
CPU
SRAM
Prefetch SRAM
Compilation dynamique
(DDR)
for
for
for
for
DRAM
Cache
L1/L2
Prefetch
(DDR)−DRAM
Controlleur
Prefetch
Prefetch
6/29- Journées Compil’2013
Le memory wall
S. Mancini
Une vision globale
IP/ASIC
for
for
CPU
SRAM
Prefetch SRAM
Compilation dynamique
(DDR)
for
for
for
for
DRAM
Cache
Prefetch
L1/L2
for
for
(DDR)−DRAM
Controlleur
CPU
Prefetch
Prefetch
for
for
for
for
Cache
L1/L2
6/29- Journées Compil’2013
Le memory wall
Prefetch
S. Mancini
Une vision globale
IP/ASIC
for
for
CPU
SRAM
Prefetch SRAM
Compilation dynamique
(DDR)
for
for
for
for
DRAM
Cache
Prefetch
L1/L2
for
for
(DDR)−DRAM
Controlleur
CPU
Prefetch
Prefetch
for
for
for
for
Cache
L1/L2
6/29- Journées Compil’2013
Le memory wall
Prefetch
S. Mancini
Une vision globale
IP/ASIC
for
for
CPU
SRAM
Prefetch SRAM
Compilation dynamique
(DDR)
for
for
for
for
CPU
?
for
for
Adaptation
long terme
Adaptation
for
moyen for
terme
for
for
+
Mesure
HW
6/29- Journées Compil’2013
Le memory wall
Cache
Prefetch
L1/L2
Vitesse
−
SW
DRAM
(DDR)−DRAM
Controlleur
CPU
Prefetch
Prefetch
Cache
L1/L2
Prefetch
S. Mancini
Plan
Le memory wall
Le prefetch
Le Cache nD-AP
Conclusion & perspective
7- Journées Compil’2013- Le CacheND-AP : pré-chargement adaptatif dans les tableaux
Le prefetch
Objectifs: pré-charger les données en cache avant d’en avoir
besoin.
SW: insertion d’instructions de pré-charge (nonbloquante)
HW: prédire au fur et à mesure des accès mémoire
Concevoir une stratégie de prefetch, c’est choisir:
Quelles informations exploiter
Quand lancer la pré-charge
Quelles données pré-charger
Où placer les données pré-chargées
Critères d’efficacité:
Temps d’exécution totale
Pollution des bus
Complexité
8/29- Journées Compil’2013
Le prefetch
S. Mancini
Prefetch usuels
Historique:
Caches “classique” (ligne de cache)
OBL (One Block Lookahead)
SPT
Stream-buffers
Généralisation: prefetch à base de chaîne de Markov
A
A
y
z
x
B
t
C
u
D
v
9/29- Journées Compil’2013
Le prefetch
S. Mancini
Prefetch usuels
Historique:
Caches “classique” (ligne de cache)
OBL (One Block Lookahead)
SPT
Stream-buffers
Généralisation: prefetch à base de chaîne de Markov
A
A
@d
y
z
x
B
t
C
u
D
v
9/29- Journées Compil’2013
Le prefetch
S. Mancini
Prefetch usuels
Historique:
Caches “classique” (ligne de cache)
OBL (One Block Lookahead)
SPT
Stream-buffers
Généralisation: prefetch à base de chaîne de Markov
A
A
@d @i(lw,sw)
y
z
x
B
t
C
u
D
v
9/29- Journées Compil’2013
Le prefetch
S. Mancini
Prefetch usuels
Historique:
Caches “classique” (ligne de cache)
OBL (One Block Lookahead)
SPT
Stream-buffers
Généralisation: prefetch à base de chaîne de Markov
A
for
for
A
@d @i(lw,sw)
y
z
x
∆
@i@i
@i(lw,sw)
@d0
@d0
@d0@d1
@d1
@d1@d2
@d2
@d2@d3
@d3
@d3@d4
@d4
@d4@d5
@d5
@d5
9/29- Journées Compil’2013
Le prefetch
B
t
C
u
D
v
S. Mancini
Prefetch usuels
Historique:
Caches “classique” (ligne de cache)
OBL (One Block Lookahead)
SPT
Stream-buffers
Généralisation: prefetch à base de chaîne de Markov
A
for
for
A
@d @i(lw,sw)
δ
y
z
x
∆
@i@i
@i(lw,sw)
@d0
@d0
@d0@d1
@d1
@d1@d2
@d2
@d2@d3
@d3
@d3@d4
@d4
@d4@d5
@d5
@d5
9/29- Journées Compil’2013
Le prefetch
B
t
C
u
D
v
S. Mancini
Prefetch usuels
Historique:
Caches “classique” (ligne de cache)
OBL (One Block Lookahead)
SPT
Stream-buffers
Généralisation: prefetch à base de chaîne de Markov
A
Aucune stratégie ne surpasse SPT
for
for
A
@d @i(lw,sw)
δ
y
z
x
∆
@i@i
@i(lw,sw)
@d0
@d0
@d0@d1
@d1
@d1@d2
@d2
@d2@d3
@d3
@d3@d4
@d4
@d4@d5
@d5
@d5
9/29- Journées Compil’2013
Le prefetch
B
t
C
u
D
v
S. Mancini
Limitations
Les caches classiques ne sont pas adaptés au traitement
d’image car ils exploitent la localité temporelle et la localité
spatiale en adresse.
x
y
@−64
=
1 Pixel
=
1 Byte
@
Cache line
Pixels accédés
@+63
image
Les défauts de cache sont déclenchés lors d’un déplacement:
Horizontal: à la fin d’une ligne de cache
Vertical: à chaque nouvelle ligne de l’image
10/29- Journées Compil’2013
Le prefetch
S. Mancini
Plan
Le memory wall
Le prefetch
Le Cache nD-AP
Conclusion & perspective
11- Journées Compil’2013- Le CacheND-AP : pré-chargement adaptatif dans les tableaux
Positionnement
Pré-chargement dynamique
Détection de motifs répétitifs
Générique car le prefetch exploite les adresses
Implanté dans les processeurs modernes (SPT)
Techniques dérivées des méthodes “Markoviennes”
Inefficaces pour les séquences non strictement régulières en adresse
Estimation de paramètres
Prise en compte de la structure de donnée, pour une classe d’applications
Résistant aux fluctuations “système” et irrégularités des accès
Usage restreint aux applications conformes au modèle
12/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Objectifs
Une stratégie de prefetch adaptée au TDSI, et, plus largement, aux applications embarquées qui utilisent des données structurées (tableaux, arbres, multi-résolution,. . . ).
Caractéristiques souhaitées:
Exploiter la localité temporelle et la localité spatiale en index dans la structure
Proposer un mécanisme semi-général, pour une grande classe d’application
Une architecture de complexité réduite pour cible ASIC ou FPGA
Séquences d’accès ciblées:
Déterministes fonction de paramètres statiques
Déterministes dépendant de paramètres dynamiques
Dépendant des données
Idée:
Intégrer l’aspect multi-dimensionnel
Faire des prédictions à moyen terme sur un voisinage
proche (en index)
13/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Concept du CachenD
(DDR) SDRAM
Huge and slow
address
data
nD−AP Cache
Small and fast
P=(x,y)
data
Processing
Unit
14/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Modèle de séquence
70
References on axis i
60
50
40
30
A
20
10
0
−10
V
−20
0
50
100
150
200
250
300
350
400
450
Time (Cycles)
15/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
500
Architecture du Cache nD-AP
Bus
Système
DMA
X
tracker
Y
Data
Requête
@ wr
Contrôle
RAM
@ rd
tracker
Cache nD−AP
(x,y,...)
Data
Unité de calcul
16/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Mécanisme de prédiction et gestion mémoire
Ty
Γy
Sur chaque axe, un estimateur calcule une zone de références
prédites:
La prédiction, basée sur un modèle, tient compte du passé
et estime les tendances moyennes (filtrage)
La charge à la mémoire centrale est limitée par un mécanisme à hystérésis.
Sont estimés:
c, le centre de la zone en cache
00000
11111
00000
11111
T , la taille de la zone en cache
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
Γ, la taille de la zone de garde
00000
11111
c
00000
11111
00000
11111
00000
11111
00000
11111
∆, la vitesse du cache
Γx
Tx
Cached zone
111
000
000
111
000
111
Guard zone
000
111
000
111
17/29- Journées Compil’2013
Le Cache nD-AP
Cache memory
Cache center
S. Mancini
Comportement du Cache nD-AP
11111
00000
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
18/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Comportement du Cache nD-AP
P
111111
000000
000000
111111
000000
111111
f
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
18/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Comportement du Cache nD-AP
11111
00000
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
18/29- Journées Compil’2013
Le Cache nD-AP
Pf
S. Mancini
Comportement du Cache nD-AP
1111111
0000000
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
f
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
P
∆x
18/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Comportement du Cache nD-AP
Common Zone
1111111
0000000
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
f
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
1111111
0000000
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
0000000
1111111
P
∆x
18/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Comportement du Cache nD-AP
111111
000000
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
000000
111111
18/29- Journées Compil’2013
Le Cache nD-AP
111
000
000
111
000
111
000
111
000
111
000
111
000
111
000
111
000
111
000
111
000
111
000
111
000
111
000
111
S. Mancini
Modèle de performance
1.0
0.9
0.8
Efficiency
0.7
0.6
T = 19
Γ=3
∆=4
Al = 10
v = 0.1
m=1
Nr = 5.103
0.5
0.4
0.3
0.2
Latmax = 36
0.1
0
10
20
30
40
50
60
70
80
90
100
Background Memory Latency (Cycles)
Conditions: paramètres fixes, estimateur au premier ordre
19/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Plateforme d’émulation
La stratégie est validée par simulation et sur un prototype
FPGA.
Effets d’un environnement plus réaliste (latence mémoire
variable, période des références variables, etc . . . ).
DDR
SDRAM
DDR−SDRAM
Controler
Parameters
Coproc.
Interface
Master
2D−AP
CPU
Cache
PPC405
Instrumentation
PLB system bus
FPGA Xilinx
20/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Quelques résultats
1
0.8
0.6
0.4
0.2
0
1
VHDL
SystemC
EM-SE
0.8
0.6
0.4
0.2
0
0
50
100
150
Normalised Memory Latency
200
50
100
150
Normalised Memory Latency
0.4
0.2
0
100
150
Rotation - 2 lines of 32*32 tiles
200
50
100
150
Normalised Memory Latency
200
2D Ray casting, interleaved
1
VHDL
SystemC
EM-SE
0.8
0.6
0.4
0.2
0
50
0.2
0
Normalised Efficiency
Normalised Efficiency
0.6
Normalised Memory Latency
0.4
200
1
VHDL
SystemC
EM-SE
0
0.6
Rotation - 1st line of 48*48 tiles
1
0.8
VHDL
SystemC
EM-SE
0.8
0
0
Rotation - 1st line of 32*32 tiles
Normalised Efficiency
Normalised Efficiency
VHDL
SystemC
EM-SE
Normalised Efficiency
Normalised Efficiency
1
VHDL
SystemC
EM-SE
0.8
0.6
0.4
0.2
0
0
50
100
150
Normalised Memory Latency
Image rendering
200
0
50
100
150
Normalised Memory Latency
200
Lip contour finding
Les mesures sur plateforme (EM-SE) sont calibrées par rapport au mesures en simulation (VHDL & SystemC).
21/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Comparaison avec un cache standard (Ray casting 3D)
3D-AP Cache
ppc405 1x1x1
ppc405 2x2x1
ppc405 4x4x1
ppc405 8x8x1
ppc405 16x16x1
ppc405 2x2x2
ppc405 4x4x4
ppc405 8x8x8
100
Efficiency %
80
60
40
20
0
0
20
40
60
80
100
Latency (cycle)
4KB 3D-AP Cache v.s. 16KB ppc405 cache for different memory layout
22/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Précharge adaptative
System
Adaptation
update
error
Threshold
Update
Prediction
Update
Error
Instant
Filter
shift
System
Control
Bus
center
index
PE
distance
coordinate
Cache
Filter
Mean
Predictor
range
Predicted
center
Fusion
Predicted
range
Amplitude
−
Application
Adaptation
23/29- Journées Compil’2013
Le Cache nD-AP
Filter
Envelope detector
Tracker
S. Mancini
Quelques résultats
1
1
sequence Rotation_1_88_rad__Bloc_32x32_Extrait - adaptative
Static parameters l=1
Static parameters l=2
Static parameters l=4
Static parameters l=8
Static parameters l=10
Static parameters l=20
Static parameters l=50
Static parameters l=100
Static parameters l=200
0.8
sequence ray_256_1 - adaptative
Static parameters l=1
Static parameters l=2
Static parameters l=4
Static parameters l=8
Static parameters l=10
Static parameters l=20
Static parameters l=50
Static parameters l=100
Static parameters l=200
0.8
0.6
Efficiency
Efficiency
0.6
0.4
0.4
0.2
0.2
0
0
0
20
40
60
80
100
Latency
120
140
160
180
0
200
20
40
1
sequence liste_renoir_45_extrait - adaptative
Static parameters l=1
Static parameters l=2
Static parameters l=4
Static parameters l=8
Static parameters l=10
Static parameters l=20
Static parameters l=50
Static parameters l=100
Static parameters l=200
0.8
80
100
Latency
120
140
160
180
200
2D Ray casting
Rotation - 1st line of 32*32 tiles
1
60
sequence snake_G_haut_xy_extrait - adaptative
Static parameters l=1
Static parameters l=2
Static parameters l=4
Static parameters l=8
Static parameters l=10
Static parameters l=20
Static parameters l=50
Static parameters l=100
Static parameters l=200
0.8
Efficiency
0.6
Efficiency
0.6
0.4
0.4
0.2
0.2
0
0
0
20
40
60
80
100
Latency
120
140
Image rendering (1)
160
180
200
0
20
40
60
80
100
Latency
120
140
160
180
200
Lip contour finding
Pour chaque valeur de latence, la performance de l’auto-adaptation (-) est comparée au prédicteur non-adaptatif paramétré statiquement par le résultat de l’autoparamétrage.
24/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Bilan de l’autoadaptation
Analyse:
Le réglage des prédicteur est simplifié
La fréquence de coupure devient le seul paramètre
Performance “semblable” à celle obtenue manuellement
Et même meilleure pour quelques séquences
Le coût d’une mise à jour est anisotropique
Dépend du rangement des données en mémoire!
Décrochage au-delà d’une latence seuil
L’objectif devient la minimisation du temps d’attente et non plus de pré-charger à
temps
Pistes:
Détecter le changement d’objectif
Accorder l’adaptation entre les prédicteurs de chaque
dimension
25/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Interaction avec la compilation
Utiliser le cache depuis le logiciel
API
Accéder au cache avec les indexes, par l’interface coprocesseur
De nombreux programmes “codent” la transformation des indexes en
adresses
Transformer les applications pour produire de la localité
temporelle et spatiale en indexes
Et non plus en adresse !
Prendre en compte le rangement des données
Calculer la fréquence de coupure à la compilation
Boucles à bornes statiques v.s variables
Et la compilation dynamique?
26/29- Journées Compil’2013
Le Cache nD-AP
S. Mancini
Plan
Le memory wall
Le prefetch
Le Cache nD-AP
Conclusion & perspective
27- Journées Compil’2013- Le CacheND-AP : pré-chargement adaptatif dans les tableaux
Conclusion & perspective
Nous avons:
Définit et validé une stratégie de pré-chargement pour le
traitement d’image
Réalisé des modèles de simulation et prototypes FPGA
Expérimenté l’auto-adaptation
Perspective:
Améliorer l’auto-adaptation
Concevoir des modèles de séquence plus complexes
Intégrer ce mécanisme dans une infrastructure SW
Rétro-action avec la compilation
28/29- Journées Compil’2013
Conclusion & perspective
S. Mancini
Journées Compil’2013
Le CacheND-AP : pré-chargement adaptatif dans les tableaux
S. Mancini
Plan Détaillé
Le memory wall
Motivations
Problématique du “Memory Wall”
Consommation d’énergie due aux mémoires
Comment “passer le mur mémoire” ?
Une vision globale
Le prefetch
Le prefetch
Prefetch usuels
Limitations
Le Cache nD-AP
Positionnement
Objectifs
Concept du CachenD
Modèle de séquence
Architecture du Cache nD-AP
Mécanisme de prédiction et gestion mémoire
Comportement du Cache nD-AP
Modèle de performance
Plateforme d’émulation
Quelques résultats
Comparaison avec un cache standard (Ray
casting 3D)
Précharge adaptative
Quelques résultats
Bilan de l’autoadaptation
Interaction avec la compilation
Conclusion & perspective
Conclusion & perspective

Documents pareils