CSCI-564 Advanced Computer Architecture - Inside...
Transcript of CSCI-564 Advanced Computer Architecture - Inside...
CSCI-564 Advanced Computer Architecture
Lecture 1: Introduction
Bo Wu Colorado School of Mines
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)
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
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
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
o For the world – Computer architecture provides the engines that power all
of computing
Why is architecture important?
5
o For the world – Computer architecture provides the engines that power all
of computing
Why is architecture important?
5
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
Different scales
7
A server
8
MacBook Air
9
iPhone 4S
10
From sand to applications
12
Cool things happen here…
Abstractions of the physical world…
13
… for the rest of the system
14
Current state of architecture
o # of transistors we can build in a fixed area of silicon doubles every two years
Moore’s Law
16
Intel 4004
Since 1940
18
Evidence
19
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
Power and heat
21
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
AMD Barcelona
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
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
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
o Understand the trends shaping architecture today
Goals for this class
28
Logistics
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
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
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
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
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
Projects
34
o For PhD students – Two projects
• Project 1: prefetching competition (two rounds) 20%
• Project 2: open-ended research project 20%
Projects
34
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
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
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
Sample research projects from CSCI-580 (Advanced HPC)
Parallel Execution of Finite State Machines on GPUs (Austin and Aruna)
Sample research projects from CSCI-580 (Advanced HPC)
Parallelization of a Super Optimizer Implementation (Troy and Brianna)
An incomplete history of computation