Strange Loop

Concurrent Caching at Google

MapMaker is Google's premier data structure for in-memory caching on the JVM. This presentation will cover lock amortization as a simpler alternative to techniques such as lock-free and elimination-based data structures. We'll describe how amortized analysis can be used to avoid lock contention and how it is leveraged to support expiration, soft/weak reference collection, and bounded caches.

Click to view published talk video

Benjamin Manes, Charles Fry

Benjamin Manes, Charles Fry


Charles Fry is a software engineer at Google, where he works full-time on the core Java libraries, externally distributed as Guava. He has been the primary MapMaker developer since 2010. Ben Manes is a software engineer at Google, where he contributes to MapMaker in his 20% time. His interest in concurrency led to an open-source project, ConcurrentLinkedHashMap, which explored design approaches for caching data structures.