COMP60621 : 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.

If appropriate, 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 Thursdays so that we can bring the printouts.
Topics Core Material Supporting material

Friday 9th Nov 2018
09.00-12.30 Motivation
Caches
Cache Coherence
Interconnection

Videos
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

Links
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
Links
Software and the concurrency revolution
Extreme Software Scaling
An OS perspective Real-world concurrency
14.30-15.45 Current multi-core systems and trends
Videos
Intel Nehalem
AMD Shanghai
TI OMAP4
Intel QuickPath Architecture
AMD Software Optimization
Intel Turbo Boost Technology
IBM Power6 & wafer
Azul's Vega processor and JVM (Java on a 1000 cores)

Links
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-18.00 Lab session 0: Java Threads
Individual Work
Submit by email before 9.00am on 16/Nov

Friday 16th Nov 2018
9:00-9:30 Q&A
10.00-13.00 Simultaneous MultiThreading or SMT
Lab 0 feedback
Java Concurrency Tutorial
Paper SMT

Tutorial
Links
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


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

Friday 23rd Nov 2018
9:00-9:30 Q&A
10.00-13.00 Lock-Free Algorithms
Cilk-5 (work stealing scheduling)
MapReduce
Directory
Paper Herlihy 93
Paper Cilk-5
SGI Origin 1997
MapReduce OSDI
Links
Introduction to nonblocking algorithms
Wikipedia Non-blocking synchronization
Scalable synchronization paper
Obstruction-free paper
Wikipedia entry for MapReduce
Hadoop webpage and tutorial
MapReduce paper in CACM
Jeffrey Dean webpage
Google Cluster Architecture
The Datacenter as a Computer

Videos
Using Map-Reduce
Google RoundTable MapReduce
Google MapReduce Tutorial
Google MapReduce in a Week
14.00-17.00 Lab session 2: java.util.concurrent Group work
Submit report by email before 9.00am on 30/Nov

Friday 30th Nov 2018
9:00-9:30 Q&A
10.00-13.00 Transactional Memory Paper TCC
Paper TL2
Paper HyTM
Paper Phasers
Links
Intro to Transactional Memory
Beautiful Concurrency Review Intel C++ TM and related paper
Bibliography
GCC branch for TM and related paper
IBM XL C/C++ TM
Microsoft TM team blog
Tradeoffs in Thread Level Speculation paper

Videos
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-18.00 Lab session 3: mini-project Individual work

Friday 7th Dec 2018
9:00-9:30 Q&A
10.00-13.00 GPGPUs
Hardware and Software Virtualization (VMM or Hypervisor)
Links
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

Video
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
14.00-18.00 Lab session 3: mini-project Individual work

Sunday 16th Dec 2018
23.59 Deadline for submitting mini-project report