/
Samira Khan University of Virginia Samira Khan University of Virginia

Samira Khan University of Virginia - PowerPoint Presentation

projoutr
projoutr . @projoutr
Follow
343 views
Uploaded On 2020-06-23

Samira Khan University of Virginia - PPT Presentation

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

architecture memory paper research memory architecture research paper computer review project problem storage week system future cpu papers software

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

Slide1

Samira KhanUniversity of VirginiaJan 14, 2019

ADVANCED

COMPUTER ARCHITECTURE CS 4330/6501

Some content of this course is adapted from CMU ECE 740

Slide2

ROTUNDA, PAVILLIONS AND THE LAWN

2

Slide3

A 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

Slide4

A 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

Slide5

MAJOR 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

Slide6

ROLE OF THE (COMPUTER) ARCHITECT

from Yale Patt’s lecture notes

6

Slide7

ROLE 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

Slide8

TAKEAWAYSBeing 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

Slide9

INSTRUCTORSamira 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

Slide10

TEACHING ASSISTANTSihang

Liu CS PhD Studentsihangliu@virginia.edu

Undergrad University of MichiganResearch InterestsComputer Architecture and SystemsEmerging MemoryProcessing in Memory

10

Slide11

AGENDACourse Overview

How to Review PapersFirst Homework (for This Week)First Review Assignment (for Next Week)

11

Slide12

WHERE 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

Slide13

WHAT 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

Slide14

Architecture

Circuits

Operating System

LEVELS OF TRANSFORMATION

Interface between Software and Hardware

Problem

14

Slide15

THE 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

Slide16

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 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

Slide17

Architecture

Circuits

Operating System

LEVELS OF TRANSFORMATION

Broader Scope

o

f

Computer Architecture

Problem

17

Slide18

SCOPE 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

Slide19

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 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

Slide20

TWO EXAMPLES

Emerging Technology: Non-Volatile Memory20

New Challenge: Memory Wall

Slide21

TWO-LEVEL STORAGE MODEL

CPU

MEMORY

STORAGE

VOLATILE

FAST

BYTE ADDR

NONVOLATILE

SLOW

BLOCK ADDR

Ld/St

FILE

I/O

DRAM

21

Slide22

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

22

Slide23

VISION: UNIFY MEMORY AND STORAGE

CPU

PERSISTENTMEMORY

Provides an opportunity to manipulate persistent data directly

Ld/St

NVM

23

Slide24

DRAM IS STILL FASTER

CPU

PERSISTENTMEMORY

A hybrid unified

m

emory-storage system

CPU

MEMORY

Ld/St

NVM

DRAM

24

Slide25

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 againEliminates wasted work to locate, transfer, and translate dataImproves both energy and performanceSimplifies programming model as well UNIFY MEMORY AND STORAGE

25

Slide26

END-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?

Slide27

TWO EXAMPLES

Emerging Technology: Non-Volatile Memory

27New Challenge: Memory Wall

Slide28

DRAM Latency-Capacity Trend

16X

-20%DRAM latency continues to be a critical bottleneck

Slide29

Memory Wall

Memory

MC

L3

L2

L1

CPU

1) High latency

2

) Low bandwidth

29

Memory is the main bottleneck

Slide30

Processing in Memory

Smart

Memory

MC

L3

L2

L1

CPU

Calculate in memory

Only send

back

the result

30

Memory is the main bottleneck

Compute

Slide31

IN-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?

Slide32

COURSE 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

Slide33

THIS 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

Slide34

WHAT 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

Slide35

HOW 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

Slide36

RESEARCH 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

Slide37

AGENDACourse Overview

How to Review PapersFirst Homework (for Next Week)First Review Assignment (for Next Week)

37

Slide38

HOW 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

Slide39

ADVICE 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

Slide40

PAPER 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

Slide41

PROJECTMore 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

Slide42

PROJECT 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

Slide43

AGENDACourse Overview

How to Jump Into ResearchHow to Review PapersFirst Homework (for Next Week)

First Review Assignment (for Next Week)43

Slide44

HOMEWORK0Due 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

Slide45

AGENDACourse Overview

How to Review PapersFirst Homework (for Next Week)First Review Assignment (for Next Week)

45

Slide46

REQUIRED REVIEWSDue

on next Wednesday Jan 23, 2019Enter your reviews in CollabStart discussing ideas and thoughts on Piazza

46

Slide47

REVIEW 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

Slide48

Samira KhanUniversity of VirginiaJan 14, 2019

ADVANCED

COMPUTER ARCHITECTURE CS 4330/6501

Some content of this course is adapted from CMU ECE 740