Download Tema 2 – CMPs: Jerarquía de Memoria

Document related concepts
no text concepts found
Transcript
Tema 2 – CMPs: Jerarquía de Memoria
Alberto Ros Bardisa
Tema 2 – Memoria
Alberto Ros Bardisa
1 / 35
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
2 / 35
Esquema de la Jerarquía de Memoria
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
3 / 35
Esquema de la Jerarquía de Memoria
Tiled CMPs: Repasando...
Un tile es un bloque de construcción
que tiene:
Un procesador
Cache:
Una o varias caches privadas
(L1/L2)
Una LLC (Last Level Cache)
privada o compartida
Un router o interfaz de red
Tema 2 – Memoria
Alberto Ros Bardisa
4 / 35
Esquema de la Jerarquía de Memoria
Tiled CMPs: Repasando...
Los Tiled CMPs se construyen replicando bloques (o tiles) y
conectándolos con una red de interconexión escalable
Un tile es un bloque de construcción
que tiene:
Un procesador
Cache:
Una o varias caches privadas
(L1/L2)
Una LLC (Last Level Cache)
privada o compartida
Tiled CMP de 16 cores
conectados por una malla 2D
Un router o interfaz de red
Tema 2 – Memoria
Alberto Ros Bardisa
4 / 35
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
5 / 35
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
LLC privada
Cada banco de cache es accedido por el procesador local
La latencia de acceso (pequeña) es la misma para cualquier
procesador
Los datos pueden estar replicados en diferentes caches
→ mala utilización
El acceso a la cache compartida o memoria se hace fuera del
chip
→ alta latencia en la compartición
Tema 2 – Memoria
Alberto Ros Bardisa
6 / 35
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
LLC compartida centralizada
La cache cache puede ser accedida por cualquier procesador
La latencia de acceso es la misma para cualquier procesador
Los datos no están replicados en la cache
→ mejor utilización
La compartición de datos se realiza dentro del chip
→ baja latencia
El acceso a la cache puede suponer un cuello de botella
Tema 2 – Memoria
Alberto Ros Bardisa
7 / 35
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
LLC compartida distribuida (NUCA)
Un banco de cache puede ser accedido por cualquier procesador
La latencia de acceso depende del banco al que se acceda
Los datos no están replicados en la cache
→ mejor utilización
La compartición de datos se realiza dentro del chip
→ baja latencia
Se elimina el cuello de botella del esquema centralizado
Tema 2 – Memoria
Alberto Ros Bardisa
8 / 35
El mapeo de memoria
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
9 / 35
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
10 / 35
El mapeo de memoria
Mapeo a conjunto de cache (índice)
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Direccion
Tag
Set
O.B.
Cache
Tag
Datos
Comp
Hit/Miss
Tema 2 – Memoria
Datos
Alberto Ros Bardisa
11 / 35
El mapeo de memoria
Mapeo a banco de memoria (nodo home)
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
12 / 35
El mapeo de memoria
Mapeo a banco de memoria (nodo home)
El mapeo de memoria
Mapeo a banco de memoria (nodo home)
Bits menos significativos
Tag
Set Home O.B.
Bits mas significativos
Home
Tag
...
Banco 0
Banco 1
Set
O.B.
...
Banco n−1
Tema 2 – Memoria
Banco 0
Banco 1
Banco n−1
Alberto Ros Bardisa
13 / 35
El mapeo de memoria
Mapeo a banco de memoria (nodo home)
Mapeo controlado por el OS
Recordando
En caches NUCA (Non-Uniform Cache Architecture), la latencia de acceso
depende de donde mapeo el bloque solicitado (nodo o banco home)
Este mapeo normalmente se realiza cogiendo unos bits de la dirección
del bloque (mapeo Round-Robin)
El mapeo Round-Robin no se preocupa de la distancia entre los cores
que solicitan el dato y el banco LLC donde mapea dicho dato
Una política First-Touch puede reducir la latencia de acceso
Como se puede hacer?
⇒ Mediante el Sistema Operativo
⇒ Mapeo a nivel de páginas
Tema 2 – Memoria
Alberto Ros Bardisa
14 / 35
El mapeo de memoria
Mapeo a banco de memoria (nodo home)
Mapeo controlado por el OS
Traducción de dirección virtual a física
Fallo de página
Tema 2 – Memoria
Alberto Ros Bardisa
15 / 35
El mapeo de memoria
Mapeo a banco de memoria (nodo home)
Mapeo controlado por el OS
Traducción de dirección virtual a física
Fallo de página
Virt. a Fís.
O.P. O.B.
Home
Traducción
de
dirección
virtual
a
física
Tema 2 – Memoria
Alberto Ros Bardisa
15 / 35
El mapeo de memoria
Mapeo a banco de memoria (nodo home)
Mapeo controlado por el OS
Traducción de dirección virtual a física
Fallo de página
Peticionario
Virt. a Fís.
O.P. O.B.
Home
Traducción
de
dirección
virtual
a
física
Tema 2 – Memoria
Política
de mapeo
Alberto Ros Bardisa
15 / 35
El mapeo de memoria
Mapeo a banco de memoria (nodo home)
Mapeo controlado por el OS
Traducción de dirección virtual a física
Fallo de página
Peticionario
Virt. a Fís.
O.P. O.B.
Home
Traducción
de
dirección
virtual
a
física
Tema 2 – Memoria
Política
de mapeo
Home
Lista de
direcciones
libres
Alberto Ros Bardisa
15 / 35
El mapeo de memoria
Mapeo a banco de memoria (nodo home)
Mapeo controlado por el OS
Traducción de dirección virtual a física
Fallo de página
Peticionario
Virt. a Fís.
O.P. O.B.
Home
Traducción
de
dirección
virtual
a
física
Tema 2 – Memoria
Política
de mapeo
Home
Dir. física
Lista de
direcciones
libres
Alberto Ros Bardisa
15 / 35
CMPs actuales
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
16 / 35
CMPs actuales
Niagara 2 (Sun 8-core CMP)
LLC (L2) compartida → 8 bancos de 512KB cada uno (4MB)
Tema 2 – Memoria
Alberto Ros Bardisa
17 / 35
CMPs actuales
Magny-Cours (AMD 12-core M-CMP)
LLC (L3) compartida → centralizada 6MB
Tema 2 – Memoria
Alberto Ros Bardisa
18 / 35
CMPs actuales
Nehalem (Intel 4-core CMP)
LLC (L3) compartida → 4 bancos de 2MB cada uno (8MB)
Tema 2 – Memoria
Alberto Ros Bardisa
19 / 35
CMPs actuales
Polaris: Intel 80-core Tiled CMP
No coherente → El programador necesita asegurar la coherencia
LLC (L1) privada → 2KB datos y 3KB instrucciones
Tema 2 – Memoria
Alberto Ros Bardisa
20 / 35
CMPs actuales
Intel MIC: Co-procesador de 60 cores
Protocolo de coherencia MESI
Tema 2 – Memoria
Alberto Ros Bardisa
21 / 35
CMPs actuales
Intel MIC: Organización
L2 cachés privadas. Red de interconexión de anillo.
Tema 2 – Memoria
Alberto Ros Bardisa
22 / 35
Algo de investigación
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
23 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
24 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Motivation
Remember
In NUCA (Non-Uniform Cache Architecture) caches, the access latency
depends on where the requested block is mapped (home bank).
Tema 2 – Memoria
Alberto Ros Bardisa
25 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Motivation
Remember
This mapping is commonly performed by
taking some bits from the block address
leading to a Round-Robin mapping.
The Round-Robin mapping does not care
about the distance between requesting cores
and home banks ⇒ long access latency.
A First-Touch mapping policy can lessen this
latency.
Distance to home
In NUCA (Non-Uniform Cache Architecture) caches, the access latency
depends on where the requested block is mapped (home bank).
Round−Robin
Ideal
First−Touch
Off−chip accesses
But can cause imbalance among cache banks
⇒ high cache miss rate.
Tema 2 – Memoria
Alberto Ros Bardisa
25 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Mapping Policy
We propose a Distance-Aware Round-Robin mapping policy
which is managed by the OS.
The unit of mapping is a memory page.
Does not add extra hardware.
Our policy tries to map the pages to the local bank of the first
requesting core.
⇒ Reduces access latency.
But also introduces a threshold to bound the deviation of the
distribution of memory pages among cache banks.
⇒ Lessens off-chip accesses.
Tema 2 – Memoria
Alberto Ros Bardisa
26 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Mapping Policy
Example for a 2x2 tiled CMP and a threshold value of 2
2x2 tiled CMP
P0
P1
P2
P3
Tema 2 – Memoria
Alberto Ros Bardisa
27 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Mapping Policy
Example for a 2x2 tiled CMP and a threshold value of 2
2x2 tiled CMP 1.P0 → 0x00
1
P0
P1
1
0
P2
P3
0
0
P0 accesses a block within a page 0x00 which faults in memory.
Tema 2 – Memoria
Alberto Ros Bardisa
27 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Mapping Policy
Example for a 2x2 tiled CMP and a threshold value of 2
2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01
P0
P1
1
0
1
1
P2
P3
0
0
0
0
1
P0 accesses a block within a page 0x00 which faults in memory.
2
P1 accesses a new page (0x01) ⇒ OK.
Tema 2 – Memoria
Alberto Ros Bardisa
27 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Mapping Policy
Example for a 2x2 tiled CMP and a threshold value of 2
2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00
P0
P1
1
0
1
1
1
1
P2
P3
0
0
0
0
0
0
1
P0 accesses a block within a page 0x00 which faults in memory.
2
P1 accesses a new page (0x01) ⇒ OK.
3
P1 accesses page 0x00 ⇒ Nothing happens.
Tema 2 – Memoria
Alberto Ros Bardisa
27 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Mapping Policy
Example for a 2x2 tiled CMP and a threshold value of 2
2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 4.P0 → 0x02
P0
P1
1
0
1
1
1
1
2
1
P2
P3
0
0
0
0
0
0
0
0
1
P0 accesses a block within a page 0x00 which faults in memory.
2
P1 accesses a new page (0x01) ⇒ OK.
3
P1 accesses page 0x00 ⇒ Nothing happens.
4
P0 accesses a new page (0x02) ⇒ threshold reached.
Tema 2 – Memoria
Alberto Ros Bardisa
27 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Mapping Policy
Example for a 2x2 tiled CMP and a threshold value of 2
2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 4.P0 → 0x02 5.P0 → 0x03
P0
P1
1
0
1
1
1
1
2
1
2
1
P2
P3
0
0
0
0
0
0
0
0
1
0
1
P0 accesses a block within a page 0x00 which faults in memory.
2
P1 accesses a new page (0x01) ⇒ OK.
3
P1 accesses page 0x00 ⇒ Nothing happens.
4
P0 accesses a new page (0x02) ⇒ threshold reached.
5
P0 accesses a new page (0x03) ⇒ to another bank.
Tema 2 – Memoria
Alberto Ros Bardisa
27 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Mapping Policy
Example for a 2x2 tiled CMP and a threshold value of 2
2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 4.P0 → 0x02 5.P0 → 0x03 6.P3 → 0x04
P0
P1
1
0
1
1
1
1
2
1
2
1
2
1
P2
P3
0
0
0
0
0
0
0
0
1
0
1
1
1
P0 accesses a block within a page 0x00 which faults in memory.
2
P1 accesses a new page (0x01) ⇒ OK.
3
P1 accesses page 0x00 ⇒ Nothing happens.
4
P0 accesses a new page (0x02) ⇒ threshold reached.
5
P0 accesses a new page (0x03) ⇒ to another bank.
6
P3 accesses a new page (0x04) ⇒ counters decreased.
Tema 2 – Memoria
Alberto Ros Bardisa
27 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Mapping Policy
Example for a 2x2 tiled CMP and a threshold value of 2
2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 4.P0 → 0x02 5.P0 → 0x03 6.P3 → 0x04
P0
P1
1
0
1
1
1
1
2
1
2
1
12
01
P2
P3
0
0
0
0
0
0
0
0
1
0
01
01
1
P0 accesses a block within a page 0x00 which faults in memory.
2
P1 accesses a new page (0x01) ⇒ OK.
3
P1 accesses page 0x00 ⇒ Nothing happens.
4
P0 accesses a new page (0x02) ⇒ threshold reached.
5
P0 accesses a new page (0x03) ⇒ to another bank.
6
P3 accesses a new page (0x04) ⇒ counters decreased.
Tema 2 – Memoria
Alberto Ros Bardisa
27 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Mapping Policy
Example for a 2x2 tiled CMP and a threshold value of 2
2x2 tiled CMP 1.P0 → 0x00 2.P1 → 0x01 3.P1 → 0x00 4.P0 → 0x02 5.P0 → 0x03 6.P3 → 0x04 7.P0 → 0x05
P0
P1
1
0
1
1
1
1
2
1
2
1
12
01
2
0
P2
P3
0
0
0
0
0
0
0
0
1
0
01
01
0
0
1
P0 accesses a block within a page 0x00 which faults in memory.
2
P1 accesses a new page (0x01) ⇒ OK.
3
P1 accesses page 0x00 ⇒ Nothing happens.
4
P0 accesses a new page (0x02) ⇒ threshold reached.
5
P0 accesses a new page (0x03) ⇒ to another bank.
6
P3 accesses a new page (0x04) ⇒ counters decreased.
7
P0 accesses a new page (0x05) ⇒ OK.
Tema 2 – Memoria
Alberto Ros Bardisa
27 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Evaluation
Barnes
FFT
MPGenc
MPGdec
Ocean
85
26
27
26
73
59
52
54
23
26
26
16
46
46
30
50
83
85
69
71
30
45
25
29
52
71
51
55
26
26
20
26
54
58
48
40
64
66
65
64
36
26
27
34
53
55
53
54
84
104
40
38
88
48
60
44
67
66
92
65
44
26
28
37
60
61
56
57
16
16
27
26
226
172
46
184
69
65
66
76
Raytrace
Radix
Unstructured
Water-NSQ
Volrend
202
52
46
49
82
64
58
22
88
40
30
22
52
6
1
6
31
22
22
22
54
47
52
63
147
16
52
60
260
13
19
16
11
27
4
23
24
25
25
23
61
55
86
77
18
100
37
36
45
14
15
16
8
18
12
21
21
24
21
24
102
94
148
134
8
38
40
56
17
13
15
30
1
1
6
9
29
39
31
52
Ocean4
Radix4
516
468
478
471
475
469
468
469
494
555
494
547
491
549
488
567
468
469
469
491
482
470
469
490
527
560
527
562
525
562
520
559
481
469
469
469
483
469
469
470
493
543
493
549
499
552
495
553
468
487
469
489
468
469
469
490
522
565
521
563
527
548
518
562
659
469
468
469
126
108
86
57
1134
921
126
270
927
922
125
263
469
469
468
506
123
45
61
85
921
948
105
188
937
937
108
187
0
17
18
28
55
48
43
44
0
38
73
75
0
34
80
75
29
26
29
87
55
49
43
81
40
87
79
113
39
89
78
111
Mix4
#
Number of pages mapped
to each cache bank
Mix8
Tema 2 – Memoria
Alberto Ros Bardisa
28 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Evaluation
Multiprogramed workloads
bin
o
dR
in
ob
dR
un
o
R
2.6
2.5
2.4
-1
2.3
RR
DA R-4
2.2
R 16
DA RR6
2.1
24
DA R-64 R-25 R-10 uch
R
R
2.0
R
To
A
A
t
A
s
D
D
D Fir
1.9
1.8
0.80 0.85 0.90 0.95 1.00
Normalized memory misses
Distance to home (hops)
Distance to home (hops)
Parallel applications
un
Ro
4.0
3.5
-1
RR
DA R-4 6
R
-1
DA RR 4
DA R-6
R
DA
3.0
2.5
2.0
1.5
-25
RR
DA
1.0
0.5
0.60
0.70
0.80
0.90
6
24
-10
RR ouch
A
D stT
Fir
1.00
Normalized memory misses
A threshold value between 64 and 256 obtains a good trade-off.
Tema 2 – Memoria
Alberto Ros Bardisa
29 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Evaluation
Parallel applications
RoundRobin
FirstTouch
Normalized execution time
Parallel applications
DARR-1
DARR-4
DARR-16
DARR-64
DARR-256
DARR-1024
1.1
1.0
0.9
0.8
s
rne
Ba
T
FF
Gd
MP
ec
nc
MP
Ge
n
ea
Oc
dix
Ra
ed
nd
lre
tur
uc
Vo
e
ac
ytr
Ra
str
Un
r-N
te
Wa
sq
ge
era
Av
DARR-256 improves Round-Robin by 5% and First-Touch by 2%.
Tema 2 – Memoria
Alberto Ros Bardisa
30 / 35
Algo de investigación
Distance-Aware Round-Robin Mapping
Evaluation
Multiprogramed workloads
RoundRobin
FirstTouch
Normalized execution time
Multi-programmed workloads
DARR-1
DARR-4
DARR-16
DARR-64
DARR-256
DARR-1024
1.1
1.0
0.9
0.8
0.7
0.6
0.5
x4
Mi
x8
Mi
n4
ea
Oc
4
dix
Ra
ge
era
Av
DARR-256 improves Round-Robin by 14% and First-Touch by 7%.
Tema 2 – Memoria
Alberto Ros Bardisa
31 / 35
Algo de investigación
Adaptive Cache Indexing
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
32 / 35
Algo de investigación
Adaptive Cache Indexing
Adaptive Cache Indexing
LSB indexing vs. disperse indexing
Memory addresses
requested
Memory addresses
requested
LSB indexing
43210
Bit position
00000
00100
01000
01100
10000
10100
11000
11100
000
100
000
100
000
100
000
100
DM cache
set 0
set 1
set 2
set 3
set 4
set 5
set 6
set 7
Bits selected to form the index
Unused set
Tema 2 – Memoria
Other−bits indexing
43210
Bit position
00000
00100
01000
01100
10000
10100
11000
11100
000
001
010
011
100
101
110
111
Conflict−free set
DM cache
set 0
set 1
set 2
set 3
set 4
set 5
set 6
set 7
Conflicting set
Alberto Ros Bardisa
33 / 35
Conclusiones
Agenda
1
Esquema de la Jerarquía de Memoria
Último nivel de cache (LLC)
2
El mapeo de memoria
Mapeo a conjunto de cache (índice)
Mapeo a banco de memoria (nodo home)
3
CMPs actuales
4
Algo de investigación
Distance-Aware Round-Robin Mapping
Adaptive Cache Indexing
5
Conclusiones
Tema 2 – Memoria
Alberto Ros Bardisa
34 / 35
Conclusiones
Conclusiones y otros aspectos
Se han realizado avances en la jerarquía de memoria pero
todavía queda mucho que investigar
¿Cual es el valor más frecuente tanto en caches como en
memoria?
Tema 2 – Memoria
Alberto Ros Bardisa
35 / 35
Conclusiones
Conclusiones y otros aspectos
Se han realizado avances en la jerarquía de memoria pero
todavía queda mucho que investigar
¿Cual es el valor más frecuente tanto en caches como en
memoria?
El cero → ¿Compresión de datos en caches?
Tema 2 – Memoria
Alberto Ros Bardisa
35 / 35
Conclusiones
Conclusiones y otros aspectos
Se han realizado avances en la jerarquía de memoria pero
todavía queda mucho que investigar
¿Cual es el valor más frecuente tanto en caches como en
memoria?
El cero → ¿Compresión de datos en caches?
Otros aspectos: Consistencia
¿Sabemos realmente que resultados debemos esperar de
nuestros programas?
Asumimos que inicialmente x e y tienen valor 0
x = 1;
print y;
Tema 2 – Memoria
y = 1;
print x;
Alberto Ros Bardisa
35 / 35
Conclusiones
Conclusiones y otros aspectos
Se han realizado avances en la jerarquía de memoria pero
todavía queda mucho que investigar
¿Cual es el valor más frecuente tanto en caches como en
memoria?
El cero → ¿Compresión de datos en caches?
Otros aspectos: Consistencia
¿Sabemos realmente que resultados debemos esperar de
nuestros programas?
Asumimos que inicialmente x e y tienen valor 0
x = 1;
print y;
y = 1;
print x;
En procesadores Intel y AMD el par (x, y) = (0, 0) es posible!
Tema 2 – Memoria
Alberto Ros Bardisa
35 / 35