Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Oracle's Cameron Purdy on Coherence 3.3 and the Future of the Grid

Oracle's Cameron Purdy on Coherence 3.3 and the Future of the Grid

Oracle has released Coherence 3.3. Coherence provides data replication, partitioning and caching across a grid of computers. Earlier this year Oracle acquired the Coherence product line as part of their acquisition of Tangosol. Oracle Coherence 3.3 is now available in three editions - Standard, Enterprise and Grid. Version 3.3 enhances the integration with Oracle Fusion Middleware as well as Oracle Application Server and Oracle Toplink. The release adds:
  • Availability - The introduction of Deterministic Request Execution features;
  • Clustering - Delivery of self-tuning communication capabilities, including both high-performance packet bundling and dynamic flow control;
  • Performance - Enhanced multi-core support for the latest commodity server hardware;
  • Platform Support - Expanded to include Java SE version 6, and a new revision of Oracle Coherence for the Microsoft .NET Platform.

Pricing and availability are as follows:

Standard Edition: for small-scale applications that require data caching and sharing clustered data. Pricing starts at $4,000 per CPU;

Enterprise Edition: for medium- to large-scale application deployments, typically in lines-of-business, that need distributed data management with capabilities such as persistence, transactions and deep integration with the application server infrastructure. Pricing starts at $10,000 per CPU;

Grid Edition: for a shared enterprise-wide data services platform, typically a separate tier or core piece of infrastructure in large-scale deployments that focus on real-time analytics, transaction management, event infrastructure, and sophisticated application data-caching implementations. Pricing starts at $20,000 per CPU.

InfoQ caught up with Tangosol founder Cameron Purdy who is now a Vice President of Development at Oracle to discuss the acquisition and the upcoming release. The first question Purdy was asked with the obvious one "Why did Oracle by Tangosol?":

Today's Service-Oriented Architecture (SOA), Web 2.0, and Event-Driven Architecture (EDA) are stretching the limits of backend infrastructures. To offload the burden from the backend processing systems, more real-time transaction processing capabilities need to be built into the middleware infrastructure. With Oracle's fast-growing middleware business, they recognized this trend early on and the value Tangosol's technology, with its proven track record as the foundation for eXtreme Transaction Processing (XTP) systems. The combination of Oracle Fusion Middleware and Oracle Coherence delivers the "extreme" scalability, reliability and performance that is quickly becoming mainstream. With Tangosol's best-of-breed technology and great engineering talent, it's an obvious fit within Oracle.
InfoQ then asked about the transition after the acquisition:

I am pleased to report that we've retained the entire team through this transition process. Since May our focus has been to push forward very aggressively with the product schedule and to look at ways Oracle Coherence can complement a variety of Oracle products. The Oracle Fusion Middleware group is well practiced at integrating acquired companies and getting those teams on board and up to speed quickly. There's some really impressive talent in this organization, and the environment is very positive.

Were we concerned with maintaining our small company cadence. We wanted to make sure that we could hit the ground running at Oracle, executing on all levels…and think we've done that…which is not necessarily difficult when you consider that essentially, we added five thousand sales people to our team.

Of course, there are challenges to being as large an organization as Oracle. As we know from technology, scalability is hard work. You have to design to scale, and there are trade-offs we're getting used to. On the other hand, we now have a huge set of resources that we never could have imagined having.

From a management perspective, my goal is to keep the product team focused, to maintain our velocity, while being as effective as possible in using the resources available within Oracle.

Purdy then elaborated on Oracle's future strategy in the area of Grid:

Oracle Coherence is part of the Oracle Fusion Middleware product portfolio and is benefiting from an increased number of resources. An example of the direct benefits of the increased resources is evident in the release of Oracle Coherence 3.3, just two months post-acquisition.

In addition to the .NET version of Oracle Coherence, you can expect some exciting things from us soon. Stay tuned.

While I'd love to talk about future strategy in detail, I am sure I'd be in hot water for spilling all the beans. What I can say is that the plan is for Oracle Coherence to be used by a number of other product teams, to add or improve clustering and grid functionality, and Oracle Coherence is a good fit for products that require a reliable, continuously available and linearly scalable foundation.

Fundamentally, we will have succeeded with "grid" when we no longer have to explicitly think about "grid". For example, the qualities of service that applications can achieve today by being architected on an Oracle Coherence Data Grid will become just another part of standardized infrastructure, just like we take database connectivity and transactions for granted today in application servers. Whatever the next generation of middleware infrastructure ends up looking like, I can say that it should have the ability to support continuous availability and scale-out across hundreds of servers while automating the complexity of managing such an environment.

... and on how Coherence stacks up versus the other players in the market such as GigaSpaces and Terracotta:

The GigaSpaces and Terracotta products are both based on the previous milenium's client/server technology, and that just doesn't hold up when you're trying to achieve continuous availability, and scaling to dozens, hundreds or thousands of servers. Oracle Coherence introduced the concept of organic clustering, which is the ability to maintain true clustered consensus across a dynamic collection of servers, and distributed computing will never be the same. As our customers have said, you can easily build the functionality of any of the other products on top of Oracle Coherence, but you can't build the capabilities of Oracle Coherence on top of them.

Customers who have switched from competing products to Oracle Coherence have painted a pretty stark picture: Oracle Coherence is unparalleled when evaluating any one of the "-ilities", such as reliability, availability and scalability, but Oracle Coherence goes further by achieving them all simultaneously. In a recent case, a customer increased their transaction rate by over 200x by switching from one of the products you mentioned to Oracle Coherence, and achieved significantly better availability and reliability at the same time. Welcome to the twenty-first century.

After discussing the market in general InfoQ then focused on the 3.3 release. One of the 3.3 features is deterministic request execution which includes options in terms of task scheduling and execution time limits. Purdy was asked about the driving force behind this enhancement:

Well, it started when a large customer of ours encountered some issues with other parts of their infrastructure that would lock up, including a database. Due to execution dependencies, a lock-up in the database could impact the application. They wanted to isolate those lock-ups so that - at worst - they would only affect an individual user, and not be able to impact the health of the overall system in any way. The "deterministic request execution" feature is the generalization of their requirements and we applied them to all types of processing that Oracle Coherence manages.
The latest version of Coherence also features improved clustering protocol enhancements. InfoQ asked how the protocol and communications infrastructure has evolved as the product has grown:

Over a number of recent releases, we have been rolling out version 3 of our TCMP clustering protocol. Each major version of TCMP has been designed to deal with larger and larger environments - up to thousands of servers in a single, fully coherent, clustered Finite State Machine - and to achieve higher and higher levels of qualities of service (QoS). For example, this release adds dynamically-modulated packet bundling, which is a feature requested from a customer with a web site serving over 2 billion dynamic data-intensive pages a week, whose hardware switches couldn't keep up with the volume of traffic that Oracle Coherence could push through the network when their website load would spike. We have a road-map in place that will keep us very busy with TCMP version 3 for at least two more years, and with the number of customers we have, we'll have plenty of feature requests queuing up for TCMP version 4.
Finally Purdy was asked if today's trend of more and more processors in a box is making Oracle's job easier or harder:

Well, that's kind of a funny question. We have an engineer who spends all of his time working with companies like Intel and Azul to profile and optimize for concurrent execution, so I guess it makes his job harder, but he loves the challenge and the result is that the thousands of applications running on Oracle Coherence all automatically benefit from modern multi-core hardware. Oracle Coherence itself was designed for multi-threaded SMP-based systems, and multi-core is just a natural evolution of that hardware, so we haven't had to re-architect for multi-core. On the other hand, the "Concurrency" support in Java - originally introduced by Doug Lea - provides a collection of great capabilities for optimizing highly concurrent multi-threaded systems, and we have been both replacing and optimizing critical data structures in order to achieveve higher utilization of multiple cores and CPUs. For example, most of our queuing is completely lock-free in the 3.3 release, which has given us some impressive performance improvements.

Rate this Article