Stash ¡Directory: ¡ ¡ A ¡Scalable ¡Directory ¡for ¡Many-‑Core ¡Coherence
Socrates ¡Demetriades ¡ ¡ and ¡Sangyeun ¡Cho ¡
20th ¡Interna+onal ¡Symposium ¡On ¡High ¡Performance ¡Computer ¡Architecture ¡(HPCA). ¡ Orlando, ¡FL, ¡February ¡2014 ¡
Stash Directory: A Scalable Directory for Many-Core - - PowerPoint PPT Presentation
Stash Directory: A Scalable Directory for Many-Core Coherence Socrates Demetriades and Sangyeun Cho 20 th Interna+onal Symposium On High Performance
20th ¡Interna+onal ¡Symposium ¡On ¡High ¡Performance ¡Computer ¡Architecture ¡(HPCA). ¡ Orlando, ¡FL, ¡February ¡2014 ¡
Directory L2 Cache L2 Cache L2 Cache L2 Cache Core 0 Core 1 Core 2 Core N Shared LLC
Core 0 Core 1 Core 2 Core N
L2 Cache L2 Cache L2 Cache L2 Cache ¡[e.g., ¡Piranha, ¡NiagraT2] ¡ ¡[e.g., ¡AMD ¡Opteron] ¡
Core 0 Core 1 Core 2 Core N Core 0 Core 1 Core 2 Core N
L2 Tags Ways (L2 assoc. x N-Cores
¡[e.g., ¡Piranha, ¡NiagraT2] ¡ ¡[e.g., ¡AMD ¡Opteron] ¡
Core 0 Core 1 Core 2 Core N
Core 0 Core 1 Core 2 Core N
How big is enough? 2x-4x
L2 Tags ¡[e.g., ¡AMD ¡Opteron] ¡
How big is enough?
¡[Gupta:isca90, ¡Conway:micro10] ¡ ¡
¡[Ferdman:hpca’11, ¡Sanchez:hpca’12] ¡
[Alisafaee:micro12] ¡
[Cuesta:isca11] ¡
– Entries ¡that ¡track ¡private ¡blocks ¡can ¡be ¡silently ¡removed ¡from ¡directory. ¡ ¡ – LLC ¡and ¡the ¡coherence ¡protocol ¡are ¡involved ¡to ¡discover ¡unregistered ¡blocks. ¡ ¡
Power ¡Efficient ¡(low ¡associa+vely) ¡ Space ¡Efficient ¡(as ¡small ¡as ¡0.25x ¡provisioning ¡size ¡without ¡performance ¡impact) ¡ ¡ Transparent ¡(no ¡OS ¡support, ¡simple ¡design). ¡ ¡ Scalable ¡(largely ¡independent ¡to ¡core ¡count). ¡ ¡
8
Core 0 Core 1 Core 2 Core N Insert Dir Entry
Eviction
Directory Forces Invalidation
L2 Miss
0 ¡ 0.2 ¡ 0.4 ¡ 0.6 ¡ 0.8 ¡ 1 ¡ DIR ¡Conflict ¡Rate ¡ Directory ¡Size ¡ 0 ¡ 0.5 ¡ 1 ¡ 1.5 ¡ 2 ¡ 2.5 ¡ 3 ¡ Cache ¡Miss ¡Rate ¡ Directory ¡Size ¡
[Benchmark: ¡fluidanimte] ¡
Core 0 Core 1 Core 2 Core N Insert Dir Entry
Eviction
Private Block
Core 0 Core 1 Core 2 Core N MRU LRU MRU LRU
Eviction
Core 0 Core 1 Core 2 Core N MRU LRU MRU LRU
L2 Miss
Core 0 Core 1 Core 2 Core N MRU LRU MRU LRU
L2 Miss
16
Core 0 Core 1 Core 2 Core N Directory
Dir Eviction
Do not enforce invalidation Shared LLC L2 Cache Mark as Stash-hidden Block
P
Core 0 Core 1 Core 2 Core N Directory Shared LLC
L2 Miss (False) Dir Miss
Marked Stash-hidden
Core 0 Core 1 Core 2 Core N Shared LLC
L2 Miss
Unmark
Found
21
– Mul+threaded ¡benchmarks ¡from ¡SPLAS2 ¡and ¡PARSEC.2.1. ¡
– x86 ¡traces ¡generated ¡using ¡PIN. ¡ – Feed ¡into ¡cache/NoC ¡cycle ¡detailed ¡model ¡ – 1-‑IPC ¡in-‑order ¡core ¡model. ¡ ¡ ¡
– 16-‑core ¡+led ¡based ¡CMP. ¡ ¡ – Distributed ¡shared ¡LLC ¡16MB, ¡ ¡ – L1/L2 ¡private ¡caches, ¡inclusive. ¡4-‑way/8-‑way ¡ – 4x4 ¡mesh ¡NoC. ¡ ¡ ¡ ¡ – Distributed ¡directory ¡(same ¡associa+vity ¡as ¡L2). ¡Varying ¡Size. ¡ ¡
– course-‑grain ¡classifica+on ¡of ¡blocks ¡into ¡private/shared ¡(page ¡granularity). ¡ – If ¡miss ¡on ¡a ¡private ¡block, ¡do ¡not ¡invoke ¡coherence ¡protocol. ¡ ¡ ¡ ¡=> ¡private ¡blocks ¡are ¡not ¡tracked ¡by ¡the ¡directory. ¡ ¡ – Recover ¡mechanism ¡when ¡page ¡goes ¡from ¡private ¡to ¡shared. ¡ ¡ – OS-‑supported ¡technique. ¡ ¡
20 ¡ 60 ¡ 100 ¡ 140 ¡ 180 ¡ 220 ¡
2x ¡ 1x ¡ 1/2x ¡ 1/4x ¡ 1/8x ¡ 1/16x ¡
% ¡Miss ¡Rate ¡Change ¡ Directory ¡Provisioning ¡RaKo ¡
Sparse ¡ PDC ¡ Stash ¡
0 ¡ 40 ¡ 80 ¡ 120 ¡ 160 ¡ 200 ¡
2x ¡ 1x ¡ 1/2x ¡ 1/4x ¡ 1/8x ¡ 1/16x ¡
% ¡Miss ¡Rate ¡Change ¡ Directory ¡Provisioning ¡RaKo ¡
bodytrack ¡
Sparse ¡ PDC ¡ Stash ¡
20 ¡ 60 ¡ 100 ¡ 140 ¡ 180 ¡ 220 ¡
2x ¡ 1x ¡ 1/2x ¡ 1/4x ¡ 1/8x ¡ 1/16x ¡
% ¡Miss ¡Rate ¡Change ¡ Directory ¡Provisioning ¡RaKo ¡
canneal ¡
Sparse ¡ PDC ¡ Stash ¡
0.6 ¡ 0.8 ¡ 1 ¡ 1.2 ¡ 1.4 ¡ 1.6 ¡ 1.8 ¡ 2 ¡
Miss ¡Rate ¡(Normalized) ¡
2x ¡ 1x ¡ 1/2x ¡ 1/4x ¡
0.6 ¡ 0.8 ¡ 1 ¡ 1.2 ¡ 1.4 ¡ 1.6 ¡ 1.8 ¡ 2 ¡
Miss ¡Rate ¡(Normalized) ¡
2x ¡ 1x ¡ 1/2x ¡ 1/4x ¡ 1/4x ¡STASH ¡
0.9 ¡ 1.0 ¡ 1.1 ¡ 1.2 ¡ 1.3 ¡ 1.4 ¡ 1.5 ¡
16 ¡ 32 ¡ 64 ¡ 128 ¡ 256 ¡ 512 ¡ 1024 ¡
Miss ¡Rate ¡(Normalized) ¡ Core ¡Count ¡
Sparse ¡ PDC ¡ Stash ¡ 0.4 ¡ 0.6 ¡ 0.8 ¡ 1.0 ¡ 1.2 ¡ 1.4 ¡ 1.6 ¡
16 ¡ 32 ¡ 64 ¡ 128 ¡ 256 ¡ 512 ¡ 1024 ¡
Bandwidth ¡(Normalized) ¡ Core ¡Count ¡
20th ¡Interna+onal ¡Symposium ¡On ¡High ¡Performance ¡Computer ¡Architecture ¡(HPCA). ¡ Orlando, ¡FL, ¡February ¡2014 ¡