COMP60011 : Future Multi-Core Computing

MSc Module part of Taught Postgraduate Programmes

Schedule of Lectures + Labs

Printouts of all core material slides/notes will be provided in-class.

Use the template (Powerpoint or OpenOffice) to prepare the slides that will be used in the presentations and discussions. The slides need to be emailed before 14:00 on Fridays so that we can bring the printouts. Be aware of not using the Office 2007 format.
Topics Core Material Supporting material

Monday 9th November 2009
09.00-12.30 Motivation
Cache Coherence
Slides (part 1, 2, 3, 4, and 5)
Chip manufacturing process
45nm and 32nm
Sand to Silicon Chip
Intel Fab
Are multicore processors here to stay?
Kilburn Lecture 2008
Computer architecture is back

What every programmer should know about memory
Cache write policies and performance
A cache primer
A web caching primer
The free lunch is over
The case for a single-chip multiprocessor
The future of microprocessors
The price of performance
Spending Moore's dividend TR Talk
13.30-14.30 Synchronization Slides
Software and the concurrency revolution
Extreme Software Scaling
An OS perspective Real-world concurrency
14.30-15.45 Current multi-core systems Slides
OpenSPARC (Niagara I & II)
Intel Nehalem
AMD Shanghai
Intel QuickPath Architecture
AMD Software Optimization
Intel Turbo Boost Technology
IBM Power6 & wafer
Azul's Vega processor and JVM (Java on a 1000 cores)

OpenSPARC Internals
UltraSPARC T1 (or Niagara IEEE Micro 2005) Specs
UltraSPARC T2 Specs & Related paper
AMD Opteron IEEE Micro papers 2003 & 2007
AMD Barcelona talk 2007 2008
AMD Larger L3 in Shanghai
AMD Shared L3 in Barcelona
Hypertransport & White papers
AMD NUMA & Hypertransport
Intel Nehalem website & white paper
IDF talk on Nehalem
Intel QuickPath Interconnect white paper
Intel Turbo Boost Technolgy white paper
Reports on AMD Barcelona & Intel Nehalem
ARM Cortex-A9 MPCore website, white paper & talk
IBM Power6
16.00-17.00 Lab session 0: Java Threads Lab sheet 0
Individual Work
Submit part III by email before 9.00am on 16/Nov

Monday 16th November 2009
09.00-13.00 Simultaneous MultiThreading or SMT
Directory Based Cache Coherence
Java Tutorial - Concurrency Trail
Paper A (Group 5 leader)
Paper B (Group 6 leader)
Tutorial (Group 1 leader)
Wikipedia SMT entry
Intel Hyperthreading paper
Wikipedia cache coherence entry
1990 Survey of cache coherence
Gupta et al. ICPP 1990
Doug Lea's webpage
Effective Java Chapter 9

Java Memory Model talk
14.00-17.00 Lab session 1: Java Threads, Locks & Monitors. Lab sheet 1 Group work
Submit report by email before 9.00am on 23/Nov

Monday 23rd November 2009
09.00-13.00 Thread Level Speculation
Non-blocking Algorithms
Scalable Synchronous Queues
Cilk-5 (work stealing scheduling)
Paper A (Group 2 leader)
Paper B (Group 3 leader)
Paper C (Group 4 leader)
Paper D (Group 7 leader)
Introduction to nonblocking algorithms
Wikipedia Non-blocking synchronization
Scalable synchronization paper
Obstruction-free paper
Tradeoffs in Thread Level Speculation paper
14.00-17.00 Lab session : java.util.concurrent Lab sheet 2 Group work
Submit report by email before 9.00am on 30/Nov

Monday 30th November 2009
09.00-13.00 Transactional Memory Paper A (Group 1 Leader)
Paper B (Group 5 Leader)
Paper C (Group 6 Leader)
Paper D (Group 8 Leader) Slides
Intro to Transactional Memory
Recent Review
Sun Research
Intel C++ TM and related paper
Tim Harris' web page
GCC branch for TM and related paper
Microsoft TM team blog

Moir's talk (Sun Microsystems)
Harris & Peyton-Jones talk (Microsoft Research)
Welc's talk (Intel Research)
Menon's talk (Google)
STM in Microsoft
14.00-17.00 Lab session 3: Simics (and start of mini-project) Lab sheet 3 Group work
Submit report by email before 9.00am on 7/Dec

Monday 7th December 2009
09.00-13.00 GPGPUs
Hardware and Software Virtualization (VMM or Hypervisor)
Paper A (Group 2 Leader)
Paper C (Group 3 Leader)
Paper D (Group 4 Leader)
Paper New (Group 7 Leader)
Intro to GPUs
GPGPU website
CUDA website
NVidia Fermi website and whitepaper
AMD Fusion
Wikipedia entry for Virtual Machine
Wikipedia entry for Hypervisor
The architecture of virtual machines
VMM trend paper
Xen and the art of virtualization
Sun xVM, VirtualBox, Solaris Containers (or Zones) and Crossbow.
ARM virtualization
AMD virtualization
Intel virtualization
AMD virtualization in ASPLOS 2008
Intel virtualization in Computer 2005 and Intel journal 2006
VMware technical paper on AMD and Intel Wikipedia entry for MapReduce
Hadoop webpage and tutorial
MapReduce paper in CACM
Jeffrey Dean webpage
Google Cluster Architecture
The Datacenter as a Computer

Fusion intro
CUDA and Tesla intro
Introduction to GPU Computing
NVidia Lecture by John Nickolls
Intel Larrabee SIGGRAPH 2008
AMD virtualization ASPLOS 2008
AMD virtualization
VMware virtualization 101 and Fusion
Intel software network (part 1, 2, 3 and 4) on virtualization introduction and others
Intel channel on virtualization (overview and part 1, 2, 3, 4, 5, 6)
Xen 3.0 talk by Steve Hand
Sun virtualization
Using Map-Reduce
Google RoundTable MapReduce
Google MapReduce Tutorial
Google MapReduce in a Week
14.00-17.00 Lab session 4: mini-project Group work

Friday 18th December 2009
17.00 Deadline for submitting mini-project report