Memory Systems for Multiprocessors: AMD Opteron Memory Coherence and Consistency
Part of Seminar Series: ECE Distinguished Lecture Series
Date: Friday, November 19, 2004
Time: 1:30 p.m.
Location: ACES Auditorium, ACES 2.302
Dr. Kevin Lepak
AMD
Abstract
In this talk we will give brief background on the difference between memory coherence models (more commonly referred to as "cache coherence protocols") and memory consistency models and emphasize that, while the two are in many ways inter-related, they should be logically separated in the minds of microprocessor designers. We will then discuss how the AMD Opteron coherence protocol (using HyperTransport, and Direct Connect Architecture) works for some common memory transaction types.
We will then switch to the topic of memory consistency, discussing common memory consistency models, describing the differences between them, and detailing the most common memory model in x86 processors (normally called "processor consistency").
We will conclude with a discussion of why the AMD Opteron coherence protocol is unique and describe how this uniqueness leads to both improved performance against more conventional topologies for multiprocessors of small/medium scale (2 to 8 processors) and also provides new possibilities for optimization of cache coherent multiprocessors.
Speaker Biography
Kevin Lepak received the BS (1999), MS (2000), and PhD (2003) degrees in Electrical and Computer Engineering from the University of Wisconsin. His thesis research was in the area of high-perf memory systems for multiprocessorss utilizing store value locality (aka "Silent Stores"). Since then he has worked at AMD in Austin, TX, focused primarily on performance ideas, simulation infrastructure, and workloads for evaluating/designing current and future generation uniprocessor/multiprocessor systems. He has 5 patents pending in the areas of high-performance microarchitecture and system architecture. He is also an Adjunct Assistant Professor at the University of Texas at Austin in the department of Electrical and Computer Engineering--he taught EE 306 in the summer 2004 session.

