Class schedule and notes

The schedule will be filled as the class progresses. And the schedule is subject to changes. Please check back frequently.
Lecture notes will be posted right after each class.

Date Lecture notes Readings
Jan 12, Wednesday Introduction
Jan 17, Monday Martin Luther King Day
Jan 19, Wednesday Parallel application cases Sections 2.1/2.2 of Culler and Singh
Google PageRank
Jan 24, Monday Parallel programming Section 2.3 of Culler and Singh
Jan 26, Wednesday Parallel programming Chapter 3 of Culler and Singh
Jan 31, Monday Superscalar processors (instruction-level parallelism) The microarchitecture of Superscalar processors
Feb 2, Wednesday Shared memory multiprocessors and cache coherence Section 5.1/5.3 of Culler and Singh
Feb 7, Monday Multiprocessor memory consistency models Section 5.2/5.3 of Culler and Singh
Shared memory consistency models: A tutorial
Feb 9, Wednesday Synchronization Section 5.5 of Culler and Singh
Algorithms for scalable synchronization on shared memory multiprocessor
Feb 14, Monday Power efficient data center for a key-value store by Aaron Gorenstein FAWN: a fast array of wimpy nodes
Feb 16, Wednesday Distributed memory parallel computing and MPI MPI Forum
Feb 21, Monday Implementation of MPI systems
Feb 23, Wednesday Additional parallel programming models OpenMP, Cilk
Feb 28, Monday Parallelism/concurrency in servers
Mar 2, Wednesday Tracing in parallel systems and servers Resource Containers: A new facility for resource management in server systems
Using Magpie for request extraction and workload modeling
Hardware counter driven on-the-fly request signatures
Mar 7, Monday Spring break
Mar 9, Wednesday Spring break
Mar 14, Monday Guest lecture by Prof. Chen Ding
Mar 16, Wednesday General Purpose GPU Computing by Xiaoqing Tang
Mar 21, Monday Multicore resource management Towards practical page coloring-based multi-core cache management
Hardware execution throttling for multi-core resource management
Mar 23, Wednesday Parallel I/O Multi-layer event trace analysis for parallel I/O performance tuning
Mar 28, Monday Distributed systems Distributed snapshots: determining global states of distributed systems
Mar 30, Wednesday Distributed consensus The part-time parliament
Apr 4, Monday Rollback-recovery protocols in message-passing systems by Meilin Zhang
Apr 6, Wednesday Replication
Apr 11, Monday Deterministic parallel programming by Li Lu
Apr 13, Wednesday Internet data centers
Apr 18, Monday MapReduce: A Programming Model for Large-Scale Distributed Computation by Shantonu Hossain
Instructor's notes
MapReduce: simplified data processing on large clusters
Apr 20, Wednesday Cloud computing Above the clouds: a Berkeley view of cloud computing
Apr 25, Monday Course review
Apr 27, Wednesday Project demo