200 likes | 347 Views
Cache Organization for Memory Speculation メモリ投機を支援するキャッシュの構成法. 東京大学工学部電子工学科 坂井研究室 20422 豊島 隆志. Outline. Introduction Background ~Speculative Multi-threading~ Our Baseline Model – NEKO – Cache Coherency Protocols Overview Cache Directories Events Conditions State Diagrams
E N D
Cache Organization for Memory Speculationメモリ投機を支援するキャッシュの構成法 東京大学工学部電子工学科 坂井研究室 20422 豊島 隆志 Cache Organization for Memory Speculation
Outline • Introduction • Background ~Speculative Multi-threading~ • Our Baseline Model – NEKO – • Cache Coherency Protocols • Overview • Cache Directories • Events • Conditions • State Diagrams • Evaluation • Environment • Results • Conclusions • Conclusions • Future Works Cache Organization for Memory Speculation
A single threaded application Parallel execution !! Background~Speculative Multi-threading~ • Dependencies (interrupting parallel executions) • Control dependencies • Data dependencies • Register level dependencies • Memory level dependencies • Memory Speculation Objectives • Proposal of Cache Coherency Protocols • Support Memory Speculation on Speculative Multi-threading • Comparison between these protocols • Invalidate-based vs. Update-based, etc… Cache Organization for Memory Speculation
Our Baseline Model –NEKO– Cache Organization for Memory Speculation
Outline • Introduction • Background ~Speculative Multi-threading~ • Our Baseline Model – NEKO – • Cache Coherency Protocols • Overview • Cache Directories • Events • Conditions • State Diagrams • Evaluation • Environment • Results • Conclusions • Conclusions • Future Works Cache Organization for Memory Speculation
Overview Two major types of cache coherency protocols Cache Organization for Memory Speculation
Cache Directories Invalidate-based Protocol -MONE- • Containing conditions in addition to common information • Violation Detection • Version Management Cache Organization for Memory Speculation
Cache Directories Update-based protocol -NENEKO- • Containing conditions in addition to common information • Violation Detection • Version Management Cache Organization for Memory Speculation
Events • Events Invalidate-based only Update-based only Thread-control Events Unique to Speculative Multi-threading Cache Organization for Memory Speculation
Conditions • Conditions Invalidate-based only Update-based only Cache Organization for Memory Speculation
State Diagrams Update-based Protocol -NENEKO- Invalidate-based Protocol -MONE- Cache Organization for Memory Speculation
Outline • Introduction • Background ~Speculative Multi-threading~ • Our Baseline Model – NEKO – • Cache Coherency Protocols • Overview • Cache Directories • Events • Conditions • State Diagrams • Evaluation • Environment • Results • Conclusions • Conclusions • Future Works Cache Organization for Memory Speculation
Environment • Simulator • CPON2: MONE/NENEKO Protocol Simulator • Processors’ access patterns are gained from trace data of SPECint95 on NEKO Simulator • Environment • Processors: 4 • Cache size: 256kBytes • Line size: 64Bytes (=8Words) • Associativity: 2 • Protocols: MONE/NENEKO • (with per-Word / per-Line basis violation detection) • MONE/W, MONE/L, NENEKO/W, NENEKO/L Cache Organization for Memory Speculation
Results • Block time ratio Invalidate-based Protocol -MONE- Update-based Protocol -NENEKO- zero zero 2.4×10-4 The worst case of SPECint95 Average of SPECint95 The best case of SPECint95 Cache Organization for Memory Speculation
Results • Violation Frequency × ○ × ○ The worst case of SPECint95 Average of SPECint95 The best case of SPECint95 Cache Organization for Memory Speculation
Results • Cache miss ratio Capacity or Conflict Only 12.15% invalidations are effective and appear as cache miss reason in the left graph Thread Control Invalidation Cache Organization for Memory Speculation
Results • Bus event ratio Address Bus Data Bus Cache Organization for Memory Speculation
Outline • Introduction • Background ~Speculative Multi-threading~ • Our Baseline Model – NEKO – • Cache Coherency Protocols • Overview • Cache Directories • Events • Conditions • State Diagrams • Evaluation • Environment • Results • Conclusions • Conclusions • Future Works Cache Organization for Memory Speculation
Conclusions • Proposal of Cache Coherency Protocols supporting Memory Speculation • Evaluations of these Protocols Result is different from expectation Cache Organization for Memory Speculation
Future Works • Mechanisms for avoiding effects of thread-control • Comparison between these protocols and other approaches for Memory Speculation Cache Organization for Memory Speculation