CS 290N: Parallel Computer Architectures
Announcements
5-page draft of your project report due to me by e-mail 5/22.
Time: TR 1-2:50
Room: Phelps 1401
Instructor:
Prof. Fred Chong;
office hours by appointment; Eng I 5163
The exponential growth of ubiquitous data is substantially outpacing
Moore's law. Parallel architectures, in systems ranging from cell
phones to clouds, are the key to realizing the potential of this data.
This course will examine multi-core microprocessors, GPUs, and
datacenters; as well as the foundations of parallel architecture and
the basic mechanisms to support efficient parallel computation. Topics
include: multiprocessor synchronization, speculative locks,
transactional memory, interconnect design, application partitioning,
race detection, energy management, and reliability issues.
Grading
Problem Sets 25%
Discussion Topics 20%
Project Proposals and Drafts 15%
Project Final Report 40%
Discussion Information
Assign a paper for the class to read, one week before your discussion day.
Present the paper and supplemental material on your assigned day.
Lead discussion, with my help, on the subject.
Problem Set Information
For each assigned paper, write up the following and e-mail me a copy
before class:
A summary of the main points of the paper.
A critique of any shortcomings of the paper.
Any ideas on how one would extend the ideas in the paper or
address its shortcomings.
Project Information
Here is an
example project paper. The project has two goals:
A critique of three related research papers. This is not a book
report. Do not just summarize what is in the papers.
Point out shortcomings and possible areas for extension.
Extension of the area. Address shortcomings or extend the work
in the papers. Come up with some ideas and test them with a
short project. This can be in the form of some
simple analysis, study of application attributes, small machine
simulations, or implementation on parallel machines. Remember to pick
something that will fit in a quarter. An example would be
to install a benchmark suite on a our rack of servers and study some
of their characteristics.
Ideally, both goals would be well-addressed in a project. Since we
only have a quarter, however, you may emphasize one or the other.
Lectures
Lecture 1 (4/3/12): Introduction and Organizational Meeting
Lecture 2 (4/5/12): Interconnect
Reading for next time:
How to get good performance on the CM5 Data Network [Brewer and Kuszmaul 94].
Additional References (optional):
The CM5 Data Network [Leiserson et al 95].
Lecture 3 (4/10/12): The CM5 and Programming for Network Performance
Reading for next time:
Active Messages [von Eicken et al 92].
Lecture 4 (4/12/12): Active Messages, Polling, and Interrupts
Reading for next time:
Reactive Synchronization Algorithms [Lim and Agarwal 94].
Optional reading for next time (no writeup required) :
Lecture 5 (4/17/12): Synchronization
Reading for next time:
GPU Branch Divergence .
Optional reading for next time (no writeup required) :
GPU Architecture Background .
Lecture 6 (4/19/12): GPU Architecture and Branch Divergence (Heba)
Reading for next time:
A Survey of Multicore Architectures .
Optional reading for next time (no writeup required) :
Synchroscalar
Lecture 7 (4/24/12): Survey of Multicore Architectures (Varun)
Reading for next time:
Cloudsuite
Optional reading for next time (no writeup required) :
Lecture 8 (4/26/12): Cloudsuite (Alex)
Reading for next time:
Scale Out Microprocessors
Optional reading for next time (no writeup required) :
Lecture 9 (5/1/12): Scale-Out Microprocessors (Karim)
Reading for next time:
Widget
Optional reading for next time (no writeup required) :
Lecture 10 (5/3/12): Flexible Multicore (Umesh)
Reading for next time:
PIPP
Optional reading for next time (no writeup required) :
Lecture 11 (5/8/12) Multicore Shared Caches (Xun)
Reading for next time:
Kilo-NOC
Optional reading for next time (no writeup required) :
Lecture 12 (5/10/12): NOC (Vasanth)
Reading for next time:
Thread Replay
Optional reading for next time (no writeup required) :
Lecture 13 (5/15/12): Thread Replay (Guoping)
Reading for next time:
Virtual Pipelines
Optional reading for next time (no writeup required) :
Lecture 14 (5/17/12): Network Processors (Sudheesh)
Reading for next time:
Optional reading for next time (no writeup required) :
Lecture 15 (5/22/12): Guest Lecture: Optical NOC (Hassan)
Reading for next time:
Optional reading for next time (no writeup required) :
Lecture 16 (5/24/12): No Class (Fred Away)
Reading for next time:
Wireless in Datacenters
Optional reading for next time (no writeup required) :
Lecture 17 (5/29/12): Wireless in Datacenters (Faisal)
Reading for next time:
BigTable
Optional reading for next time (no writeup required) :
Lecture 18 (5/31/12): BigTable (Sean)
Reading for next time:
21st Century Architecture
Lecture 19 (6/5/12): Future Directions in Computer Architecture
Reading for next time:
Graph Analysis
Lecture 20 (6/7/12): Guest Lecture - John Gilbert
Reading for next time:
Last updated March 2012
chong@cs.ucsb.edu