Introduction
Concurrency is important to much of computation; from computing in the large (networks and their distributed systems like an airline-reservation system) to computing in the small (VLSI chips and their parallel algorithms like image processing chips). Because of the complex manner in which coordinating components interact, we use formal methods for the specification, development and simulation of such systems... more
Lecturer:J. W. Sanders
J.W. Sanders is Principal Research Fellow at the International Institute for Software Technology, United Nations University, Macao, China. His interests lie largely in the application of rigorous methods to model, and hence reason about, novel and/or intractible forms of Computation: concurrency, probabilism, security, time, asynchronicity, quantum computation and multi-agent systems.Dr Sanders holds degrees in Mathematics from Monash University and the Australian National University. He has taught across the range of undergraduate and graudate courses in Pure Mathematics and Computer Science, and has taught courses in China, Africa, Iran and Malaysia. He has supervised numerous MSc and PhD students. Before moving to Macao he spent 22 years at the Programming Research Group, Oxford, and is now an emeritus fellow of Lady Margaret Hall, Oxford.
Foundations of multicore programming: algorithm and verification
Introduction
The advent of multicore era of modern processors calls for a paradigmatic shift from sequential programming to concurrent programming. Traditionally the vocabulary of concurrent programming has been largely that of shared memory with locks (e.g. semaphores, critical regions, monitors, etc.). Whether it comprises a good vocabulary for multicore programming, i.e. in the respects of efficiency, scalability and abstraction, is still controversial. The quest for a better vocabulary (that scores well in all three respects) is well underway in both academia and industries...more
