Ian Reynolds, Obasi Onuoha, Phillip Cherner

Slides:



Advertisements
Similar presentations
Implementation and Verification of a Cache Coherence protocol using Spin Steven Farago.
Advertisements

L.N. Bhuyan Adapted from Patterson’s slides
Cache coherence for CMPs Miodrag Bolic. Private cache Each cache bank is private to a particular core Cache coherence is maintained at the L2 cache level.
Multi-core systems System Architecture COMP25212 Daniel Goodman Advanced Processor Technologies Group.
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Cache Coherent Distributed Shared Memory. Motivations Small processor count –SMP machines –Single shared memory with multiple processors interconnected.
Race Conditions. Isolated & Non-Isolated Processes Isolated: Do not share state with other processes –The output of process is unaffected by run of other.
Slides 8d-1 Programming with Shared Memory Specifying parallelism Performance issues ITCS4145/5145, Parallel Programming B. Wilkinson Fall 2010.
Continuously Recording Program Execution for Deterministic Replay Debugging.
Spring 2003CSE P5481 Introduction Why memory subsystem design is important CPU speeds increase 55% per year DRAM speeds increase 3% per year rate of increase.
1 Lecture 1: Introduction Course organization:  4 lectures on cache coherence and consistency  2 lectures on transactional memory  2 lectures on interconnection.
EET 4250: Chapter 1 Performance Measurement, Instruction Count & CPI Acknowledgements: Some slides and lecture notes for this course adapted from Prof.
Cache Organization of Pentium
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Integration testing l Tests complete systems or subsystems composed of integrated.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Cache Control and Cache Coherence Protocols How to Manage State of Cache How to Keep Processors Reading the Correct Information.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
Developing software and hardware in parallel Vladimir Rubanov ISP RAS.
(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.
1 Program Planning and Design Important stages before actual program is written.
Transactional Coherence and Consistency Presenters: Muhammad Mohsin Butt. (g ) Coe-502 paper presentation 2.
Retail Transaction Processing Year End Review and Recent Issues RMS January 2007.
Constructive Computer Architecture Tutorial 8 Final Project Part 2: Coherence Sizhuo Zhang TA Nov 25, 2015T08-1http://csg.csail.mit.edu/6.175.
Understanding Parallel Computers Parallel Processing EE 613.
Multiprocessor  Use large number of processor design for workstation or PC market  Has an efficient medium for communication among the processor memory.
6.175 Project Presentation Tony (Sen) Chang Antonio Rivera.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 7, 2005 Session 23.
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
The University of Adelaide, School of Computer Science
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
COMP8330/7330/7336 Advanced Parallel and Distributed Computing Communication Costs in Parallel Machines Dr. Xiao Qin Auburn University
Cache Coherence Constructive Computer Architecture Arvind
6.175 Final Project Part 0: Understanding Non-Blocking Caches and Cache Coherency Answers.
Cache Coherence: Directory Protocol
Cache Coherence: Directory Protocol
Cache Organization of Pentium
תרגול מס' 5: MESI Protocol
CAM Content Addressable Memory
Project Part 2: Coherence
James N. Bellinger University of Wisconsin at Madison 3-August-2011
Multiprocessor Cache Coherency
Morgan Kaufmann Publishers Large and Fast: Exploiting Memory Hierarchy
Notation Addresses are ordered triples:
Assignment 4 – (a) Consider a symmetric MP with two processors and a cache invalidate write-back cache. Each block corresponds to two words in memory.
CMSC 611: Advanced Computer Architecture
Lecture 21: Memory Hierarchy
Lecture 21: Memory Hierarchy
Directory-based Protocol
Constructive Computer Architecture Tutorial 7 Final Project Overview
Module IV Memory Organization.
Interconnect with Cache Coherency Manager
Introduction to High Performance Computing Lecture 20
James McCabe & Juan Rodriguez
Unit 1: Introduction to Operating System
Software Transactional Memory Should Not be Obstruction-Free
Geoff Gunow and Sara Sinback (geogunow, sinback)
Lecture 11: Cache Hierarchies
Programming with Shared Memory Specifying parallelism
Lucas Lancellotti Lucas Santana
Patrick Lowe and Jyotishka Biswas
Edwin Africano Adityanarayanan Radhakrishnan
Low Depth Cache-Oblivious Algorithms
by Brian Wheatman and Elaine Gan
Programming with Shared Memory - 3 Recognizing parallelism
Coherent caches Adapted from a lecture by Ian Watson, University of Machester.
Programming with Shared Memory Specifying parallelism
Lecture 13: Cache Basics Topics: terminology, cache organization (Sections )
Cache Coherence Constructive Computer Architecture Arvind
Presentation transcript:

Ian Reynolds, Obasi Onuoha, Phillip Cherner 6.175 Final Project Ian Reynolds, Obasi Onuoha, Phillip Cherner

Cache Coherent 2 Core Processor

Progress: All of Part 1 Made adjustments to the blocking cache without much issue Some issues with LHUSM Mostly due to silly errors

Progress: Part 2 Standard MessageFIFO Message Router Used a round-robin ordering to prevent starvation Parent Protocol Processor Split parentResp into 2 rules to account for realistic memory Integrating the memory hierarchy Failed

Difficulties Encountered Cache Starvation Solved by using a round-robin message router Parent Protocol Processor Several issues with scheduling The binary nature of messageFIFO’s caused some issues Tags Tags being out of sync and causing MSI states to be invalid

Difficulties Continued Integrating the memory hierarchy Everything broke Many, many hours spent attempting to debug We think the error is resultant from improper handling of downgrade requests Given that, we were still unable to find the source of the problem

Contributions Most of the design work was done in sequence One person typing, the other sanity checking and watching for bugs We rotated typing The debugging was largely done in parallel People attempting different solutions on different terminals

Improvements to the Class FPGA infrastructure Took several compile attempts with no changes to source code before it worked Compile times Extremely long; much time is wasted staring at terminal Pacing The pacing is not uniform There are some difficulty spikes and drops throughout

Final Thoughts Overall, a very good class The final project was very interesting Slides could be updated Learned quite a bit Would recommend