Seminars & Colloquia
Jalal Kawash
University of Calgary
"A Motivation for Memory Consistency Models: How Write-Buffers Affect the Correctness of Programs "
Wednesday May 04, 2011 09:30 AM
Location: 3211, EBII NCSU Centennial Campus
(Visitor parking instructions)
Write buffering is commonly used in modern architecture (such as Intel x86 and SPARC) to hide memory write latency and improve the overall performance of the multiprocessor architecture. However, this leads to serious implications on the correctness of concurrent (multiprocess or multithreaded) programs. An understanding of the actual behaviour of the underlying memory system is inevitable to ensure the correctness of a program. This behaviour is formally described by the means of a memory consistency model, using a collection of partial orders on the memory operations.
In this talk, I will introduce Lamport's sequential consistency, a memory consistency model that is often assumed by programmers. Then, I will entertain the changes to sequential consistency resulting from addition of write-buffers. Two memory consistency models from the SPARC architecture are introduced: Total and Partial Store Orderings (TSO and PSO). Their effect on mutual exclusion is discussed. It will be argued that without hardware support, mutual exclusion cannot be solved on TSO or PSO.
While this talk stems from personal research, it is intended to be accessible to upper-level undergraduate students. I had introduced the subject to undergraduate students in courses like operating systems and distributed systems. Students are expected to know the mutual exclusion problem and what a partial and total orders are.
Dr. Jalal Kawash received his PhD from the University of Calgary, Canada in 2000, specializing in distributed systems. He then held jobs in industry and academia. He is now lecturing at the University of Calgary, where he is mainly responsible for managing and teaching a campus-wide course on problem solving using application software. Dr. Kawash's teaching interests span a large variety of computer science topics from programming and problem solving to systems and theory courses. His research interests are in distributed systems, virtual communities, and computing education.
Host: Dennis Bahler, Computer Science, NCSU