"Developers spend significant effort to work around the problem of application performance unpredictability... Garbage collection has long been Java's Achilles' heel," said Gartner's Massimo Pezzini, Gartner analyst, in the announcement of BigMemory.
As Terracotta experimented with larger and larger BigMemory caches, it found it penalized program operation at very low rates. Terrcotta created a 350-GB cache and found it had added 250 microseconds -- that's a quarter of one-thousandth of a second -- to the data loads into the application. By keeping the heap small, say 1-2 GB, and allowing it to work with a BigMemory cache, one of Java's fundamental slowdowns can finally be addressed. BigMemory is actually a snap-in addition to Enterprise Ehcache, Terracotta's cache management system.
The main discussion over taking advantage of those multi-core CPUs and big memory servers has tended to focus on virtualization -- subdividing all that power into discrete virtual servers. Virtualization is a partial answer in that it subdivides a big server into many virtual servers, making better use of CPUs and memory. But enterprise applications dealing with thousands of users, or hard working multi-tenant applications on the web serving tens of thousands, need a better answer.
When it comes to cloud computing, applications may need to satisfy hundreds of thousands of users, and it will be a more efficient answer to let one instance of an application do so by making effective use of an extremely large cache, as opposed to subdividing a server into virtual servers.
Pandey, by the way, works closely with CTO Ari Zilka, the architect of the applications that power Wal-Mart's website. Other cache management products for Java apps include Oracle's Coherence cache manager, IBM's WebSphere eXtreme Scale for DB2, GigaSpaces cache manager, and Gemstone's GemFire, now part of VMware. I've heard another company, Azul Systems, makes an appliance that attempts to accomplish the same goal as Terracotta, and I'd like to take a look at Azul in a future column.








