WebSphere eXtreme Scale Primer, part-3 : concepts

  • Key – A Java object instance that identifies a single cache value
  • Value – A Java object instance that contains the cache data
  • Map – An interface that stores data as key-value pairs
  • MapSet – A collection of maps whose entries are logically related
  • Grid – A collection of map sets
  • Partition – The concept of splitting data into smaller sections
  • Shard – The data in a partition is physically stored in shards.
  • Grid Container – Grid containers host shards
  • Grid Container Server – A grid container server hosts grid containers
  • Catalogue Server – A catalogue server controls grid container servers.

 

 

A grid container server can host many grid containers.
A grid container hosts shards, which can be from one or more grids.
A grid can be spread across many grid containers.
The catalog service places shards in grid containers.
A grid consists of a number of map sets. A map set is partitioned using a key. Each map in the map set is defined by a BackingMap.
A map set is a collection of maps that are typically used together. Many map sets can exist in one grid.
A map holds (grid) data as key value pairs.
A map set consists of a number of partitions. Each partition has a primary shard and N replica shards.

WebSphere eXtreme Scale Primer, part-2 : Terminology/Key words

  •     Key – A Java object instance that identifies a single cache value
  •     Value – A Java object instance that contains the cache data
  •     Map – An interface that stores data as key-value pairs
  •     MapSet – A collection of maps whose entries are logically related
  •     Grid – A collection of map sets
  •     Partition – The concept of splitting data into smaller sections
  •     Shard – The data in a partition is physically stored in shards.
  •     Grid Container – Grid containers host shards
  •     Grid Container Server – A grid container server hosts grid containers
  •     Catalog Server – A catalog server controls grid container servers.

WebSphere eXtreme Scale Primer, part-1 : Introduction

What is eXtreme Scale
WebSphere eXtreme Scale provides an extensible framework to simplify the caching of data used by an application. It can be used to build a highly scalable, fault tolerant data grid with nearly unlimited horizontal scaling capabilities. WebSphere eXtreme Scale creates infrastructure with the ability to deal with extreme levels of data processing and performance. When the data and resulting transactions experience incremental or exponential growth, the business performance does not suffer because the grid is easily extended by adding additional capacity in the form of Java virtual machines and hardware.
So what it is ?
Simple .. it is an centralized and flexible caching grid.
What is the flexibility and scalability
To make it easy.. lets think this way. you have websphere application server network deployment installed. your application is expecting more users, what would you do? Check system resources and add another JVM or you will add another node to that cell. You can extend your eXtreme scale also in the same way.. hence it is flexible.

 how is it fault tolerant?
eXtreme scale has two important comonents, Catalogue server(CAS) and Container server(COS). you generally use multiple CAS and COS. The product is designed in way that if any of these components fails .. it will readjust/reconfigure itself to minimize the effect and work with available servers. We will learn more about this in the next parts of this series about each failure scenario.

WebSphere eXtreme Scale …… coming soon here

Hi 

I did WebSphere eXtreme Scale training and study last year. 
Thanks to GWC rewards.

Since there is very little information available about this product, Iam planning to run a crash course #KeepAnEyeOnIt

Here are the likely Topics:
1. What is eXtreme Scale
2. Use of extreme scale
3. Key features of eXtreme Scale
4. eXtreme scale terminology
5. eXtreme scale concepts
6. Topologies
7. Installation methods
8. Configuration of eXtreme scale 
9. Deploying code
10. eXtreme Scale APIs.

Can it cope ? …Adding additional load to WebSphere

“just some thoughts and notes ….”

Additional load can have the effect at following places :

  • – Response times
  • – Availability
  • – JVM resources
  • – System Resources

 ResponseTime
Response time is how much it would take our application to serve user request. This is effected by no of users. If we are increasing no of users on the existing infrastructure, it might slow down the response as the existing resources needs to be adjusted to server all requests.

Availability
Availability can be defined as how much time application is available at its permissible performance level. more no of users can effect availability in terms of performance as well as unavailability as a system (downtimes, crash, restarts etc..)

JVM resources

Java virtual machines operates using its heap memory. The more the users the more the requirement of the heap.

System Resources

Memory and CPU are important for performance of the JVM. JVM’s operation is very dependent on Memory as the JVM heap will be allocated from this Memory. If there is not enough memory available on the Host, we cannot increase the JVM size.
If there is not enough memory in JVM , then it will lead to ‘out of memory’ expectations which leads to downtime.
Application needs CPU for processing. If there are more requests than the CPU can handle, then we see a CPU starvation which leads to requests waiting for CPU and going hung state which leads to downtime.

  • • It is always good to know, for many users the present system is forecasted/designed when it went live.
  • • How many users do we serve now.
  • • What is the present acceptable response time of the application.
  • • Are the any recent unplanned downtimes which are due to incidents. Are these related to any system or JVM resources
  • • Are the new users being added same as the existing ones or do they use a different functionality
  • • It is always not just the system resources that need to be increased to add more load to the application.
    • o Sometimes, a single JVM might give slow responses even if system resources are available. In this case, we might need to add additional JVM
    • o sometimes existing JVM size may not be enough. in this case we need to increase the JVM size which requires system memory.

Catch it before you get caught .. the art of monitoring : part-1 : Introduction

When you live in London, it’s a fact of life that you will be ‘caught on camera’ up to 100 times a day. Though most  of this ‘monitoring’ is for security purpose, London is indeed the capital of CCTV :-).
So when it comes to your production environments of websphere, what do you monitor and what will you catch for alerting?
This is just an introduction to what to expect in this series….
It is a fundamental understanding that WebSphere platform is based on Java standards and uses Java Virtual Machine is for its operation. Also WebSphere products will run on Operating systems such as Linux, Unix, Windows, Zo/s etc..  By reading the previous statement, you will get an idea that you should be monitoring ‘Operating System’, ‘Java’ and WebSphere related parameters and their working.
note: As usual all my articles are notes, not a full tutorial or documents. So my notes would give you an idea of what you need to do but not what you should do.