csci-564 advanced computer architecture - inside...

60
CSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo Wu Colorado School of Mines

Upload: hoangdiep

Post on 22-Apr-2018

242 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

CSCI-564 Advanced Computer Architecture

Lecture 1: Introduction

Bo Wu Colorado School of Mines

Page 2: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Disclaimer: most of the slides in this course are adapted from four top-notch

computer architecture researchers:

Onur Mutlu (CMU) Steven Swanson (UCSD)

David Wentzlaff (Princeton)Rajeev Balasubramonian (Utah)

Page 3: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o What is architecture? o Why is it important? o What’s in this class? o A bit history of computing

Today’s Agenda

3

Page 4: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o How do you build a machine that computes? – Quickly, safely, cheaply, efficiently, etc.

o Architects develop new mechanism for performing and organizing “mechanical” computation

What is architecture?

4

Page 5: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o How do you build a machine that computes? – Quickly, safely, cheaply, efficiently, etc.

o Architects develop new mechanism for performing and organizing “mechanical” computation

What is architecture?

4

Page 6: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o For the world – Computer architecture provides the engines that power all

of computing

Why is architecture important?

5

Page 7: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o For the world – Computer architecture provides the engines that power all

of computing

Why is architecture important?

5

Page 8: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o For the world – Computer architecture provides the engines that power all

of computing

Why is architecture important?

6

o For you – As computer scientists, software engineers, and

sophisticated users, understanding how computers work is essential

– The processor is the most important piece of this story – Many performance problems have their roots in

architecture

Page 9: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Different scales

7

Page 10: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

A server

8

Page 11: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

MacBook Air

9

Page 12: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

iPhone 4S

10

Page 13: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 14: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

From sand to applications

12

Cool things happen here…

Page 15: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Abstractions of the physical world…

13

Page 16: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

… for the rest of the system

14

Page 17: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Current state of architecture

Page 18: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o # of transistors we can build in a fixed area of silicon doubles every two years

Moore’s Law

16

Page 19: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Intel 4004

Page 20: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Since 1940

18

Page 21: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Evidence

19

Page 22: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o Clock speed is the biggest contributor to power – Doubling the clock speed increases power by 2-8X – Clock speed scaling is essentially finished

o Most future performance improvements will be due to architectural and process technology improvements – Indicates that computer architecture research is more

important than ever

The end of clock speed scaling

20

Page 23: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Power and heat

21

Page 24: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o Multi-processors – If one CPU is fast, two must be faster! – They allow you to (in theory) double performance without

changing the clock speed. o Seems simple, so why are becoming so important

now – Speeding up a single CPU makes everything faster!

• An application’s performance double every 18 months with no effort on the programmer’s part

– Getting performance out of multiprocessors requires work • Parallelizing code is difficult, it takes ( lots of ) work

The rise of parallelism

22

Page 25: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 26: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

AMD Barcelona

Page 27: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o Dynamic power is proportional to activity x capacitance x voltage2 x frequency o Capacitance per transistor and voltage are decreasing o Leakage power is rising o Energy = power x time = (dynpower + lkgpower) x

time o Question (true or false): low power design is always

good?

Power consumption trends

25

Page 28: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o Dynamic voltage scaling – Good: voltage is a big contributor to power – Bad: it hurts performance – Application scenarios?

o Shut down the power supply – Commonly used by cellphones – Good: obvious – Bad: May hurt performance significantly

Power saving techniques

26

Page 29: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Imagine yourself as a server of 10 cores. Every 0.1s you receive a request, which can be served by one core using 0.1s. You can optimize for power using the techniques we discussed. What kind of things you can do to reduce power consumption?

A research problem

Page 30: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o Understand the trends shaping architecture today

Goals for this class

28

Page 31: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Logistics

Page 32: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o Instructor: Bo Wu ([email protected]) – Lectures Tues + Thurs – Office hours Wed. 3:30PM-5PM or by appointment

o TA: Kai Liu ([email protected])

o Course website: http://inside.mines.edu/~bwu/CSCI_564_15SPRING/info.shtml

Course Staff

30

Page 33: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o I work on high performance computing and compiler optimization.

o I am recruiting graduate students to work with. Talk to me if you are interested.

o For teaching, I promise you I would not do this:

More about me

31

Page 34: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o I work on high performance computing and compiler optimization.

o I am recruiting graduate students to work with. Talk to me if you are interested.

o For teaching, I promise you I would not do this:

More about me

31

Page 35: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o Do not cheat – Do not copy other people’s code – Do not copy solutions during the exams – Do not copy sentences from other papers or web resources – Seriously, cheating leads to unhappy consequences

Academic honesty

32

Page 36: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o Class participation 10% – Not showing up will impact your grade – Read the text! – I randomly pick students to ask basics about the

reading o Homework 20%

– Four assignments o Two exams:

– Midterm 15% – Final 15%

What you need to do

33

Page 37: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Projects

34

Page 38: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o For PhD students – Two projects

• Project 1: prefetching competition (two rounds) 20%

• Project 2: open-ended research project 20%

Projects

34

Page 39: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o For PhD students – Two projects

• Project 1: prefetching competition (two rounds) 20%

• Project 2: open-ended research project 20%o For all other students

– Option 1: • Project: prefetching competition (two rounds) 40%

– Option 2: • Do what is required for PhD students and get 2

bonus points for your final grade

Projects

34

Page 40: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

o Why? – Doing research is fun – You are graduate students, who are supposed to do some

o How? – Choose a problem with my help – Read a lot of related papers – Work on my/your own ideas and produce some results

Research projects

35

Page 41: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Sample research projects from CSCI-580 (Advanced HPC)

36

Large-scale Graph Processing on GPUs (Matt, Zach and John)

state-of-the-art: 4.739s

our approach: 1.76s

Page 42: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Sample research projects from CSCI-580 (Advanced HPC)

Parallel Execution of Finite State Machines on GPUs (Austin and Aruna)

Page 43: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

Sample research projects from CSCI-580 (Advanced HPC)

Parallelization of a Super Optimizer Implementation (Troy and Brianna)

Page 44: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo

An incomplete history of computation

Page 45: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 46: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 47: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 48: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 49: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 50: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 51: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 52: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 53: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 54: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 55: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 56: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 57: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 58: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 59: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo
Page 60: CSCI-564 Advanced Computer Architecture - Inside …inside.mines.edu/~bwu/CSCI_564_15SPRING/slides/lec1_intro.pdfCSCI-564 Advanced Computer Architecture Lecture 1: Introduction Bo