Three-year old Terracotta recently began offering its own Java clustering solution, Terracotta Virtualization server. And several months ago, it recruited Bob Griswold, who formerly headed BEA’s JRockit fast JVM project, as CTO. At least one of the company’s venture backers is also behind JBoss.
Terracotta’s latest product, Terracotta Virtualization Server, aims to share a single JVM (Java Virtual Machine) image over multiple J2EE appservers. In that sense, it aims to solve the same problem as rival Tangasol. The main difference, however, is that while Tangasol relies on Jcache, which carries a different API, Terracotta claims its approach doesn’t.
The bottleneck has always been the JVM. Functioning as an intermediary between the Java environment and the underlying machine, the JVM makes lifer simple for developers because it eliminates the need to manually write functions like memory management and garbage collection. The problem is that the JVM was never designed for the kinds of clustering architectures that are emerging as cheaper alternatives to traditional SMP, multi-processor servers.
Terracotta uses techniques borrowed from aspect-oriented programming (AOP) to, in effect, provision or insert services on multiple threads that are contending for resources in the cluster. It automatically applies the kinds of underlying services, such as allocating memory or database cache when multiple objects are contending for data across one or more servers.
The Terracotta Clustered Spring Runtime, will be available as beta in Q1 2006, and full release in Q2 from Terracotta and Interface21. According to Griswold, in the coming year, Terracotta will be looking for similar partnerships, promoting its solution as a cheaper, simpler alternative to clustering tools from IBM or BEA.