WebSphere eXtreme Scale is better than OSS and Oracle


In-memory data grids (IMDG) have been around for over a decade now and there are commercial and Open-Source Software (OSS) versions of them.  IBM WebSphere eXtreme Scale (WXS) is IBM’s in-memory data grid (IMDG) product.  Recently, I had a chance to compare WXS to Oracle Coherence and Infinispan (open-source-software IMDG).  Here are some high-level differences I was able to identify:

Efficient use of machine resources by WXS
WXS is very efficient at consuming CPU and keeps the creation of threads to a minimum.  For example, setting the maximum number of user processes to 1024 was more than enough to run a large test with WXS.  What I noticed with Infinispan is that this number had to be significantly increased to be able to successfully bring up 6 instances of clustered Infinispan servers.  This may as well be the case with Oracle Coherence since, like Infinispan, they both use a very similar architecture for their cluster design (more about this below).  Lower CPU consumption and number of user processes means that you will need less hardware resources and less software licenses/subscriptions when using WXS to handle the same load.

Fast Object Serialization
eXtreme Data Format (XDF) is WXS language-independent serialization format and POF (Portable Object Format) is Oracle Coherence equivalent.  To enable XDF, you just need to set a flag in the data grid configuration file.  On the other hand, with Oracle Coherence, you need to modify the Java classes you want to serialize (whether by writing code or using annotations) as well as register them in the data grid environment in addition to setting a flag for the Coherence server to enable POF.  This implies that the resulting POF class is different from the original class effectively affecting your code design and making it difficult to maintain or undo any POF modifications resulting in vendor lock-in.  Taking advantage of optimized object serialization takes the setting of a single parameter at server startup with WXS whereas with Oracle Coherence it takes a laundry list of activities lengthening the development cycle.

Container/Catalog approach
WXS uses a cache container/catalog server approach where the dedicated catalog server(s) keep track of the health and members of the grid (the cache servers).  This results in less traffic on your network as well as more efficient use of machine resources.  IBM’s competitors that do not use catalog servers effectively treat every member of the grid as a potential catalog server.  This design requires each member to keep track of the master(s) in the grid in case it goes down and it needs to take over the master role.  This causes more traffic on your network and also the consumption of more machine resources.

Good documentation
In my experience, in installing, running, developing and administering Infinispan, I found that their documentation was riddled with inaccuracies (old info that was no longer applicable or relevant and had not been removed or updated) that can cause you to “spin your wheels” trying to figure out the product.  Also, the documentation has a lot of “TBD” entries.  So, tread the OSS waters at your own risk!

Appliances
Lastly, IBM offers an IMDG in an appliance form factor, namely the IBM DataPower XC10, for those customers that prefer to have WXS capabilities in a security-hardened appliance.  DataPower can be deployed as either a hardware or virtual appliance giving it the flexibility customers demand. Its security capabilities are second to none and it has native connections to other IBM Middleware products and technologies.

In summary, WebSphere eXtreme Scale offers clear benefits when compared to Oracle Coherence and Infinispan. Less machine resources translates into lower data center costs, easier maintenance and administration increases the productivity of your IT department, and lower development cycles allows your business to have a faster time-to-market.



Categories: Technology

Tags: , , , , , ,

4 replies

  1. Sheer thread count without understanding what the threads do is not a meaningful metric and that is all I am trying to say. JBoss Data Grid (Infinispan is upstream open source project) scales very well and customers talk about that and other features that allow it to excel as an IMDG. IBM does thing differently with its proprietary technology that third parties are (for all practical purposes) prohibited from posting benchmarks about.

    Like

    • What makes you say that IBM prohibits publishing performance numbers by 3rd parties? Are you confusing it with Oracle? IBM simply reserves the right to reciprocate and publish benchmarks on those products and vendors who publish results on IBM products.

      Like

  2. I agree with your point of Garbage In Garbage Out. However, the simple fact of spawning more threads (efficient or inefficient) leads to more CPU consumption (unless all the threads are always sleeping, in which case, what is the point of creating them!). If a software product consumes more CPU to handle the same load than WXS then it will need more cores as it scales up.

    Like

  3. One inefficient thread can take more cycles then 1, 2, 3, 4, … threads that are efficient. Thread count is not an accurate way to predict scalability or load.

    Like

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: