Skip to main content

Trinity College Dublin, The University of Dublin

Menu Search




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).

Lectures

Introduction Introduction.pdf
Spin, Peterson and Bakery Spin Peterson and Bakery Locks.pdf
Notes on installing spin and ispin on 64bit Windows 7 [10-Oct-14]
Locks Locks.pdf
ticketLock.pml, arrayLock.pml, MCS_Lock.pml,
sharing.cpp, helper.h, helper.cpp,
Lockless algorithms
Transactional memory

Tutorials and Coursework

Tutorial 1 t1.pdf 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 Thurs 2-Nov-17.
Tutorial 2 t2.pdf please hand up at at the 5pm lecture Mon 27-Nov-17.
Tutorial 3

Further Reading

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]
Miscellaneous

Microsoft Imagine allows you to obtain your own copy of Visual Studio and other software. Login using your TCD email address as username and the password which was automatically emailed to you when you were registered with the Microsoft DreamSpark by the School of Computer Science and Statistics.

last updated: