CS4021/4521 - Advanced Computer Architecture
Lecturer: Dr Jeremy Jones
This module focuses on locks, lockless algorithms, lockless data structures and transactional memory (see module descriptor).
Tutorials and Coursework
||please hand in a short report describing what you have done (max 4 pages), Promela listing(s) and evidence that your program works (screenshots) at the tutorial Fri 28-Oct-16.
||please hand up at at the Fri lecture/tutorial 2-Dec-16.
|please hand in by 16:00pm Friday 20-Jan-17 at SCSS Reception ORI.
|1974 A new solution of Dijkstra's concurrent programming problem, Leslie Lamport
||1993 Transactional Memory: Architectural Support for Lock-Free Data Structures, Maurice Herlihy and J. Eliot B. Moss
||2001 A pragmatic Implementation of Non Blocking Linked Lists, Timothy L Harris
||2004 Hazard Pointers: Safe Memory Reclamation for
Lock-Free Objects, Maged M. Michael
||2008 Intel® 64 Architecture Memory Ordering White Paper, Intel
||2012 Intel® Processor Identification and the CPUID Instruction, Intel Application Note 485
||2012 Intel® Architecture Instruction Set Extensions Programming Reference [chapter 8 - Intel® Transactional Synchronization Extensions]
||2013 Analysis of Haswell's Transactional Memory, David Kanter
||2013 Shared-Memory Synchronization, Michael L. Scott
2015 Intel® 64 and IA-32 Architectures Software Developer's ManualCombined Volumes: 1, 2A, 2B, 2C, 3A, 3B, 3C and 3D
||2015 Intel® 64 and IA-32 Architectures
Optimization Reference Manual [chapter 12 - Intel® TSX Recommendations]