© 2021 Strange Loop
Terracotta provides infrastructure software to transparently scale-out Java applications. While the Terracotta platform provides the heavy-lifting behind this flexible scale-out it's Terracotta Integration Modules (TIMs) that glue user applications and the platform together.
Using the Terracotta Hibernate Cache as our example, we'll discuss the various aspects of the TIM API and how they are used within the various TIMs supporting the Terracotta Hibernate Cache. We'll discuss how in the Terracotta Hibernate Cache TIMs are used to both implement a Hibernate Cache Provider and enhance Hibernate to take better advantage of the concurrency that Terracotta DSO can provide.
We'll cover the implementation of the new ConcurrentDistributedMap, the design of efficient cache eviction policies within the Terracotta cluster, and also the details of the dynamic patching done to Hibernate to enhance both performance and runtime monitoring capabilities.
Chris Dennis works out of West Virginia as a software engineer in the Terracotta transparency team. Prior to working for Terracotta, Chris was a graduate student at the University of Oxford where he was the lead developer on the JPC x86 emulator.