spa otemporal coherence tracking
play

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


  1. Spa$otemporal ¡Coherence ¡Tracking ¡ Mohammad ¡Alisafaee ¡ December ¡4, ¡2012 ¡ ¡ ¡

  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 ¡

  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 ¡

  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 ¡

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

  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 ¡

  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 ¡

  8. Shared ¡ Temporarily ¡ Temporarily ¡ Temporarily ¡ Temporarily ¡ Private ¡ Private ¡ Private ¡ Private ¡

  9. Methodology ¡ Flexus ¡[Wenisch06] ¡ – Full-­‑system ¡trace ¡and ¡OoO ¡@ming ¡simula@on ¡ Workloads ¡ Model ¡Parameters ¡ • OLTP: ¡TPC-­‑C ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ • 16-­‑core ¡Tiled ¡CMP ¡@ ¡2 ¡GHz, ¡ on ¡IBM ¡DB2 ¡& ¡Oracle ¡ 3-­‑wide ¡OoO ¡cores ¡ • DSS: ¡TPC-­‑H ¡Queries ¡1, ¡17 ¡ ¡ • L1: ¡32 ¡KB, ¡4-­‑way, ¡64-­‑byte ¡ on ¡IBM ¡DB2 ¡ lines ¡ • Web: ¡SPECWeb99 ¡ ¡ • NUCA ¡L2: ¡8 ¡MB, ¡shared ¡ on ¡Apache ¡& ¡Zeus ¡ ¡ • 8 ¡KB ¡regions ¡= ¡128 ¡blocks ¡ • Scien@fic: ¡Em3d ¡(Olden), ¡ Ocean ¡(SPLASH) ¡ 9 ¡

  10. Opportunity ¡ Temporarily-private 100% 80% % Directory Entries 60% 40% 20% 0% Q1 Q17 Oracle DB2 Em3d Ocean Apache Zeus DSS OLTP Scientific Web 79% ¡of ¡entries ¡map ¡to ¡temporally-­‑private ¡pages ¡ 10 ¡

  11. Opportunity ¡ Temporarily-private Private 100% 80% % Directory Entries 60% 40% 20% 0% Q1 Q17 Oracle DB2 Em3d Ocean Apache Zeus DSS OLTP Scientific Web 79% ¡of ¡entries ¡map ¡to ¡temporally-­‑private ¡pages ¡ Temporarily ¡private ¡has ¡ 42% ¡higher ¡opportunity ¡over ¡private ¡ 11 ¡

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

  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 ¡

  14. Read/Write ¡ Evict ¡ 14 ¡

  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 ¡

  16. Lifecycle ¡of ¡a ¡Region ¡ Not ¡Cached ¡ Temporarily ¡ Temporarily ¡ Private ¡ Shared ¡ 16 ¡

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

  18. Directory ¡Size ¡Reduc$on ¡ 30% Blocks Regions % Baseline Entries 20% 10% 0% Q1 Q17 Oracle DB2 Em3d Ocean Apache Zeus DSS OLTP Scientific Web SCT ¡at ¡most ¡requires ¡25% ¡of ¡the ¡baseline ¡area ¡ Region ¡informa@on ¡requires ¡6% ¡of ¡the ¡baseline ¡area ¡ 18 ¡ ¡

  19. Performance ¡ SCT 100% Normalized Performance 90% 80% 70% Q1 Q17 Oracle DB2 Em3d Ocean Apache Zeus DSS OLTP Sci. Web 1% ¡loss ¡in ¡performance ¡while ¡using ¡4x ¡less ¡area ¡ 19 ¡ ¡

  20. Opportunity ¡ SCT PRIVATE 100% Normalized Performance 90% 80% 70% Q1 Q17 Oracle DB2 Em3d Ocean Apache Zeus DSS OLTP Sci. Web 1% ¡loss ¡in ¡performance ¡while ¡using ¡4x ¡less ¡area ¡ 6% ¡higher ¡performance ¡compared ¡to ¡private ¡ 20 ¡

  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 ¡

  22. Thanks ¡ 22 ¡

Recommend


More recommend