How does one provide efficient read/write access to copies of a datum shared amongst multiple actors, while making it seem like only one definitive copy exists? Variants of this problem have been addressed since the term "Computer Science" was coined, by researchers spanning programming languages, distributed systems, databases, computer architecture, and the verification communities. However, this partitioning, coupled with inconsistent terminology and diversity in methodology, has prevented knowledge from flowing smoothly between these communities.
The end of Moore's law, the rise of warehouse-scale computing, and the advent of new non-volatile memory technologies has brought all of these communities closer again. What can we learn from one another on sharing state? How to achieve consensus on solving consensus?
Please email for a
Vijay Nagarajan is an Associate Professor at the University of Edinburgh. His research interests span computer architecture, programming languages, and computer systems with a focus on consistency models and coherence protocols. He is a co-author of the latest edition of the Primer on Memory Consistency and Cache Coherence, which has been downloaded more than 13K times. Vijay is a recipient of an Intel Early Career Faculty Award, a PACT best-paper award, and two IEEE Top-Picks Honourable mentions.