Sun engineers have been working with open source software Terracotta to optimize its technology on Sun's solutions. A four-page PDF offers an overview of the business benefits of Terracotta for Java developers, plus some results of testing the team did with Terracotta on both x64 and CMT servers, reports George Drapeau.
Terracotta is an open-source product, entirely written in Java code, that simplifies scalability for Java applications by synchronizing user defined subsets of Java heap across multiple Virtual Machines for the Java platform (Java Virtual Machine or JVM) on different physical machines. This enables threads on machines across a cluster to communicate with each other as though they were all in the same local machine, making it easier to cluster and scale a wide variety of Java applications (both new and existing) with little or no code changes, and with significant performance benefits in most cases.
"...if you're a Java developer and you want to easily scale up your application so it can take on more load, Terracotta makes it really easy for you to do that," Drapeau writes.
In the testing, Sun compared the Solaris 10 OS and Linux on Sun Fire X4200 servers and Sun SPARC Enterprise T5240 servers. Results showed nearly double the performance with Solaris 10 on the Sun Fire X4200 server compared to Linux on the same server. In addition, the Sun Fire server’s CPU was more highly utilized, providing better ROI for distributed Java platform-based applications.
Drapeau makes a couple of points regarding these results:
- 1. Performance of Terracotta on Solaris vs. RedHat. Everything else was the same: same JVM, same physical hardware. But Terracotta on Solaris performed much better, making more efficient use of the compute resources. You leave less of your computing budget on the table with Terracotta on Solaris, is what this says to me.
- 2. Terracotta performance on CMT. On the T5240 CoolThreads server, we didn't get the top result, but we had plenty of headroom to go (using 9% of the CPU resource available), which means we could launch more copies of Terracotta, or the Java application itself. Our tests with Terracotta show us we can use CMT to get massive scaling; the results table clearly reflects that.
For developers, Terracotta requires less code writing. This is because Terracotta takes care of clustering the application across multiple machines, without interfering with the application code. It eliminates both the coding process and the communication to the database to update state by transmitting only object state changes to the Terracotta server.
All major Java platform data structures are supported by Terracotta as well as Oracle Weblogic 10.2, 10.3, and Hyperic HQ, and it deploys in less than 30 minutes.
Open-source Terracotta is available in three versions:
- ES: open source packaged version of the core project
- EX: ES features with a commercial license and support
- FX: EX with extended features (array striping, operations center, rolling upgrades of your applications) and value-add services)
More Information
Easily Scale Your Web Applications With Terracotta and Sun Platforms - four-page PDF
Terracotta on Sun's CMT and x64 Solaris servers - Drapeau's blog entry
Terracota Home Page
[...read more...]