Samira Khan University of Virginia Jan 21, 2016 COMPUTER ARCHITECTURE CS 6354 The content and concept of this course are adapted from CMU ECE 740.

Slides:



Advertisements
Similar presentations
Research Seminar Course For MRes and first-year PhD students Spring term January-March Up to 10 weeks, ca.1-2 hours per week
Advertisements

Welcome to the seminar course
CEG3420 L1 Intro.1 Copyright (C) 1998 UCB CEG3420 Computer Design Lecture 1 Philip Leong.
Slide 01-1COMP 7370, Auburn University COMP 7370 Advanced Computer and Network Security Dr. Xiao Qin Auburn University
Introduction to programming with Visual Basic.NET Dr. Marty Sirkin.
CpE442 Intro. To Computer Architecture CpE 442 Introduction To Computer Architecture Lecture 1 Instructor: H. H. Ammar These slides are based on the lecture.
1 i206: Distributed Computing Applications & Infrastructure 2012
SYNAR Systems Networking and Architecture Group CMPT 886: Special Topics in Operating Systems and Computer Architecture Dr. Alexandra Fedorova School of.
1 Participative Assessment in the Online Environment Kevin R. Duffy, M.A.Ed. School of Emergency Services.
CS150 Introduction to Computer Science 1 Professor: Chadd Williams.
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CSCD 555 Research Methods for Computer Science
introduction to MSc projects
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
April 13, 2004CS WPI1 CS 562 Advanced SW Engineering General Dynamics, Needham Tuesdays, 3 – 7 pm Instructor: Diane Kramer.
ECE 232 L1 Intro.1 Adapted from Patterson 97 ©UCBCopyright 1998 Morgan Kaufmann Publishers ECE 232 Hardware Organization and Design Lecture 1 Introduction.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
COM181 Computer Hardware Ian McCrumRoom 5B18,
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
COMP 321: Introduction to Computer Systems Scott Rixner Alan L. Cox
Writing.. materialises ideas and results academic writing: –exams –reports –assignments –dissertation/thesis “ good ideas and works can only be materialised.
1 EEL 6935: Embedded Systems Seminar. 2 General Information Instructor: Ann Gordon-Ross Office: Benton Office Hours – By appointment.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
Desired outcomes You will analyze your current learning strategies for Chemistry 1201 You will understand exactly what changes you need to implement to.
ENG3050 Embedded Reconfigurable Computing Systems General Information Handout Winter 2015, January 5 th.
Prof. Matthew Hertz SH 1029F /
Introduction CSE 410, Spring 2008 Computer Systems
Intro to Architecture – Page 1 of 22CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Introduction Reading: Chapter 1.
EET 4250: Chapter 1 Computer Abstractions and Technology Acknowledgements: Some slides and lecture notes for this course adapted from Prof. Mary Jane Irwin.
Prof. Matthew Hertz WTC 207D /
Managing your time and career: A personal point of view Eckart Meiburg Department of Mechanical and Environmental Engineering University of California,
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
CS/ECE 3330 Computer Architecture Kim Hazelwood Fall 2009.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
1 8/29/05CS150 Introduction to Computer Science 1 Professor: Shereen Khoja
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Lecture 1 Page 1 CS 111 Summer 2013 Introduction CS 111 Operating System Principles Peter Reiher.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
CSE 1105 Week 1 CSE 1105 Course Title: Introduction to Computer Science & Engineering Classroom Lecture Times: Section 001 W 4:00 – 4:50, 202 NH Section.
ThyNVM Enabling Software-Transparent Crash Consistency In Persistent Memory Systems Jinglei Ren, Jishen Zhao, Samira Khan, Jongmoo Choi, Yongwei Wu, and.
Data Structures and Algorithms in Java AlaaEddin 2012.
Computer Organization Yasser F. O. Mohammad 1. 2 Lecture 1: Introduction Today’s topics:  Why computer organization is important  Logistics  Modern.
CS203 – Advanced Computer Architecture Introduction Daniel Wong, Assistant Professor Department of Electrical and Computer Engineering Cooperating Faculty,
Course Overview Stephen M. Thebaut, Ph.D. University of Florida Software Engineering.
740: Computer Architecture Project Proposal and Topics Prof. Onur Mutlu Carnegie Mellon University Fall 2013.
Computer Architecture Organization and Architecture
Welcome to Introduction to Psychology! Let’s share a bit about where we are all from…
Introduction CSE 410, Spring 2005 Computer Systems
CS161 – Design and Architecture of Computer Systems Introduction Daniel Wong, Assistant Professor Department of Electrical and Computer Engineering Cooperating.
Samira Khan University of Virginia August 23, 2016
Samira Khan University of Virginia Aug 23, 2017
CS6501 Advanced Topics in Information Retrieval Course Policy
15-740/ Computer Architecture Lecture 0: Announcements/Logistics
740: Computer Architecture Guidelines on Paper Reviews
CSE 410, Spring 2006 Computer Systems
Samira Khan University of Virginia Aug 28, 2017
COSC 3406: Computer Organization
Prof. Gennady Pekhimenko University of Toronto Fall 2017
Prof. Onur Mutlu Carnegie Mellon University Spring 2014, 1/14/2013
ECE 751: Embedded Computing Systems Prof
T Computer Architecture, Autumn 2005
DRAM SCALING CHALLENGE
Samira Khan University of Virginia Aug 29, 2018
COMS 361 Computer Organization
Professor: Shereen Khoja
Samira Khan University of Virginia Jan 16, 2019
CS161 – Design and Architecture of Computer Systems
THE SECRET TO MAKING AN IMPACT
GSP 470/570 Advanced Geospatial Analysis and Modeling
Dr. Clincy Professor of CS
Presentation transcript:

Samira Khan University of Virginia Jan 21, 2016 COMPUTER ARCHITECTURE CS 6354 The content and concept of this course are adapted from CMU ECE 740

ROTUNDA, PAVILLIONS AND THE LAWN 2

A DESIGN BASED ON PRINCIPLES 1856 engraving Designed by Thomas Jefferson Unique design at that time (1819) University surrounded by a library Separation of church and education Students and professors living in the pavilions A holistic approach to training and education 3

A KEY QUESTION How was Jefferson able to design a school that was so different from precedents? Can have many guesses – Visionary – Passion for architecture and education – (Ultra) hard work, perseverance, dedication (over decades) – Experience of decades – Creativity – Out-of-the-box thinking – Principled design – A good understanding of past designs – Good judgment and intuition – Strong combination of skills (architecture, art, law, mathematics, horticulture, philosophy …) –…–… (You will be exposed to and hopefully develop/enhance many of these skills in this course) 4

MAJOR HIGH-LEVEL GOALS OF THIS COURSE Understand the principles Understand the precedents Based on such understanding: – Enable you to evaluate tradeoffs of different designs and ideas – Enable you to develop principled designs – Enable you to develop novel, out-of-the-box designs The focus is on: – Principles, precedents, and how to use them for new designs In Computer Architecture 5

ROLE OF THE (COMPUTER) ARCHITECT from Yale Patt’s lecture notes 6

ROLE OF THE (COMPUTER) ARCHITECT Look backward (to the past) – Understand tradeoffs and designs, upsides/downsides, past workloads. Analyze and evaluate the past Look forward (to the future) – Be the dreamer and create new designs. Listen to dreamers – Push the state of the art. Evaluate new design choices Look up (towards problems in the computing stack) – Understand important problems and their nature – Develop architectures and ideas to solve important problems Look down (towards device/circuit technology) – Understand the capabilities of the underlying technology – Predict and adapt to the future of technology (you are designing for N years ahead). Enable the future technology 7

TAKEAWAYS Being an architect is not easy You need to consider many things in designing a new system + have good intuition/insight into ideas/tradeoffs But, it is fun and can be very technically rewarding And, enables a great future – E.g., many scientific and everyday-life innovations would not have been possible without architectural innovation that enabled very high performance systems – E.g., your mobile phones This course will teach you how to become a good computer architect 8

INSTRUCTOR Samira Khan – Assistant Professor – Post Doctorate in CMU PhD from UT San Antonio Worked at Intel, AMD, EPFL Research Interest – Computer Architecture and Systems – Memory System Design – New Emerging Technologies – Hardware-Software Co-Design – Performance, Power, Reliability 9

TEACHING ASSISTANT Elaheh Sadredini – PhD Student – Undergrad in Iran University of Science and Technology Research Interest – Computer Architecture and Systems – Automata Processors – GPUs 10

AGENDA Course Overview How to Jump Into Research How to Review Papers First Homework (for Next Week) First Review Assignment (for Next Week) 11

WHERE TO GET UP-TO-DATE COURSE INFO? Website Piazza Your start the subject line with CS 6534 Office Hours 12

WHAT WILL YOU LEARN Computer Architecture: The science and art of designing, selecting, and interconnecting hardware components and designing the hardware/software interface to create a computing system that meets functional, performance, energy consumption, cost, and other specific goals. Traditional definition: “The term architecture is used here to describe the attributes of a system as seen by the programmer, i.e., the conceptual structure and functional behavior as distinct from the organization of the dataflow and controls, the logic design, and the physical implementation.” Gene Amdahl, IBM Journal of R&D, April

Architecture Circuits Operating System LEVELS OF TRANSFORMATION Interface between Software and Hardware Problem 14

THE POWER OF ABSTRACTION Isolation A higher level only needs to know about the interface to the lower level, not how the lower level is implemented For example, high-level language programmer does not really need to know about the architecture Productivity No need to worry about decisions made in underlying levels For example, programming in Java vs. C vs. assembly vs. binary vs. by specifying control signals of each transistor every cycle 15

Should we always focus on our own layer? As long as everything goes well, not knowing what happens in the underlying level (or above) is not a problem What if – One of the layers reach a limit, there is no way to improve – There is a new disruptive change in technology that cannot be contained in a layer – New Applications that are too slow for today’s system CROSSING THE ABSTRACTION LAYERS 16

Architecture Circuits Operating System LEVELS OF TRANSFORMATION Broader Scope of Computer Architecture Broader Scope of Computer Architecture Problem 17

SCOPE OF THE COURSE This course will take a broad view of architecture – Beyond the ISA+microarchitecture levels – E.g., system-architecture interfaces and interactions – E.g., application-architecture interfaces and interactions Out-of-the-box thinking is greatly encouraged – E.g., research projects and readings on architectures that challenge the current dominant paradigms processing in memory, approximate systems, asymmetry everywhere, … – E.g., readings on topics that are traditionally covered less in computer architecture courses 18

WHAT WILL YOU LEARN? Hardware/software interface, major components, and programming models of a modern computing platform – State-of-the-art as well as research proposals (lots of them) – Tradeoffs and how to make them – Emphasis on cutting-edge (research & state-of-the-art) Hands-on research in a computer architecture topic – Semester-long research project – Focus: How to design better architectures (not an intro course) How to dig out information – No textbook really required – But, see the syllabus 19

TWO EXAMPLES New Challenge: DRAM Scaling Problem Emerging Technology: Non-Volatile Memory 20

DRAM SCALING CHALLENGE Technology Scaling DRAM Cells DRAM scaling enabled high capacity 21

DRAM SCALING TREND Source: Flash Memory Summit 2013, Memcon 2014 DRAM scaling is getting difficult 22

DRAM SCALING CHALLENGE Technology Scaling DRAM Cells Manufacturing reliable cells at low cost is getting difficult Manufacturing reliable cells at low cost is getting difficult 23

TRADITIONAL APPROACH TO ENABLE DRAM SCALING Unreliable DRAM Cells Reliable DRAM Cells Make DRAM Reliable Reliable System Manufacturing Time System in the Field DRAM has strict reliability guarantee 24

NEW APPROACH Unreliable DRAM Cells Reliable DRAM Cells Make DRAM Reliable Reliable System Manufacturing Time System in the Field Manufacturing Time System in the Field Shift the responsibility to systems 25

VISION: SYSTEM-LEVEL DETECTION AND MITIGATION Unreliable DRAM Cells Detect and Mitigate Reliable System Detect and mitigate errors after the system has become operational ONLINE PROFILING Reduces cost, increases yield, and enables scaling 26

TOWARDS AN ONLINE PROFILING SYSTEM Initially Protect DRAM with Strong ECC Initially Protect DRAM with Strong ECC 1 1 Periodically Test Parts of DRAM Periodically Test Parts of DRAM 2 2 Test Mitigate errors and reduce ECC Mitigate errors and reduce ECC 3 3 Run tests periodically after a short interval at smaller regions of memory 27

BREAKING THE ABSTRACTION Samira Khan+, "The Efficacy of Error Mitigation Techniques for DRAM Retention Failures: A Comparative Experimental Study”, SIGMETRICS 2014 Architecture Circuits Operating System Problem OS needs to know about testing and tested pages Need to implement the testing in the hardware Need to know the circuit-level characteristics of the failures 28

TWO EXAMPLES New Challenge: DRAM Scaling Problem Emerging Technology: Non-Volatile Memory 29

TWO-LEVEL STORAGE MODEL CPU MEMORY STORAGE VOLATILE FAST BYTE ADDR NONVOLATILE SLOW BLOCK ADDR Ld/St FILE I/O DRAM 30

TWO-LEVEL STORAGE MODEL CPU MEMORY STORAGE VOLATILE FAST BYTE ADDR NONVOLATILE SLOW BLOCK ADDR Ld/St FILE I/O DRAM PCM, STT-RAM NVM Non-volatile memories combine characteristics of memory and storage 31

VISION: UNIFY MEMORY AND STORAGE CPU PERSISTENT MEMORY Provides an opportunity to manipulate persistent data directly Ld/St NVM 32

DRAM IS STILL FASTER CPU PERSISTENT MEMORY A hybrid unified memory-storage system CPU MEMORY Ld/St NVM DRAM 33

Opportunity to update data in-place in memory with Ld/St interface Do not need to move data from disk to memory, translate file to data structure and transfer to disk again – Eliminates wasted work to locate, transfer, and translate data – Improves both energy and performance – Simplifies programming model as well UNIFY MEMORY AND STORAGE 34

BREAKING THE ABSTRACTION Architecture Circuits Operating System Problem Who provides the consistency and persistency guarantee? How does hardware manage the hybrid memory? Need to know the circuit-level characteristics of the underlying technology Jinglei Ren+, “Dual-Scheme Checkpointing: A Software-Transparent Mechanism for Supporting Crash Consistency in Persistent Memory Systems”, MICRO 2015 Justin Meza+, “A Case for Efficient Hardware-Software Cooperative Management of Storage and Memory”, WEED 2013 Applications manipulate persistent data directly 35

COURSE GOALS Goal 1: To familiarize you with both fundamental design tradeoffs and recent research issues/trends in processor, memory, and platform architectures in today’s and future systems – Strong emphasis on fundamentals and design tradeoffs. Goal 2: To provide the necessary background and experience to advance the state-of-the-art in computer architecture by performing cutting-edge research – Strong emphasis on Critical analysis of research papers (through reading and literature review assignments) Developing new mechanisms that advance the state of the art (through the course research project). 36

THIS IS A GRADUATE-LEVEL CLASS Required background: – basic architecture (3330) – basic compilers – basic OS – programming skills – spirit, excitement, and dedication for deep exploration of a topic in computer architecture 37

WHAT DO I EXPECT FROM YOU? Learn the material & dig deeper Work hard Ask questions, take notes, participate in discussion Critically review the assigned research papers & readings – Discuss/critique them online with peers and us Use Piazza and Review Site frequently… Start the research project early and focus Remember “Chance favors the prepared mind.” (Pasteur) 38

HOW WILL YOU BE EVALUATED? Research Project: 50% Critical Reviews: 25% Exam(s): 20% Homework, class participation, and my evaluation of your performance: 5% Participation+discussion is very important Grading will be back-end heavy. Most of your grade will be determined late. How you prepare and manage your time is important – But grades should not be the reason for taking this course 39

RESEARCH PROJECT Your chance to explore in depth a computer architecture topic that interests you Perhaps even publish your innovation in a top computer architecture conference. Start thinking about your project topic from now! Interact with me and mentors Read the project topics handout well Groups of 2-3 students (will finalize this later) Proposal due: Feb 18,

AGENDA Course Overview How to Jump Into Research How to Review Papers First Homework (for Next Week) First Review Assignment (for Next Week) 41

HOW TO DO RESEARCH AND ADVANCED DEV We will talk a lot about this in this course Learning by example – Reading and evaluating strong and seminal papers Learning by doing – Semester-long research project Learning by open, critical discussions – Recitation sessions, online discussion of papers & ideas on Piazza and the Paper Review Site 42

WHAT IS THE GOAL OF RESEARCH? To generate new insight – that can enable what previously did not exist Research (in engineering) is a hunt for insight that can eventually impact the world 43

SOME BASIC ADVICE FOR GOOD RESEARCH Choose great problems to solve: Have great taste – Difficult – Important – High impact Read heavily and critically Think big (out of the box) – Do not restrain yourself to tweaks Aim high Write and present really well 44

Looking here for lost keys 45

Lost keys here Looking here 46

Current Architecture Practice 47

48

5-10 years Aim Here 49

5-10 years Enable this point 50

The Research Formula 51

Reward If you are wildly successful, what difference will it make? 52

Effort Learn as much as possible with as little work as possible 53

Effort Do the minimum analysis and experimentation necessary to make a point 54

Research is a hunt for insight Need to get off the beaten path to find new insights 55

RECOMMENDED TALK Bill Dally, Moving the needle: Effective Computer Architecture Research in Academy and IndustryMoving the needle: Effective Computer Architecture Research in Academy and Industry ISCA 2010 Keynote Talk. Acknowledgment: Past few slides are from this talk 56

MORE GOOD ADVICE “The purpose of computing is insight, not numbers” Richard Hamming 57

HOW TO DO THE PAPER REVIEWS 1: Brief summary – What is the problem the paper is trying to solve? – What are the key ideas of the paper? Key insights? – What is the key contribution to literature at the time it was written? – What are the most important things you take out from it? 2: Strengths (most important ones) – Does the paper solve the problem well? 3: Weaknesses (most important ones) – This is where you should think critically. Every paper/idea has a weakness. This does not mean the paper is necessarily bad. It means there is room for improvement and future research can accomplish this. 4: Can you do (much) better? Present your thoughts/ideas. 5: What have you learned/enjoyed/disliked in the paper? Why? Review should be short and concise (~half a page to a page) 58

ADVICE ON PAPER REVIEWS When doing the reviews, be very critical Always think about better ways of solving the problem or related problems Do background reading – Reviewing a paper/talk is the best way of learning about a research problem/topic Think about forming a literature survey topic or a research proposal based on the paper (for future studies) 59

PROJECT More information to come… In the meantime: Read a lot of papers; find focused problem areas to survey papers on We will provide a list of project ideas and papers associated with them A good way of finding topics to survey or do projects on is: – Examining the provided project ideas and papers – Reading assigned papers in lectures – Examining papers from recent conferences (ISCA, MICRO, HPCA, ASPLOS, …) 60

AGENDA Course Overview How to Jump Into Research How to Review Papers First Homework (for Next Week) First Review Assignment (for Next Week) 61

HOMEWORK0 Due on next Tuesday Jan 26, 2016 Student information Want to know about you All future grading is dependent on this homework Submit a pdf file in Collab 62

AGENDA Course Overview How to Jump Into Research How to Review Papers First Homework (for Next Week) First Review Assignment (for Next Week) 63

REQUIRED REVIEWS Due on next Thursday Jan 28, 2016 Enter your reviews in Review Site Register ASAP: eturnUrl=%2FUVACAS2016 Learn from each other, peer reviewing others submission will help you to grow – Can be extra credit Start discussing ideas and thoughts on Piazza 64

REVIEW PAPER 1 (REQUIRED) Yale Patt, “Requirements, Bottlenecks, and Good Fortune: Agents for Microprocessor Evolution“Requirements, Bottlenecks, and Good Fortune: Agents for Microprocessor Evolution”, Invited Article in Proceedings of IEEE,

REVIEW PAPER 2 (REQUIRED) Onur Mutlu and Lavanya Subramanian, “Research Problems and Opportunities in Memory Systems" Invited Article in Supercomputing Frontiers and Innovations (SUPERFRI), “Research Problems and Opportunities in Memory SystemsSupercomputing Frontiers and Innovations 66

Samira Khan University of Virginia Jan 21, 2016 COMPUTER ARCHITECTURE CS 6354 The content and concept of this course are adapted from CMU ECE 740