Thursday May 31, 2012

Impact of Server Failure on Coherence Request Processing

Requests against a given cache server may be temporarily blocked for several seconds following the failure of other cluster members. This may cause issues for applications that can not tolerate multi-second response times even during failover processing. In general, Coherence is designed around the principle that failures in one member should not affect the rest of the cluster if at all possible. However, it's obvious that if that failed member was managing a piece of state that another member depends on, the second member will need to wait until a new member assumes responsibility for managing that state.

[Read More]

Dealing with Fine-Grained Cache Entries in Coherence

On occasion we have seen significant memory overhead when using very small cache entries. Consider the case where there is a small key (say a synthetic key stored in a long) and a small value (perhaps a number or short string). With most backing maps, each cache entry will require an instance of Map.Entry, and in the case of a LocalCache backing map (used for expiry and eviction), there is additional metadata stored (such as last access time). Given the size of this data (usually a few dozen bytes) and the granularity of Java memory allocation (often a minimum of 32 bytes per object, depending on the specific JVM implementation), it is easily possible to end up with the case where the cache entry appears to be a couple dozen bytes but ends up occupying several hundred bytes of actual heap, resulting in anywhere from a 5x to 10x increase in stated memory requirements. In most cases, this increase applies to only a few small NamedCaches, and is inconsequential -- but in some cases it might apply to one or more very large NamedCaches, in which case it may dominate memory sizing calculations.

[Read More]

CPU Usage in Very Large Coherence Clusters

When sizing Coherence installations, one of the complicating factors is that these installations (by their very nature) tend to be application-specific, with some being large, memory-intensive caches, with others acting as I/O-intensive transaction-processing platforms, and still others performing CPU-intensive calculations across the data grid.

But for most reasonably-designed applications, a linear resource model will be reasonably accurate for most levels of scale. However, at extreme scale, sizing becomes a bit more complicated as certain cluster management operations -- while very infrequent -- become increasingly critical.

[Read More]

Monday Mar 19, 2012

InfiniBand Enabled Diskless PXE Boot

If you ever need to bring up a computer with InfiniBand networking capabilities and diagnostic tools, without even going through any installation on its hard disk, then please read on. In this article, I am going to talk about how to boot a computer over the network using PXE and have IPoIB enabled. Of course, the computer must have a compatible InfiniBand Host Channel Adapter (HCA) installed and connected to your IB network already.

[ Read More ]

Monday Mar 12, 2012

Enterprise-class SOA on Exalogic... what, why and how?

At the Oracle Open World 2011 conference, I had presented a session titled "Enterprise-class SOA on Exalogic" along with Vikas Anand and Manas Deb. Exalogic is part of Oracle's new breed of engineered systems, and is geared towards the middleware space. For those new to the term, an 'engineered system' is one where a single vendor provides everything from hardware, network, OS, middleware, applications, etc in one appliance. The hardware and software are fully integrated out of the box and designed for... read more

Java Tuning in a Nutshell - Part 1

While delivering a training recently, I got a request to put together a JVM tuning cheat sheet. Given the 50+ parameters available for the Sun hotspot, this request is understandable. The diagram below is what I came up with. I’ve tried to narrow down the most important flags that will solve 80% of JVM performance needs with 20% of the tuning effort. This article assumes basic JVM tuning knowledge - the different generations used in the Sun hotspot JVM, different garbage collection algorithms available, etc. Although this is... read more

Sunday Mar 11, 2012

Configure IPoIB on Solaris 10 branded zone

Compute nodes in Exalogic communicate with each other and mount their shares from the ZFS storage appliance over the bond0 interface. Bond0 is a highly available network interface over the InfiniBand fabric using a portability layer called IPoIB that allows compute nodes and the storage appliance to communicate using TCP/IP protocol over InfiniBand.

In previous entry, we have created a Solaris 10 branded zone, obviously we would also like the branded zone to be able to mount shares from the ZFS storage appliance over IPoIB.

In this entry, I’ll show you the steps.

[Read More]

Create Solaris 10 Branded Zone on Exalogic

One of the reasons that customers choose to run Solaris 11 Express on Exalogic is the capability to create container. Container is a form of Operating System Virtualization that allows multiple operating system environments to coexist on a single system. Container not only allows user to run the same version of Solaris but it is also possible to create a container, also known as branded zone, to run previous Solaris version, such as Solaris 10. It is a very useful feature that enable customer to continue running applications that only certified on older OS version.

In this entry, I will show you the steps to create a Solaris 10 branded zone on Exalogic.

[Read More]

Saturday Mar 10, 2012

Shark Attack on InfiniBand

Grab your magnifying glass and join us in viewing InfiniBand packets closer than ever before. Use Wireshark and Mellanox' ibdump tool to capture InfiniBand packets for offline analysis.

[Read More]

Friday Mar 09, 2012

Advance Routing for Multi-Homed Hosts

Scenario based discussion on enabling access to a host across multiple routers and network. Use of Linux Advance Routing through iproute2 tool set. Comparison on when to use static vs. multiple default routes.

[Read More]


The primary contributors to this blog are comprised of the Exalogic and Cloud Application Foundation contingent of Oracle's Fusion Middleware Architecture Team, fondly known as the A-Team. As part of the Oracle development organization, The A-Team supports some of Oracle's largest and most strategic customers worldwide. Our mission is to provide deep technical expertise to support various Oracle field organizations and customers deploying Oracle Fusion Middleware related products. And to collect real world feedback to continuously improve the products we support. In this blog, our experts and guest experts will focus on Exalogic, WebLogic, Coherence, Tuxedo/mainframe migration, Enterprise Manager and JDK/JRockIT performance tuning. It is our way to share some of our experiences with Oracle community. We hope our followers took away something of value from our experiences. Thank you for visiting and please come back soon.


« April 2014