PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
Apostolos Kokolis, Dimitrios Skarlatos and Josep Torrellas University of Illinois at Urbana-Champaign http://iacoma.cs.uiuc.edu HPCA 2019, Feb 2019
PageSeer : Using Page Walks to Trigger Page Swaps in Hybrid Memory - - PowerPoint PPT Presentation
PageSeer : Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems Apostolos Kokolis , Dimitrios Skarlatos and Josep Torrellas University of Illinois at Urbana-Champaign http://iacoma.cs.uiuc.edu HPCA 2019, Feb 2019 Introduction
Apostolos Kokolis, Dimitrios Skarlatos and Josep Torrellas University of Illinois at Urbana-Champaign http://iacoma.cs.uiuc.edu HPCA 2019, Feb 2019
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
+ higher density
2
MC NVM DRAM
Cannot replace DRAM entirely
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
address space
3
MC NVM DRAM Capacity loss More capacity & BW Need to swap memory between NVM and DRAM
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
4
DRAM NVM MC HW needs to
pages to swap
C D F A B Memory Request for Page D
D
3
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
5
DRAM NVM MC A D F C B Memory Request for Page C
A C
HW needs to
pages to swap
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
6
DRAM NVM MC HW needs to
pages to swap
A D F C B
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
v Conservative swapping à Miss opportunities
v Aggressive swapping à Unnecessary traffic
v Hard to predict
7
DRAM NVM
Swap Buffer Swap Buffer
Read Write Read
Segment ID Counter A 5 B 4 C 2
Write ≥ Threshold
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
8
DRAM NVM
Swap Buffer Swap Buffer
swapping
v How to predict future memory accesses? Read Read Write Write
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
9
TLB
Translation Timeline
CPU Request L2 LLC Memory PW PTE Fill Caches Fill TLB TLB
Data Access Timeline
Replay CPU Request L2 LLC Memory L1
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
10
TLB
Translation Timeline
CPU Request L2 LLC Memory Page Walk (PW) Fill Caches Fill TLB TLB
Data Access Timeline
Replay Request L2 LLC Memory L1
Miss in caches
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
11
TLB
Translation Timeline
CPU Request L2 LLC Memory Page Walk (PW) Fill Caches Fill TLB TLB
Data Access Timeline
Replay Request L2 LLC Memory L1
At this point we know the page that will be accessed
Insight: Page Walks give information about future accesses to a page earlier
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
memory systems
DRAM
Memory Access Time (AMMAT) by 29% over state-of-the-art
12
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
47 - 39 38 - 30 29 - 21 20 - 12 11 - 0 c PUD A CR3 c PMD A c Physical Address 4-KB Page A Virtual Address + c PTE A c PGD A + + + + 13
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
14 Core ¡
L1 ¡
L2 ¡ Shared ¡L3 ¡
L1 ¡TLB ¡
L2 ¡TLB ¡ Hybrid ¡Memory ¡ Controller ¡(HMC) ¡ MMU ¡ Core ¡
L1 ¡
L2 ¡
L1 ¡TLB ¡
L2 ¡TLB ¡ MMU ¡
Processor ¡Chip ¡
Path ¡to ¡ Memories ¡
DRAM ¡
Crossbar ¡interconnect ¡ Logic ¡Layer ¡ ¡
NVM ¡
Logic ¡Layer ¡ ¡
the MMU and the Hybrid Memory Controller
PTE level
a memory request to the caches
sends it to the HMC v Inform the HMC about forthcoming memory accesses
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
15
L2 Shared L3 TLB MMU DRAM NVM HMC
Data Access Timeline Translation Timeline Goal: give time to the HMC for swaps and to prepare its HW structs
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
16
L2 Shared L3 TLB MMU DRAM NVM HMC
TLB
Data Access Timeline
Replay Request L2 LLC Memory L1 TLB
Translation Timeline
CPU Request L2 LLC Memory PW PTE
Fill Caches
Fill TLB HMC HMC
1
page number
structures
2 3 A 4 C
PTE
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
17
L2 Shared L3 TLB MMU DRAM NVM HMC
TLB
Data Access Timeline
Replay Request L2 LLC Memory L1 TLB
Translation Timeline
CPU Request L2 LLC Memory PW PTE
Fill Caches
Fill TLB HMC HMC
1
page number
structures
2 3 C 4 A
PTE
Benefits:
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
18 Memory ¡request ¡
PRT ¡
MMU ¡ signal ¡ Path ¡to ¡ Memories ¡
Hybrid ¡Memory ¡Controller ¡ (HMC) ¡ Page Remapping Table (PRT)
between DRAM-NVM pages
checks the PRT
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
19 Memory ¡request ¡
PRT ¡
MMU ¡ signal ¡ Path ¡to ¡ Memories ¡
Hybrid ¡Memory ¡Controller ¡ (HMC) ¡ Page Remapping Table (PRT)
important => Cache some entries
NVM PPN DRAM PPN NVM PPN DRAM PPN
NVM Page s DRAM Pages Set 0 Set 1 Set 2 Set 3
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
20 Memory ¡request ¡
PRT ¡
MMU ¡ signal ¡ Path ¡to ¡ Memories ¡
Hybrid ¡Memory ¡Controller ¡ (HMC) ¡ Hot Page Tables (HPTs)
remain in DRAM
swap to DRAM
Page Number Counter HPTs ¡
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
21 Memory ¡request ¡
PRT ¡
MMU ¡ signal ¡ Path ¡to ¡ Memories ¡
Hybrid ¡Memory ¡Controller ¡ (HMC) ¡
HPTs ¡ PCT ¡
PPN Counter Next PPN Next counter
PCT entry Page Correlation Table (PCT)
accesses
between pages à prefetch
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
22 Memory ¡request ¡
PRT ¡
MMU ¡ signal ¡ Path ¡to ¡ Memories ¡
Hybrid ¡Memory ¡Controller ¡ (HMC) ¡
HPTs ¡ PCT ¡ MMU ¡Driver ¡ ¡
MMU Driver
checks for prefetch swaps
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
23 Memory ¡request ¡
PRT ¡
MMU ¡ signal ¡ Path ¡to ¡ Memories ¡
Hybrid ¡Memory ¡Controller ¡ (HMC) ¡
HPTs ¡ PCT ¡ MMU ¡Driver ¡ ¡
Swap Driver
from
page that is being swapped
Swap ¡Driver ¡
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
24
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
25
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
26
10 20 30 40 50 60 70 80 90 100
PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer SPEC Splash CORAL Mixes Average
Main memory accesses (%) DRAM NVM Swap Buffers
33% 40% 9% 2%
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
27
10 20 30 40 50 60 70 80 90 100
PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer SPEC Splash CORAL Mixes Average
Main memory accesses (%) DRAM NVM Swap Buffers
33% 40% 9% 2%
memory requests to DRAM
buffers during swaps
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
28
10 20 30 40 50 60 70 80 90 100
PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer SPEC Splash CORAL Mixes Average
Main Memory Accesses (%)
12% 15% 1% 5% 10%
Positive Access DRAM thanks to a swap Negative Access NVM due to a swap Neutral Access DRAM or NVM as if no swap happened
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
29
10 20 30 40 50 60 70 80 90 100
PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer PoM Mempod PageSeer SPEC Splash CORAL Mixes Average
Main Memory Accesses (%)
15% 1%
positive memory accesses because of swaps and only 1% negative accesses 5%
Positive Access DRAM thanks to a swap Negative Access NVM due to a swap Neutral Access DRAM or NVM as if no swap happened
12% 10%
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
Page Correlation Table based on historic access patterns
initiated by the MMU
Hot Page Table when accesses to a page reach a threshold
30
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
31
10 20 30 40 50 60 70 80 90 100
b w a v e s m c f f f t l u C
l u N C
L U L E S H l b m m i l c G e m s F D T F l i b q u a n t u m
n e t p p l e s l i e 3 d r a d i x
e a n C
b a r n e s s t r e a m m i n i F E A M G m k S N A P M I L C m k m i x 1 m i x 2 m i x 3 m i x 4 m i x 5 m i x 6 A v e r a g e
Number of Swaps (%) Prefetching-Triggered HPT-Triggered MMU-Triggered
49% 63% 37%
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
32
10 20 30 40 50 60 70 80 90 100
b w a v e s m c f f f t l u C
l u N C
L U L E S H l b m m i l c G e m s F D T F l i b q u a n t u m
n e t p p l e s l i e 3 d r a d i x
e a n C
b a r n e s s t r e a m m i n i F E A M G m k S N A P M I L C m k m i x 1 m i x 2 m i x 3 m i x 4 m i x 5 m i x 6 A v e r a g e
Number of Swaps (%) Prefetching-Triggered HPT-Triggered MMU-Triggered
49% 63% 37%
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
33
0 ¡ 10 ¡ 20 ¡ 30 ¡ 40 ¡ 50 ¡ 60 ¡ 70 ¡ 80 ¡ 90 ¡ 100 ¡
m c f ¡ P ¡ l u C
¡ l b m ¡ s t r e a m ¡ m i n i F E ¡ A M G m k ¡ M I L C m k ¡ m i x 2 ¡ m i x 3 ¡ m i x 4 ¡ A v e r a g e ¡
Number ¡of ¡Swaps ¡(%) ¡ Prefetching-‑Triggered ¡ HPT-‑Triggered ¡ MMU-‑Triggered ¡
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
34
0 ¡ 10 ¡ 20 ¡ 30 ¡ 40 ¡ 50 ¡ 60 ¡ 70 ¡ 80 ¡ 90 ¡ 100 ¡
m c f ¡ P ¡ l u C
¡ l b m ¡ s t r e a m ¡ m i n i F E ¡ A M G m k ¡ M I L C m k ¡ m i x 2 ¡ m i x 3 ¡ m i x 4 ¡ A v e r a g e ¡
Number ¡of ¡Swaps ¡(%) ¡ Prefetching-‑Triggered ¡ HPT-‑Triggered ¡ MMU-‑Triggered ¡
high performance
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
35
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
SPEC Splash Coral Mixes Average Speedup Mempod PoM PageSeer
19% 28%
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
36
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
SPEC Splash Coral Mixes Average Speedup Mempod PoM PageSeer
19% 28%
1. Swaps 2. Less time spent at the PRT (~62% less)
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
37
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
38
Apostolos Kokolis, Dimitrios Skarlatos and Josep Torrellas University of Illinois at Urbana-Champaign http://iacoma.cs.uiuc.edu HPCA 2019 Session 8A: MEMORY
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
40
Average: 87% accuracy
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
41
Average: 62% PRT reduction
PageSeer: Using Page Walks to Trigger Page Swaps in Hybrid Memory Systems
42
0.35 to 0.19 swaps per KInst 15% PTE cache misses