Spa$otemporal Coherence Tracking Mohammad Alisafaee December - - PowerPoint PPT Presentation

spa otemporal coherence tracking
SMART_READER_LITE
LIVE PREVIEW

Spa$otemporal Coherence Tracking Mohammad Alisafaee December - - PowerPoint PPT Presentation

Spa$otemporal Coherence Tracking Mohammad Alisafaee December 4, 2012 Scaling Coherence Directories CMPs heading towards high core counts Private caches


slide-1
SLIDE 1

Spa$otemporal ¡Coherence ¡Tracking ¡

Mohammad ¡Alisafaee ¡ December ¡4, ¡2012 ¡

¡ ¡

slide-2
SLIDE 2

Scaling ¡Coherence ¡Directories ¡

  • CMPs ¡heading ¡towards ¡high ¡core ¡counts ¡

– Private ¡caches ¡require ¡coherence ¡ – Coherence ¡directories ¡must ¡be ¡scalable ¡

  • Directory ¡size ¡increases ¡quadra@cally ¡with ¡

core ¡count ¡

– Consume ¡a ¡large ¡frac@on ¡of ¡the ¡die ¡area ¡

Needs ¡Area-­‑Efficient ¡Directories! ¡

2 ¡

slide-3
SLIDE 3

Reducing ¡Directory ¡Size ¡

  • Narrow ¡down ¡entries ¡
  • Reduce ¡the ¡number ¡of ¡entries ¡

– Coarse-­‑grain ¡coherence ¡tracking ¡

  • False ¡sharing ¡degrades ¡the ¡performance ¡

– Dual-­‑grain ¡coherence ¡tracking ¡

3 ¡

slide-4
SLIDE 4

Spa$otemporal ¡Coherence ¡Tracking ¡

Observa$on: ¡Data ¡are ¡not ¡ac@vely ¡shared ¡ ¡

– Data ¡regions ¡are ¡accessed ¡by ¡one ¡core ¡at ¡a ¡@me ¡ (temporarily ¡private) ¡

Proposal: ¡Use ¡a ¡dual-­‑grain ¡coherence ¡directory ¡

– Region ¡granularity: ¡temporarily-­‑private ¡data ¡ – Block ¡granularity: ¡shared ¡data ¡

Results: ¡

– 75% ¡reduc@on ¡in ¡directory ¡size ¡with ¡only ¡1% ¡ performance ¡loss ¡

4 ¡

slide-5
SLIDE 5

Outline ¡

  • Introduc@on ¡
  • Temporarily-­‑private ¡data ¡
  • Spa@otemporal ¡Coherence ¡Tracking ¡
  • Results ¡
  • Conclusion ¡

5 ¡

slide-6
SLIDE 6

Classifica$on ¡of ¡Data ¡

  • Conven@onal ¡data ¡classifica@on: ¡Private ¡or ¡

Shared ¡

– Private: ¡Always ¡accessed ¡by ¡the ¡same ¡core ¡ – Shared: ¡Accessed ¡by ¡mul@ple ¡cores ¡

¡

  • Coherence ¡can ¡be ¡deac@vated ¡for ¡private ¡data ¡

[Cuesta'11] ¡ ¡

  • Private ¡data ¡are ¡a ¡small ¡frac@on ¡[Hardavellas'09] ¡

6 ¡

slide-7
SLIDE 7

New ¡Classifica$on ¡of ¡Data ¡

  • Temporal ¡defini@on ¡of ¡Private ¡and ¡Shared ¡

– Look ¡only ¡at ¡the ¡caching ¡@me ¡of ¡data ¡

  • Temporarily ¡private: ¡Cached ¡by ¡one ¡core ¡
  • Temporarily ¡shared: ¡Cached ¡by ¡mul@ple ¡cores ¡

7 ¡

slide-8
SLIDE 8

Shared ¡ Temporarily ¡ Private ¡ Temporarily ¡ Private ¡ Temporarily ¡ Private ¡ Temporarily ¡ Private ¡

slide-9
SLIDE 9

Methodology ¡

Workloads ¡

  • OLTP: ¡TPC-­‑C ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡
  • n ¡IBM ¡DB2 ¡& ¡Oracle ¡
  • DSS: ¡TPC-­‑H ¡Queries ¡1, ¡17 ¡ ¡
  • n ¡IBM ¡DB2 ¡
  • Web: ¡SPECWeb99 ¡ ¡
  • n ¡Apache ¡& ¡Zeus ¡ ¡
  • Scien@fic: ¡Em3d ¡(Olden), ¡

Ocean ¡(SPLASH) ¡ Model ¡Parameters ¡

  • 16-­‑core ¡Tiled ¡CMP ¡@ ¡2 ¡GHz, ¡

3-­‑wide ¡OoO ¡cores ¡

  • L1: ¡32 ¡KB, ¡4-­‑way, ¡64-­‑byte ¡

lines ¡

  • NUCA ¡L2: ¡8 ¡MB, ¡shared ¡
  • 8 ¡KB ¡regions ¡= ¡128 ¡blocks ¡

9 ¡

Flexus ¡[Wenisch06] ¡ – Full-­‑system ¡trace ¡and ¡OoO ¡@ming ¡simula@on ¡

slide-10
SLIDE 10

Opportunity ¡

79% ¡of ¡entries ¡map ¡to ¡temporally-­‑private ¡pages ¡

10 ¡

0% 20% 40% 60% 80% 100% Q1 Q17 Oracle DB2 Em3d Ocean Apache Zeus DSS OLTP Scientific Web

% Directory Entries Temporarily-private

slide-11
SLIDE 11

Opportunity ¡

79% ¡of ¡entries ¡map ¡to ¡temporally-­‑private ¡pages ¡ Temporarily ¡private ¡has ¡42% ¡higher ¡opportunity ¡over ¡private ¡ 11 ¡

0% 20% 40% 60% 80% 100% Q1 Q17 Oracle DB2 Em3d Ocean Apache Zeus DSS OLTP Scientific Web

% Directory Entries Temporarily-private Private

slide-12
SLIDE 12

Outline ¡

  • Introduc@on ¡
  • Temporarily-­‑private ¡data ¡
  • Spa@otemporal ¡Coherence ¡Tracking ¡
  • Results ¡
  • Conclusion ¡

12 ¡

slide-13
SLIDE 13

Spa$otemporal ¡Coherence ¡Tracking ¡

  • Classify ¡regions ¡to ¡temporarily-­‑private ¡and ¡

shared ¡

– Look ¡at ¡access/evic@on ¡messages ¡ – Maintain ¡region ¡informa@on ¡

  • Dual-­‑grain ¡coherence ¡tracking ¡of ¡data ¡

– Coarse-­‑grained ¡tracking ¡for ¡temporarily-­‑private ¡ data ¡ – Fine-­‑grained ¡tracking ¡for ¡shared ¡data ¡

13 ¡

slide-14
SLIDE 14

14 ¡

Read/Write ¡ Evict ¡

slide-15
SLIDE 15

Region ¡& ¡Block ¡Informa$on ¡

  • For ¡every ¡cached ¡region ¡

– Who ¡accessed ¡it ¡first? ¡The ¡Owner ¡ – How ¡many ¡blocks ¡are ¡cached ¡by ¡the ¡owner? ¡ – How ¡many ¡blocks ¡are ¡shared? ¡ ¡… ¡== ¡0 ¡: ¡Temporarily ¡private ¡ ¡… ¡> ¡0 ¡: ¡Temporarily ¡shared ¡ ¡

  • For ¡every ¡shared ¡block: ¡

– State ¡ – Who ¡are ¡the ¡sharers? ¡

15 ¡

slide-16
SLIDE 16

Lifecycle ¡of ¡a ¡Region ¡

Temporarily ¡ Private ¡

16 ¡

Not ¡Cached ¡ Temporarily ¡ Shared ¡

slide-17
SLIDE 17

Outline ¡

  • Introduc@on ¡
  • Temporarily-­‑private ¡data ¡
  • Spa@otemporal ¡Coherence ¡Tracking ¡
  • Results ¡
  • Conclusion ¡

17 ¡

slide-18
SLIDE 18

Directory ¡Size ¡Reduc$on ¡

SCT ¡at ¡most ¡requires ¡25% ¡of ¡the ¡baseline ¡area ¡ Region ¡informa@on ¡requires ¡6% ¡of ¡the ¡baseline ¡area ¡ ¡

18 ¡

0% 10% 20% 30% Q1 Q17 Oracle DB2 Em3d Ocean Apache Zeus DSS OLTP Scientific Web

% Baseline Entries Blocks Regions

slide-19
SLIDE 19

Performance ¡

1% ¡loss ¡in ¡performance ¡while ¡using ¡4x ¡less ¡area ¡ ¡

19 ¡

70% 80% 90% 100% Q1 Q17 Oracle DB2 Em3d Ocean Apache Zeus DSS OLTP Sci. Web

Normalized Performance SCT

slide-20
SLIDE 20

Opportunity ¡

1% ¡loss ¡in ¡performance ¡while ¡using ¡4x ¡less ¡area ¡ 6% ¡higher ¡performance ¡compared ¡to ¡private ¡

20 ¡

70% 80% 90% 100% Q1 Q17 Oracle DB2 Em3d Ocean Apache Zeus DSS OLTP Sci. Web

Normalized Performance SCT PRIVATE

slide-21
SLIDE 21

Conclusion ¡

  • Directory ¡requires ¡a ¡large ¡area ¡at ¡high ¡core ¡counts ¡
  • Majority ¡of ¡data ¡are ¡temporarily ¡private ¡
  • Adap@ve ¡dual-­‑grain ¡coherence ¡tracking ¡

– Region ¡granularity ¡for ¡temporarily-­‑private ¡data ¡ – Block ¡granularity ¡for ¡shared ¡data ¡

  • 75% ¡reduc@on ¡in ¡the ¡coherence ¡directory ¡size ¡

with ¡only ¡1% ¡performance ¡loss ¡

21 ¡

slide-22
SLIDE 22

Thanks ¡

22 ¡