Presentation is loading. Please wait.

Presentation is loading. Please wait.

(C) 2003 Milo Martin Token Coherence: Decoupling Performance and Correctness Milo Martin, Mark Hill, and David Wood Wisconsin Multifacet Project

Similar presentations


Presentation on theme: "(C) 2003 Milo Martin Token Coherence: Decoupling Performance and Correctness Milo Martin, Mark Hill, and David Wood Wisconsin Multifacet Project"— Presentation transcript:

1 (C) 2003 Milo Martin Token Coherence: Decoupling Performance and Correctness Milo Martin, Mark Hill, and David Wood Wisconsin Multifacet Project http://www.cs.wisc.edu/multifacet/ University of Wisconsin—Madison

2 Token Coherence – Milo Martin slide 2 We See Two Problems in Cache Coherence 1. Protocol ordering bottlenecks –Artifact of conservatively resolving racing requests –“Virtual bus” interconnect (snooping protocols) –Indirection (directory protocols) 2. Protocol enhancements compound complexity –Fragile, error prone & difficult to reason about –Why? A distributed & concurrent system –Often enhancements too complicated to implement (predictive/adaptive/hybrid protocols) Performance and correctness tightly intertwined

3 Token Coherence – Milo Martin slide 3 Rethinking Cache-Coherence Protocols Goal of invalidation-based coherence –Invariant: many readers -or- single writer –Enforced by globally coordinated actions Enforce this invariant directly using tokens –Fixed number of tokens per block –One token to read, all tokens to write Guarantees safety in all cases –Global invariant enforced with only local rules –Independent of races, request ordering, etc. Key innovation

4 Token Coherence – Milo Martin slide 4 Token Coherence: A New Framework for Cache Coherence Goal: Decouple performance and correctness –Fast in the common case –Correct in all cases To remove ordering bottlenecks –Ignore races (fast common case) –Tokens enforce safety (all cases) To reduce complexity –Performance enhancements (fast common case) –Without affecting correctness (all cases) –(without increased complexity) Focus of this talk Briefly described

5 Token Coherence – Milo Martin slide 5 Outline Overview Problem: ordering bottlenecks Solution: Token Coherence (TokenB) Evaluation Further exploiting decoupling Conclusions

6 Token Coherence – Milo Martin slide 6 Technology Trends High-speed point-to-point links –No (multi-drop) busses Desire: low-latency interconnect –Avoid “virtual bus” ordering –Enabled by directory protocols Technology trends  unordered interconnects Increasing design integration –“Glueless” multiprocessors –Improve cost & latency

7 Token Coherence – Milo Martin slide 7 Workload Trends PPPM 1 2 PPPM 2 1 3 Directory Protocol Workload trends  avoid indirection, broadcast ok Commercial workloads –Many cache-to-cache misses –Clusters of small multiprocessors Goals: –Direct cache-to-cache misses (2 hops, not 3 hops) –Moderate scalability

8 Token Coherence – Milo Martin slide 8 Basic Approach Low-latency protocol –Broadcast with direct responses –As in snooping protocols PPPM 1 2 Fast & works fine with no races… …but what happens in the case of a race? Low-latency interconnect –Use unordered interconnect –As in directory protocols

9 Token Coherence – Milo Martin slide 9 1 P 0 issues a request to write (delayed to P 2 ) Request to write Basic approach… but not yet correct P2P2 Read/Write P1P1 No Copy P0P0 Delayed in interconnect 3 P 1 issues a request to read Request to read 2 Ack

10 Token Coherence – Milo Martin slide 10 P2P2 Read/Write P1P1 No Copy P0P0 Basic approach… but not yet correct 1 2 3 4 Read-only P 2 responds with data to P 1

11 Token Coherence – Milo Martin slide 11 Basic approach… but not yet correct P2P2 Read/Write P1P1 No Copy P0P0 1 2 3 4 5 Read-only P 0 ’s delayed request arrives at P 2

12 Token Coherence – Milo Martin slide 12 Basic approach… but not yet correct P2P2 Read/Write P1P1 No Copy P0P0 Read/Write 1 2 3 4 5 6 7 Read-only No Copy P 2 responds to P 0

13 Token Coherence – Milo Martin slide 13 Basic approach… but not yet correct P2P2 Read/Write P1P1 No Copy P0P0 Read/Write 1 2 3 4 5 6 7 Read-only No Copy Problem: P 0 and P 1 are in inconsistent states Locally “correct” operation, globally inconsistent

14 Token Coherence – Milo Martin slide 14 Contribution #1: Token Counting Tokens control reading & writing of data At all times, all blocks have T tokens E.g., one token per processor One or more to read All tokens to write Tokens: in caches, memory, or in transit Components exchange tokens & data Provides safety in all cases

15 Token Coherence – Milo Martin slide 15 Basic Approach (Revisited) As before: –Broadcast with direct responses (like snooping) –Use unordered interconnect (like directory) Track tokens for safety More refinement in a moment…

16 Token Coherence – Milo Martin slide 16 Token Coherence Example P2P2 T=16 (R/W) P1P1 T=0 P0P0 2 Delayed 1 P 0 issues a request to write (delayed to P 2 ) Request to write 3 P 1 issues a request to read Delayed Request to read Max Tokens

17 Token Coherence – Milo Martin slide 17 Token Coherence Example P2P2 T=16 (R/W) P1P1 T=0 P0P0 1 2 3 4 T=1(R)T=15(R) P 2 responds with data to P 1 T=1

18 Token Coherence – Milo Martin slide 18 Token Coherence Example P2P2 T=16 (R/W) P1P1 T=0 P0P0 1 2 3 4 5 T=1(R)T=15(R) P 0 ’s delayed request arrives at P 2

19 Token Coherence – Milo Martin slide 19 Token Coherence Example P2P2 T=16 (R/W) P1P1 T=0 P0P0 T=15(R) 1 2 3 4 5 6 7 T=1(R)T=15(R) T=0 P 2 responds to P 0 T=15

20 Token Coherence – Milo Martin slide 20 Token Coherence Example P2P2 T=16 (R/W) P1P1 T=0 P0P0 T=15(R) 1 2 3 4 5 6 7 T=1(R)T=15(R) T=0

21 Token Coherence – Milo Martin slide 21 Token Coherence Example P2P2 T=0 P1P1 T=1(R) P0P0 T=15(R) Now what? (P 0 wants all tokens)

22 Token Coherence – Milo Martin slide 22 Basic Approach (Re-Revisited) As before: –Broadcast with direct responses (like snooping) –Use unordered interconnect (like directory) –Track tokens for safety Reissue requests as needed –Needed due to racing requests (uncommon) –Timeout to detect failed completion Wait twice average miss latency Small hardware overhead –All races handled in this uniform fashion

23 Token Coherence – Milo Martin slide 23 Token Coherence Example P2P2 T=0 P1P1 T=1(R) P0P0 T=15(R) 8 P 0 reissues request P 1 responds with a token T=1 9 Timeout!

24 Token Coherence – Milo Martin slide 24 Token Coherence Example P2P2 T=0 P0P0 T=16 (R/W) P1P1 T=0 P 0 ’s request completed One final issue: What about starvation?

25 Token Coherence – Milo Martin slide 25 Contribution #2: Guaranteeing Starvation-Freedom Handle pathological cases –Infrequently invoked –Can be slow, inefficient, and simple When normal requests fail to succeed (4x) –Longer timeout and issue a persistent request –Request persists until satisfied –Table at each processor –“Deactivate” upon completion Implementation –Arbiter at memory orders persistent requests

26 Token Coherence – Milo Martin slide 26 Outline Overview Problem: ordering bottlenecks Solution: Token Coherence (TokenB) Evaluation Further exploiting decoupling Conclusions

27 Token Coherence – Milo Martin slide 27 Evaluation Goal: Four Questions 1.Are reissued requests rare? Yes 2.Can Token Coherence outperform snooping? Yes: lower-latency unordered interconnect 3.Can Token Coherence outperform directory? Yes: direct cache-to-cache misses 4.Is broadcast overhead reasonable? Yes (for 16 processors) Quantitative evidence for qualitative behavior

28 Token Coherence – Milo Martin slide 28 Workloads and Simulation Methods Workloads –OLTP - On-line transaction processing –SPECjbb - Java middleware workload –Apache - Static web serving workload –All workloads use Solaris 8 for SPARC Simulation methods –16 processors –Simics full-system simulator –Out-of-order processor model –Detailed memory system model –Many assumptions and parameters (see paper)

29 Token Coherence – Milo Martin slide 29 Q1: Reissued Requests (percent of all L2 misses) OLTPSPECjbbApache

30 Token Coherence – Milo Martin slide 30 Q1: Reissued Requests (percent of all L2 misses) OutcomeOLTPSPECjbbApache Not Reissued98% 96% Reissued Once 2% 3% Reissued > 10.4%0.3%0.7% Persistent Requests (Reissued > 4) 0.2%0.1%0.3% Yes; reissued requests are rare (these workloads, 16p)

31 Token Coherence – Milo Martin slide 31 Q2: Runtime: Snooping vs. Token Coherence Hierarchical Switch Interconnect Similar performance on same interconnect “Tree” interconnect

32 Token Coherence – Milo Martin slide 32 Q2: Runtime: Snooping vs. Token Coherence Direct Interconnect Snooping not applicable “Torus” interconnect

33 Token Coherence – Milo Martin slide 33 Q2: Runtime: Snooping vs. Token Coherence Yes; Token Coherence can outperform snooping (15-28% faster) Why? Lower-latency interconnect

34 Token Coherence – Milo Martin slide 34 Q3: Runtime: Directory vs. Token Coherence Yes; Token Coherence can outperform directories (17-54% faster with slow directory) Why? Direct “2-hop” cache-to-cache misses

35 Token Coherence – Milo Martin slide 35 Q4: Traffic per Miss: Directory vs. Token Yes; broadcast overheads reasonable for 16 processors (directory uses 21-25% less bandwidth)

36 Token Coherence – Milo Martin slide 36 Q4: Traffic per Miss: Directory vs. Token Yes; broadcast overheads reasonable for 16 processors (directory uses 21-25% less bandwidth) Why? Requests are smaller than data (8B v. 64B) Requests & forwards Responses

37 Token Coherence – Milo Martin slide 37 Outline Overview Problem: ordering bottlenecks Solution: Token Coherence (TokenB) Evaluation Further exploiting decoupling Conclusions

38 Token Coherence – Milo Martin slide 38 Contribution #3: Decoupled Coherence Cache Coherence Protocol Correctness Substrate (all cases) Performance Protocol (common cases) Safety (token counting) Starvation Freedom (persistent requests) Many Implementation choices

39 Token Coherence – Milo Martin slide 39 Example Opportunities of Decoupling Predict a destination-set [ISCA ‘03] –Based on past history –Need not be correct (rely on persistent requests) –Enables larger or more cost-effective systems Example#2: predictive push P2P2 P2P2 P2P2 P2P2 PnPn P1P1 T=16 P0P0 Example#1: Broadcast is not required Requires no changes to correctness substrate Predictive push

40 Token Coherence – Milo Martin slide 40 Conclusions Token Coherence (broadcast version) –Low cache-to-cache miss latency (no indirection) –Avoids “virtual bus” interconnects –Faster and/or cheaper Token Coherence (in general) –Correctness substrate Tokens for safety Persistent requests for starvation freedom –Performance protocol for performance –Decouple correctness from performance Enables further protocol innovation

41 Token Coherence – Milo Martin slide 41

42 Token Coherence – Milo Martin slide 42 Cache-Coherence Protocols Goal: provide a consistent view of memory Permissions in each cache per block –One read/write -or- –Many readers Cache coherence protocols –Distributed & complex –Correctness critical –Performance critical Races: the main source of complexity –Requests for the same block at the same time

43 Token Coherence – Milo Martin slide 43 Evaluation Parameters Processors –SPARC ISA –2 GHz, 11 pipe stages –4-wide fetch/execute –Dynamically scheduled –128 entry ROB –64 entry scheduler Memory system –64 byte cache lines –128KB L1 Instruction and Data, 4-way SA, 2 ns (4 cycles) –4MB L2, 4-way SA, 6 ns (12 cycles) –2GB main memory, 80 ns (160 cycles) Interconnect –15ns link latency –Switched tree (4 link latencies) - 240 cycles 2-hop round trip –2D torus (2 link latencies on average) - 120 cycles 2-hop round trip –Link bandwidth: 3.2 Gbyte/second Coherence Protocols –Aggressive snooping –Alpha 21364-like directory –72 byte data messages –8 byte request messages

44 Token Coherence – Milo Martin slide 44 Q3: Runtime: Directory vs. Token Coherence Yes; Token Coherence can outperform directories (17-54% faster with slow directory) Why? Direct “2-hop” cache-to-cache misses

45 Token Coherence – Milo Martin slide 45 More Information in Paper Traffic optimization –Transfer tokens without data –Add an “owner” token Note: no silent read-only replacements –Worst case: 10% interconnect traffic overhead Comparison to AMD’s Hammer protocol

46 Token Coherence – Milo Martin slide 46 Verifiability & Complexity Divide and conquer complexity –Formal verification is work in progress –Difficult to quantify, but promising –All races handled uniformly (reissuing) Local invariants –Safety is response-centric; independent of requests –Locally enforced with tokens –No reliance on global ordering properties Explicit starvation avoidance –Simple mechanism Further innovation  no correctness worries

47 Token Coherence – Milo Martin slide 47 Traditional v. Token Coherence Traditional protocols –Sensitive to request ordering Interconnect or directory –Monolithic Complicated Intertwine correctness and performance Token Coherence –Track tokens (safety) –Persistent requests (starvation avoidance) –Request are only “hints” Separate Correctness and Performance

48 Token Coherence – Milo Martin slide 48 Conceptual Interface Performance Protocol Correctness Substrate Data, Tokens, & Persistent Requests “Hint” requests MP0P0 Controller MP1P1

49 Token Coherence – Milo Martin slide 49 Conceptual Interface Performance Protocol Correctness Substrate I’m looking for block B Please send Block B to P1 Here is block B & one token (Or, no response) MP0P0 Controller MP1P1

50 Token Coherence – Milo Martin slide 50 Snooping multiprocessors –Uses broadcast –“Virtual bus” interconnect +Directly locate data (2 hops) Directory-based multiprocessors  Directory tracks writer or readers +Avoids broadcast +Avoids “virtual bus” interconnect –Indirection for cache-to-cache (3 hops) Examine workload and technology trends Snooping v. Directories: Which is Better? PPPM 1 2 PPPM 2 1 3

51 Token Coherence – Milo Martin slide 51 Workload Trends Commercial workloads –Many cache-to-cache misses or sharing misses –Cluster small- or moderate-scale multiprocessors Goals: –Low cache-to-cache miss latency (2 hops) –Moderate scalability Workload trends  snooping protocols

52 Token Coherence – Milo Martin slide 52 Technology Trends High-speed point-to-point links –No (multi-drop) busses Desire: unordered interconnect –No “virtual bus” ordering –Decouple interconnect & protocol Technology trends  directory protocols Increasing design integration –“Glueless” multiprocessors –Improve cost & latency

53 Token Coherence – Milo Martin slide 53 Multiprocessor Taxonomy Directories Interconnect Virtual Bus Unordered Snooping Cache-to-cache latency HighLow Technology Trends Workload Trends Our Goal

54 Token Coherence – Milo Martin slide 54 Overview Two approaches to cache-coherence The Problem –Workload trends  snooping protocols –Technology trends  directory protocols –Want a protocol that fits both trends A Solution –Unordered broadcast & direct response –Track tokens, reissue requests, prevent starvation Generalization: a new coherence framework –Decouple correctness from “performance” policy –Enables further opportunities


Download ppt "(C) 2003 Milo Martin Token Coherence: Decoupling Performance and Correctness Milo Martin, Mark Hill, and David Wood Wisconsin Multifacet Project"

Similar presentations


Ads by Google