Jan 14 2019 ADVANCED COMPUTER ARCHITECTURE CS 43306501 Some content of this course is adapted from CMU ECE 740 ROTUNDA PAVILLIONS AND THE LAWN 2 A DESIGN BASED ON PRINCIPLES 1856 engraving ID: 784048
Download The PPT/PDF document "Samira Khan University of Virginia" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Samira KhanUniversity of VirginiaJan 14, 2019
ADVANCED
COMPUTER ARCHITECTURE CS 4330/6501
Some content of this course is adapted from CMU ECE 740
Slide2ROTUNDA, PAVILLIONS AND THE LAWN
2
Slide3A DESIGN BASED ON PRINCIPLES
1856 engraving
Designed by Thomas JeffersonUnique 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
Slide4A KEY QUESTIONHow
was Jefferson able to design a school that was so different from precedents?Can have many guesses
VisionaryPassion for architecture and education(Ultra) hard work, perseverance, dedication (over decades)Experience of decadesCreativityOut-of-the-box thinkingPrincipled designA 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
Slide5MAJOR HIGH-LEVEL GOALS OF THIS COURSE
Understand the principlesUnderstand the precedentsBased on such understanding:
Enable you to evaluate tradeoffs of different designs and ideasEnable you to develop principled designs Enable you to develop novel, out-of-the-box designsThe focus is on:
Principles, precedents, and how to use them for new designs
In Computer Architecture
5
Slide6ROLE OF THE (COMPUTER) ARCHITECT
from Yale Patt’s lecture notes
6
Slide7ROLE OF THE (COMPUTER) ARCHITECTLook backward (to the past)
Understand tradeoffs and designs, upsides/downsides, past workloads. Analyze and evaluate the pastLook forward (to the future)Be the dreamer and create new designs. Listen to
dreamersPush the state of the art. Evaluate new design choicesLook up (towards problems in the computing stack)Understand important problems and their natureDevelop 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
Slide8TAKEAWAYSBeing an architect is not easy
You need to consider many things in designing a new system + have good intuition/insight into ideas/tradeoffsBut, it is fun and can be very technically rewardingAnd, 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 systemsE.g., your mobile phonesThis course will teach you how to become a good computer architect8
Slide9INSTRUCTORSamira Khan
Assistant Professorsamirakhan@virginia.eduPost Doctorate in CMUPhD from UT San Antonio
Worked at Intel, AMD, EPFLResearch InterestComputer Architecture and SystemsMemory System DesignNew Emerging TechnologiesHardware-Software Co-DesignPerformance, Power, Reliability
9
Slide10TEACHING ASSISTANTSihang
Liu CS PhD Studentsihangliu@virginia.edu
Undergrad University of MichiganResearch InterestsComputer Architecture and SystemsEmerging MemoryProcessing in Memory
10
Slide11AGENDACourse Overview
How to Review PapersFirst Homework (for This Week)First Review Assignment (for Next Week)
11
Slide12WHERE TO GET UP-TO-DATE COURSE INFO?
Websitehttp://www.cs.virginia.edu/~
smk9u/CS4330S19/home.htmlPiazzapiazza.com/virginia/spring2019/cs43306501/homeYour email: start the subject line with CS 4330Fastest Response
Office Hours
By appointment
12
Slide13WHAT WILL YOU LEARNComputer 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 1964
13
Slide14Architecture
Circuits
Operating System
LEVELS OF TRANSFORMATION
Interface between Software and Hardware
Problem
14
Slide15THE POWER OF ABSTRACTIONIsolation
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
Slide16Should 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 ifOne 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 layerNew Applications that are too slow for today’s systemCROSSING THE ABSTRACTION LAYERS16
Slide17Architecture
Circuits
Operating System
LEVELS OF TRANSFORMATION
Broader Scope
o
f
Computer Architecture
Problem
17
Slide18SCOPE OF THE COURSEThis course will take a broad view of architecture
Beyond the ISA+microarchitecture levelsE.g., system-architecture interfaces and interactionsE.g., application-architecture interfaces and
interactionsE.g., Domain specific designsOut-of-the-box thinking is greatly encouragedE.g., research projects and readings on architectures that challenge the current dominant paradigms processing in memory, emerging memory technologies, specialization
everywhere, …
E.g., readings on topics that are traditionally covered less in computer architecture courses
18
Slide19WHAT 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 topicSemester-long research projectFocus: How to design better architectures (not an intro course)How to dig out informationNo textbook really required
But, see the syllabus
19
Slide20TWO EXAMPLES
Emerging Technology: Non-Volatile Memory20
New Challenge: Memory Wall
Slide21TWO-LEVEL STORAGE MODEL
CPU
MEMORY
STORAGE
VOLATILE
FAST
BYTE ADDR
NONVOLATILE
SLOW
BLOCK ADDR
Ld/St
FILE
I/O
DRAM
21
Slide22TWO-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
22
Slide23VISION: UNIFY MEMORY AND STORAGE
CPU
PERSISTENTMEMORY
Provides an opportunity to manipulate persistent data directly
Ld/St
NVM
23
Slide24DRAM IS STILL FASTER
CPU
PERSISTENTMEMORY
A hybrid unified
m
emory-storage system
CPU
MEMORY
Ld/St
NVM
DRAM
24
Slide25Opportunity 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 againEliminates wasted work to locate, transfer, and translate dataImproves both energy and performanceSimplifies programming model as well UNIFY MEMORY AND STORAGE
25
Slide26END-TO-END SYSTEM FOR PERSISTENT MEMORY
GOAL: A full stack support for persistent memory applications
26ARCHITECTURE
CIRCUITS
PERSISTENT MANAGER
PROBLEM
APPLICATION
How
to provide hardware support?
How
to allocate objects in persistent memory?
Software
Hardware
CPU
PERSISTENTMEMORY
Ld/St
COMPILER
How
to annotate and verify applications?
How to
manage
unified memory and storage support?
How
to
write
consistent code
?
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
Sihang
Liu+
,
“Crash Consistency for Encrypted Non-Volatile Main Memory Systems”,
HPCA
2018
Sihang
Liu+
,
“
PMTest
: A Fast and Flexible
Testing
Framework for
Persistent Memory Programs
”,
ASPLOS 2019
How
to reduce wear-out?
Slide27TWO EXAMPLES
Emerging Technology: Non-Volatile Memory
27New Challenge: Memory Wall
Slide28DRAM Latency-Capacity Trend
16X
-20%DRAM latency continues to be a critical bottleneck
Slide29Memory Wall
Memory
MC
L3
L2
L1
CPU
1) High latency
2
) Low bandwidth
29
Memory is the main bottleneck
Slide30Processing in Memory
Smart
Memory
MC
L3
L2
L1
CPU
Calculate in memory
Only send
back
the result
30
Memory is the main bottleneck
Compute
Slide31IN-MEMORY COMPUTING
SPECIALIZED CORES
MEMORY WITH LOGIC
Offload computation to appropriate computing model
based on application, runtime, and accelerator characteristics
31
Image: Micron Technology, 2015
IN-MEMORY
LOGIC
What
is the
interface?
How
to schedule
data access and offloading?
How
to enable
computation?
Which
functions to
offload?
ARCHITECTURE
CIRCUITS
RUNTIME
PROBLEM
APPLICATION
OS
Software
Hardware
Who
provides data
consistency?
Slide32COURSE GOALSGoal 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.Strong emphasis will be given to machine learning applicationsGoal 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).
32
Slide33THIS IS AN ADVANCED CLASSRequired background:
basic architecture (3330)basic compilersbasic OS
programming skillsspirit, excitement, and dedication for deep exploration of a topic in computer architecture33
Slide34WHAT DO I EXPECT FROM YOU?Learn the material & dig deeper
Work hardAsk questions, take notes, participate in discussionCritically review the assigned research papers & readingsDiscuss/critique them online with peers and us
Use Piazza frequently…Start the research project early and focusRemember “Chance favors the prepared mind.” (Pasteur)
34
Slide35HOW WILL YOU BE EVALUATED?Research Project:
40%Critical Reviews and Paper Presentation: 25%Exam(s): 30%
Homework, class participation, and my evaluation of your performance: 5%Participation+discussion is very importantGrading will be back-end heavy. Most of your grade will be determined late. How you prepare and manage your time is importantBut grades should not be the reason for taking this course
35
Slide36RESEARCH PROJECTYour 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 mentorsRead the project topics handout wellGroups of
1/2 students (will finalize this later)Proposal due: Feb 11, 201936
Slide37AGENDACourse Overview
How to Review PapersFirst Homework (for Next Week)First Review Assignment (for Next Week)
37
Slide38HOW TO DO THE PAPER REVIEWS1: 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?
6: Detailed comment on the contribution of the paper
Review should be short and concise (
~half a page to a page)
38
Slide39ADVICE ON PAPER REVIEWSWhen doing the reviews, be
very criticalAlways think about better ways of solving the problem or related problemsDo background readingReviewing 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)39
Slide40PAPER PRESENTATIONGroup of 1/2
students Each class two groups will present two papersI will provide a list of papers and you can choose
Have to submit the slides one week beforeEveryone else will submit reviews on those papersAsk questions during/after the presentationRemember 5% grade is on class participationThe presenters will also initiate discussion on piazzaEach person must have at least one post for each paper on piazza
40
Slide41PROJECTMore information to come… In the meantime:
Read a lot of papers; find focused problem areas to survey papers onWe will provide a list of project ideas and papers associated with themA good way of finding topics to survey or do projects on is:Examining the provided project ideas and papersReading assigned papers in lectures
Examining papers from recent conferences (ISCA, MICRO, HPCA, ASPLOS, …)41
Slide42PROJECT TIMELINEProject Proposal Due: Feb 11, 2019
Project Proposal Presentation: Feb 13, 2019 Project Milestone Meetings Slides Due: Mar 18, 2019
Project Milestone Presentation: Mar 20, 2019Final Presentation: May 2, 2019 (2.00-5.00 pm) Final Report Due: May 4, 2019
42
Slide43AGENDACourse Overview
How to Jump Into ResearchHow to Review PapersFirst Homework (for Next Week)
First Review Assignment (for Next Week)43
Slide44HOMEWORK0Due on next
Wednesday Jan 16, 2019Student information
Want to know about youWhat to know about your prior computer architecture backgroundAll future grading is dependent on this homeworkSubmit a pdf file in Collab44
Slide45AGENDACourse Overview
How to Review PapersFirst Homework (for Next Week)First Review Assignment (for Next Week)
45
Slide46REQUIRED REVIEWSDue
on next Wednesday Jan 23, 2019Enter your reviews in CollabStart discussing ideas and thoughts on Piazza
46
Slide47REVIEW PAPER 1 (REQUIRED)Onur
Mutlu, "Enabling the Adoption of Processing-in-Memory: Challenges, Mechanisms, Future Research Directions", Invited Article, 2018.
Richard Hamming, "You and Your Research”.47
Slide48Samira KhanUniversity of VirginiaJan 14, 2019
ADVANCED
COMPUTER ARCHITECTURE CS 4330/6501
Some content of this course is adapted from CMU ECE 740