Formal Verification of a Novel Snooping Cache Coherence Protocol for CMP Xuemei Zhao, Karl Sammut, and Fangpo He Flinders University, Australia.

Slides:



Advertisements
Similar presentations
To Include or Not to Include? Natalie Enright Dana Vantrease.
Advertisements

Multi-core systems System Architecture COMP25212 Daniel Goodman Advanced Processor Technologies Group.
Hierarchical Cache Coherence Protocol Verification One Level at a Time through Assume Guarantee Xiaofang Chen, Yu Yang, Michael Delisi, Ganesh Gopalakrishnan.
Zhongkai Chen 3/25/2010. Jinglei Wang; Yibo Xue; Haixia Wang; Dongsheng Wang Dept. of Comput. Sci. & Technol., Tsinghua Univ., Beijing, China This paper.
Cache Optimization Summary
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Technical University of Lodz Department of Microelectronics and Computer Science Elements of high performance microprocessor architecture Shared-memory.
A Scalable Approach to Thread-Level Speculation J. Gregory Steffan, Christopher B. Colohan, Antonia Zhai, and Todd C. Mowry Carnegie Mellon University.
CIS629 Coherence 1 Cache Coherence: Snooping Protocol, Directory Protocol Some of these slides courtesty of David Patterson and David Culler.
Uncorq: Unconstrained Snoop Request Delivery in Embedded-Ring Multiprocessors Karin StraussAMD Advanced Architecture and Technology.
1 COMP 206: Computer Architecture and Implementation Montek Singh Wed., Nov. 12, 2003 Topics: 1. Cache Performance (concl.) 2. Cache Coherence.
CS252/Patterson Lec /23/01 CS213 Parallel Processing Architecture Lecture 7: Multiprocessor Cache Coherency Problem.
1 Lecture 1: Parallel Architecture Intro Course organization:  ~5 lectures based on Culler-Singh textbook  ~5 lectures based on Larus-Rajwar textbook.
1 COMP 206: Computer Architecture and Implementation Montek Singh Mon, Nov 14, 2005 Topic: Cache Coherence.
1 Lecture 23: Multiprocessors Today’s topics:  RAID  Multiprocessor taxonomy  Snooping-based cache coherence protocol.
CPE 731 Advanced Computer Architecture Snooping Cache Multiprocessors Dr. Gheith Abandah Adapted from the slides of Prof. David Patterson, University of.
CS252/Patterson Lec /28/01 CS 213 Lecture 10: Multiprocessor 3: Directory Organization.
Snooping Cache and Shared-Memory Multiprocessors
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
1 Shared-memory Architectures Adapted from a lecture by Ian Watson, University of Machester.
Multiprocessor Cache Coherency
Spring 2003CSE P5481 Cache Coherency Cache coherent processors reading processor must get the most current value most current value is the last write Cache.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Shuchang Shan † ‡, Yu Hu †, Xiaowei Li † † Key Laboratory of Computer System and Architecture, Institute of Computing Technology, Chinese Academy of Sciences.
1 Introduction to SMV and Model Checking Mostly by: Ken McMillan Cadence Berkeley Labs Small parts by: Brandon Eames ISIS/Vanderbilt.
A Simple Method for Extracting Models from Protocol Code David Lie, Andy Chou, Dawson Engler and David Dill Computer Systems Laboratory Stanford University.
1 Cache coherence CEG 4131 Computer Architecture III Slides developed by Dr. Hesham El-Rewini Copyright Hesham El-Rewini.
Presented By:- Prerna Puri M.Tech(C.S.E.) Cache Coherence Protocols MSI & MESI.
Quantifying and Comparing the Impact of Wrong-Path Memory References in Multiple-CMP Systems Ayse Yilmazer, University of Rhode Island Resit Sendag, University.
Spring EE 437 Lillevik 437s06-l21 University of Portland School of Engineering Advanced Computer Architecture Lecture 21 MSP shared cached MSI protocol.
Cache Control and Cache Coherence Protocols How to Manage State of Cache How to Keep Processors Reading the Correct Information.
A Low-Overhead Coherence Solution for Multiprocessors with Private Cache Memories Also known as “Snoopy cache” Paper by: Mark S. Papamarcos and Janak H.
(C) 2003 Daniel SorinDuke Architecture Dynamic Verification of End-to-End Multiprocessor Invariants Daniel J. Sorin 1, Mark D. Hill 2, David A. Wood 2.
Effects of wrong path mem. ref. in CC MP Systems Gökay Burak AKKUŞ Cmpe 511 – Computer Architecture.
Abdullah Aldahami ( ) March 23, Introduction 2. Background 3. Simulation Techniques a.Experimental Settings b.Model Description c.Methodology.
Evaluating the Performance of Four Snooping Cache Coherency Protocols Susan J. Eggers, Randy H. Katz.
Verification & Validation By: Amir Masoud Gharehbaghi
1 Lecture: Cache Hierarchies Topics: cache innovations (Sections B.1-B.3, 2.1)
Analyzing the Impact of Data Prefetching on Chip MultiProcessors Naoto Fukumoto, Tomonobu Mihara, Koji Inoue, Kazuaki Murakami Kyushu University, Japan.
Project 11: Influence of the Number of Processors on the Miss Rate Prepared By: Suhaimi bin Mohd Sukor M
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 February Session 13.
An Accurate and Detailed Prefetching Simulation Framework for gem5 Martí Torrents, Raúl Martínez, and Carlos Molina Computer Architecture.
Optimizing Replication, Communication, and Capacity Allocation in CMPs Z. Chishti, M. D. Powell, and T. N. Vijaykumar Presented by: Siddhesh Mhambrey Published.
컴퓨터교육과 이상욱 Published in: COMPUTER ARCHITECTURE LETTERS (VOL. 10, NO. 1) Issue Date: JANUARY-JUNE 2011 Publisher: IEEE Authors: Omer Khan (Massachusetts.
Additional Material CEG 4131 Computer Architecture III
1 Lecture: Coherence Protocols Topics: snooping-based protocols.
Performance of Snooping Protocols Kay Jr-Hui Jeng.
CMSC 611: Advanced Computer Architecture Shared Memory Most slides adapted from David Patterson. Some from Mohomed Younis.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
The University of Adelaide, School of Computer Science
Multi Processing prepared and instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University June 2016Multi Processing1.
COMP 740: Computer Architecture and Implementation
Architecture and Design of AlphaServer GS320
A Study on Snoop-Based Cache Coherence Protocols
Multiprocessor Cache Coherency
Example Cache Coherence Problem
Lecture 12: Cache Innovations
Directory-based Protocol
Cache Coherence (controllers snoop on bus transactions)
CMSC 611: Advanced Computer Architecture
Multiprocessors - Flynn’s taxonomy (1966)
Improving Multiple-CMP Systems with Token Coherence
11 – Snooping Cache and Directory Based Multiprocessors
Chapter 5 Exploiting Memory Hierarchy : Cache Memory in CMP
Lecture: Cache Hierarchies
Lecture 24: Virtual Memory, Multiprocessors
Lecture 23: Virtual Memory, Multiprocessors
Dynamic Verification of Sequential Consistency
Coherent caches Adapted from a lecture by Ian Watson, University of Machester.
CPE 631 Lecture 20: Multiprocessors
Presentation transcript:

Formal Verification of a Novel Snooping Cache Coherence Protocol for CMP Xuemei Zhao, Karl Sammut, and Fangpo He Flinders University, Australia

Background The emergence of CMP brings huge research space to increase performance More caches on chip, low L2 latency, fast cache-to-cache access Traditional SMP memory hierarchy and cache coherence protocol will diminish CMP’s performance. Two traditional structures: Private L2 and Shared L2. Two protocols: Snooping protocol, Directory-based protocol Formal verification is useful for discovering and correcting any errors at the early stage.

Outline Cache architecture of SPS2 Description of SPS2 protocol Verification using Hytech Verification using SMV Conclusion

Cache Architecture Private L2Banked Shared L2 SPS2Nahalal layout

Advantages of SPS2 PL2 and SL2 could use different association mechanism PL2 and SL2 could have different size and replacement policy PL2 leads to low latency. SL2 provides high capacity No need new CPU instruction, simple interface

Description of SPS2 Based on MOSI ( Modified, Owned, Shared, Invalid) protocol PL1 with state (M, O, S, I) PL2 with state (M, O, I) SL2 with state (S, I) Write-invalidation policy on write- back cache Exclusive Inclusive

SPS2 Protocol Read Miss – issue GETS Read Hit Write Miss – issue GETX Write Hit PL1 Replacement PL2 Replacement SL2 Replacement

State Graph (a) Command from processor perspective (b) Command from bus perspective Vector {XYZ} represents the state of PL1, PL2 and SL2 in a node. There are seven possible states, i.e., III, IIS, SIS, MII, IMI, OIS, and IOS.

Verification using Hytech Hytech, an abstraction level model checker To validate protocol independent of the number of processors, we use EFSM to model parameterized coherence protocol global machine M G =, Q G, set of possible states of cache blocks, ∑ G,set of operations, F, set of characteristic functions, δ G, set of state transitions

EFSM expression of SPS2 (r1) SIS+OIS+MII≥1→__ (r2) III≥1, MII=0, IMI=0 → III'=0, SIS'=SIS+1, IIS'=IIS+III-1 (r3) III≥1, MII≥1 → III'=0, SIS'=SIS+1, MII'=MII-1, OIS'=OIS+1, IIS'=IIS+III-1 (r4) III≥1, IMI≥1 → III'=0, SIS'=SIS+1, IMI'=IMI-1, IOS'=IOS+1, IIS'=IIS+III-1 (r5) IIS≥1 → IIS'=IIS-1, SIS'=SIS+1 (r6) IMI≥1 → MII'=MII+1, IMI'=IMI-1 (r7) IOS≥1 → OIS'=OIS+1, IOS'=IOS-1 …… Read hit event (r1), read miss events (r2) – (r7)

Verification using EFSM in Hytech Define all possible sources of data inconsistency (1) OIS >=1 & MII >=1 (2) OIS >=2 (3) IIS >=1 & IMI >=1 (4) … As proved in [14][16][17], data consistency could be verified.

Verification using SMV SMV is an intermediate formal verification tool. To avoid state explosion, SMV uses OBDD (ordered binary decision diagrams), which could check finite-state systems satisfy specification given in CTL Protocols have been proven by SMV: Gigamax, Futurebus+, FLASH

ASSIGN1 init(state) := III;2 next(state) :=3 case 4 CMD=none:5 case : state;8 esac;9 master:10 case11 CMD=gets:12 case13 state=III: SIS;14 1: any;15 esac;16 CMD=read:17 case18 state=IIS: SIS;19 state=IOS: OIS;20 state=IMI: MII;21 state in {SIS, MII, OIS}: state;22 1: any;23 esac; Modeling SPS2 using SMV

Verification using SMV For data integrity AG (p1.shared → p2.shared) AG (p1.state=SIS & p2.state=SIS → p1.data = p2.data) AG (p1.state=OIS & p2.state=IIS → p1.data = p2.data) For liveness AG EF p1.state=OIS or AG EF p1.state=MII or AG EF p1.state=SIS or AG EF p1.readable or AG EF p1.writable

Conclusion SPS2 takes advantages of the low latency of L2P and the high capacity of L2S. New proposed state graph is used for description of SPS2 and verification Using two formal verification method, function correctness of SPS2 is proven

Thanks, any question is appreciated!

Simulation Result Simulator: GEMS + SIMICS