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 ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend