June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Animation of Important Concepts in Parallel.

Slides:



Advertisements
Similar presentations
WATERLOO ELECTRICAL AND COMPUTER ENGINEERING 20s: Computer Hardware 1 WATERLOO ELECTRICAL AND COMPUTER ENGINEERING 20s Computer Hardware Department of.
Advertisements

MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
Multiple Processor Systems
CS 258 Parallel Computer Architecture Lecture 15.1 DASH: Directory Architecture for Shared memory Implementation, cost, performance Daniel Lenoski, et.
The Stanford Directory Architecture for Shared Memory (DASH)* Presented by: Michael Bauer ECE 259/CPS 221 Spring Semester 2008 Dr. Lebeck * Based on “The.
Programming Multiprocessors with Explicitly Managed Memory Hierarchies ELEC 6200 Xin Jin 4/30/2010.
1 Multiprocessors. 2 Idea: create powerful computers by connecting many smaller ones good news: works for timesharing (better than supercomputer) bad.
1 Lecture 1: Parallel Architecture Intro Course organization:  ~5 lectures based on Culler-Singh textbook  ~5 lectures based on Larus-Rajwar textbook.
1 Lecture 1: Introduction Course organization:  4 lectures on cache coherence and consistency  2 lectures on transactional memory  2 lectures on interconnection.
Technical Instructions ENGL 3100 Dr. Shelley Thomas.
CS 501: Software Engineering
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.
Memory Consistency Models
1 Lecture 2: Intro and Snooping Protocols Topics: multi-core cache organizations, programming models, cache coherence (snooping-based)
Parallel Computer Architectures
Topic ? Course Overview. Guidelines Questions are rated by stars –One Star Question  Easy. Small definition, examples or generic formulas –Two Stars.
1 Lecture 20: Protocols and Synchronization Topics: distributed shared-memory multiprocessors, synchronization (Sections )
Parallel Computer Architecture: Essentials for Both Computer Scientists and Engineers Edward F. Gehringer †* Yan.
HELSINKI UNIVERSITY OF TECHNOLOGY *Laboratory for Theoretical Computer Science Helsinki University of Technology **Department of Computing Science University.
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.
To GPU Synchronize or Not GPU Synchronize? Wu-chun Feng and Shucai Xiao Department of Computer Science, Department of Electrical and Computer Engineering,
Memory Consistency Models Some material borrowed from Sarita Adve’s (UIUC) tutorial on memory consistency models.
Conference title1 A New Methodology for Studying Realistic Processors in Computer Science Degrees Crispín Gómez, María E. Gómez y Julio Sahuquillo DISCA.
CS 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class.
CSC/ECE 506 – Copyright © Yan Solihin 1 Full Bit-Vector Protocol Visualization P1 Cache Main Memory Dir Ctrl DataState Sharers Interconnection.
Tufts University Department of Electrical and Computer Engineering
ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 3, 2011outline.1 ITCS 6010/8010 Topics in Computer Science: GPU Programming for High Performance.
Expertiza: Rubric-Based Peer Assessment of Team Projects Edward F. Gehringer Dept. of Computer Science North Carolina State University Supported by NSF.
Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum Eileen Kraemer Computer Science Department.
Aug. 9, 2007Gehringer: Improving Course Materials … Through Peer Review … Expertiza: Improving Course Materials and Learning Outcomes through.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
Lecture 13: Multiprocessors Kai Bu
Ch4. Multiprocessors & Thread-Level Parallelism 2. SMP (Symmetric shared-memory Multiprocessors) ECE468/562 Advanced Computer Architecture Prof. Honggang.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class project.
By Sarita Adve & Kourosh Gharachorloo Slides by Jim Larson Shared Memory Consistency Models: A Tutorial.
Cache Coherence Protocols 1 Cache Coherence Protocols in Shared Memory Multiprocessors Mehmet Şenvar.
Evaluating the Performance of Four Snooping Cache Coherency Protocols Susan J. Eggers, Randy H. Katz.
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING | SCHOOL OF COMPUTER SCIENCE | GEORGIA INSTITUTE OF TECHNOLOGY MANIFOLD Manifold Execution Model and System.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
Fundamentals of Parallel Computer Architecture - Chapter 71 Chapter 7 Introduction to Shared Memory Multiprocessors Yan Solihin Copyright.
RSIM: An Execution-Driven Simulator for ILP-Based Shared-Memory Multiprocessors and Uniprocessors.
CSC/ECE 506: Architecture of Parallel Computers The Cache-Coherence Problem Lecture 11 (Chapter 7) Lecture 11 (Chapter 7) 1.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 March 20, 2008 Session 9.
CS533 Concepts of Operating Systems Jonathan Walpole.
1 Lecture 19: Scalable Protocols & Synch Topics: coherence protocols for distributed shared-memory multiprocessors and synchronization (Sections )
1 Lecture 3: Coherence Protocols Topics: consistency models, coherence protocol examples.
August 13, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 11: Multiprocessors: Uniform Memory Access * Jeremy R. Johnson Monday,
Additional Material CEG 4131 Computer Architecture III
Multiprocessor  Use large number of processor design for workstation or PC market  Has an efficient medium for communication among the processor memory.
1 Lecture: Coherence Topics: snooping-based coherence, directory-based coherence protocols (Sections )
Building Resources for Teaching Computer Architecture Through Peer Review Edward F. Gehringer Dept. of Electrical & Computer Engineering Dept. of Computer.
The University of Adelaide, School of Computer Science
Elec/Comp 526 Spring 2015 High Performance Computer Architecture Instructor Peter Varman DH 2022 (Duncan Hall) rice.edux3990 Office Hours Tue/Thu.
Lecture 13: Multiprocessors Kai Bu
1 Computer Architecture & Assembly Language Spring 2001 Dr. Richard Spillman Lecture 26 – Alternative Architectures.
“Crowdsourcing” a Textbook: 120 Student Authors Writing on a Wiki
Lecture 18: Coherence and Synchronization
12.4 Memory Organization in Multiprocessor Systems
Inculcating “Parallel Programming” in UG curriculum
Lecture 1: Parallel Architecture Intro
An Extensible Simulator for Bus- and Directory-Based Coherence
Multiprocessor Highlights
Lecture 25: Multiprocessors
CS 8532: Advanced Software Engineering
Dr.P.Chitra,Professor Department of Computer Science and Engineering
Lecture 25: Multiprocessors
Lecture 24: Multiprocessors
Lecture 19: Coherence and Synchronization
Presentation transcript:

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Animation of Important Concepts in Parallel Computer Architecture Mohit Gambhir 1 Edward F. Gehringer 1, 2 Yan Solihin 2 1 Department of Computer Science 2 Department of Electrical & Computer Engineering North Carolina State University {mgambhi, efg,

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Outline  Introduction  Creation of animations  The animations Cache coherence Protocol comparison Memory consistency problem Consistency models Prototype components  Conclusions and future work

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Introduction  Motivation As uniprocessor architectures approach their physical limits, multicore designs are becoming common. Multiprocessor architectures affect the programming model. Difficult to find illustrations of parallel architecture concepts.  Suite of animations covering concepts like cache coherence, memory consistency.

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Creation of animations  Created by students, refined by the authors and professionally formatted. Students were given assignments that covered scenarios highlighting the key aspects of a protocol, algorithm or a model. Student work was peer-reviewed by other students. The most highly rated submissions were checked for technical correctness by the instructor. The animations were professionally formatted by the graphic designers at NCSU Distance Education Learning Technology Applications.

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Signing up for a First-Round Topic Students select a topic from a list. Several students are al- lowed to select the same topic, But the number of slots is limited.

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin The Review Rubric

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin After the Initial Review  Resubmission phase. 2–7 days to revise work in response to reviewer comments.  Grading phase. 3–7 days to make final comments and assign scores.  Review of review phase. Students review each other’s reviews.  After this, the best submissions are chosen for inclusion in the suite.

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin MSI cache coherence protocol  A bus-based shared- memory system with 3 processors.  P 1 reads a line which exists in P 3 ’s cache in the Modified state.  Read involves a sequence of three operations shown as a sub-trace connected to the main trace.  Three operations shown on three consecutive slides.

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Full bit-vector directory-based protocol  A distributed shared memory system.  P 3 writes to a line that is in the shared state.  Write involves a sequence of 4 operations.  The screenshot shows the third of those operations where the home directory sends an Inv and a ReplyId message to P 1 and P 3 respectively.

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin More cache coherence animations  Other cache coherence animations in the suite: Two-state write-through, write-invalidate Simplified SCI

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin MESI vs. MOESI  A comparison between the two cache-coherence protocols.  P 2 reads a line that is in P 1 ’s cache in the Modified state.  The snapshot highlights the difference between the two protocols.

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Firefly vs. Dragon  A comparison between two update-based protocols.  P 2 writes to a line that is in the shared state.  The snapshot highlights the difference between the two protocols.

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Release consistency  The grid on top shows the sequence of memory accesses by four processors.  Horizontal axis represents time.  The values shown alongside the read operations are the ones that are acceptable under release consistency.

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Prototype components  A library of Power Point components that can be used to create more animations.  Widgets for creating processors, caches, bus, memory locations etc.

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Conclusions and future work  We have a suite of animations for teaching parallel computer architecture.  Freely usable by anyone for teaching.  In Fall 2007, we plan to add animations of additional protocols and models.  If you teach these topics, we will gladly supply you with components and review software. Help us add to our library!

June 9, 2007 Animation of Important Concepts in Parallel Computer Architecture Gambhir, Gehringer & Solihin Peterson’s algorithm  The snapshot is taken from an animation that illustrates the problem that non-sequentially consistent memory imposes on Petersons’s algorithm.  Step-by-step execution of code on two processors.  Reordering of memory operations causes the two processors to enter the critical section simultaneously.