Sharing Knowledge on Sharing State
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?