Spa$otemporal ¡Coherence ¡Tracking ¡ Mohammad ¡Alisafaee ¡ December ¡4, ¡2012 ¡ ¡ ¡
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 ¡
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 ¡
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 ¡
Outline ¡ • Introduc@on ¡ • Temporarily-‑private ¡data ¡ • Spa@otemporal ¡Coherence ¡Tracking ¡ • Results ¡ • Conclusion ¡ 5 ¡
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 ¡
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 ¡
Shared ¡ Temporarily ¡ Temporarily ¡ Temporarily ¡ Temporarily ¡ Private ¡ Private ¡ Private ¡ Private ¡
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 ¡
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 ¡
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 ¡
Outline ¡ • Introduc@on ¡ • Temporarily-‑private ¡data ¡ • Spa@otemporal ¡Coherence ¡Tracking ¡ • Results ¡ • Conclusion ¡ 12 ¡
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 ¡
Read/Write ¡ Evict ¡ 14 ¡
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 ¡
Lifecycle ¡of ¡a ¡Region ¡ Not ¡Cached ¡ Temporarily ¡ Temporarily ¡ Private ¡ Shared ¡ 16 ¡
Outline ¡ • Introduc@on ¡ • Temporarily-‑private ¡data ¡ • Spa@otemporal ¡Coherence ¡Tracking ¡ • Results ¡ • Conclusion ¡ 17 ¡
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 ¡ ¡
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 ¡ ¡
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 ¡
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 ¡
Thanks ¡ 22 ¡
Recommend
More recommend