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