Home Unix/Linux Mainframe Other Servers Software Reviews
 

IBM's z/OS Load Balancing Advisor

Exclusive Article by

Gus Kassimis

Senior Software Engineer,
IBM's Enterprise Networking Solutions

Optimizing external IP load balancing in a Sysplex environment

 

GUS KASSIMIS: a synopsis

Gus Kassimis is a Senior Software Engineer in IBM’s Enterprise Networking Solutions strategy and design group.

During the past 17 years he has held various leadership positions in OS/390 and z/OS design and development areas, such service aids, System Resource Manager (SRM), Workload Management (WLM), Workflow for MVS, and the z/OS Communications Server.  He is currently a designer for z/OS Communications Server with a focus on TCP/IP technologies on z/OS.  He is also the lead designer for TCP/IP sysplex technologies on z/OS and a frequent speaker at SHARE.

 

IBM’s Parallel Sysplex® clustering technology on z/OS® and OS/390® has long provided for an environment for deploying highly scalable and highly available workloads.  Applications can be cloned and deployed across multiple system images, while accessing the same data by virtue of the zSeries Coupling Facility.

Need more capacity?  Besides the normal capacity upgrade path (i.e. processor upgrades or Logical Partition adjustments) you can also scale out by starting additional cloned application instances on underutilized systems or add another system to the sysplex.  How about high availability?  By spreading workload over multiple application and system instances you can insulate end users from outages (whether planned or unplanned) to individual application instances or systems.

One of the key solution components required to realize the benefits of the sysplex environment is a load balancing solution.  Effective load balancing solutions allow the entire sysplex to be viewed as single system from an end user perspective, delivering work requests to the application instance that can best service that work request.  This can be accomplished if detailed information regarding the current state of applications, systems, and capacity in the sysplex is available.  For example, the Sysplex Distributor, an IP load balancing solution that is part of the z/OS Communications Server, by virtue of its proximity (it resides within the sysplex), has all this information at its disposal and can optimize its load balancing decisions.

But what if you have decided to deploy an external load balancing solution for some of your z/OS sysplex workloads?  Does that mean that you have to forgo all the benefits that an internal load balancing solution, such as Sysplex Distributor, would have provided?  Until quite recently, the answer to this question would quite often be yes.

However, a new function recently introduced by IBM, the z/OS Load Balancing Advisor, can help change this.

The z/OS Load Balancing Advisor

 Lo and behold!

The recommendations provided by the Advisor are dynamic in nature; they may change as the conditions of the applications and the systems in the sysplex change.  These recommendations consist of the following components:

    1.  State of the target applications and systems

 

  This includes an indicator on whether the target application and/or target system is currently active. This allows the load balancer to exclude systems that are not active or do not have the desired application running.

    2.  z/OS WLM recommendations

 

  WLM recommendations provide a relative measure of a target system's ability to handle new workload as compared to other target systems in the sysplex.  For example, if a system in the sysplex in underutilized, the weights returned for that system will be higher than the weights of the other systems.  Even in scenarios where all systems in the sysplex are highly utilized, differentiation is still possible – WLM will favor systems that have a larger proportion of lower importance work (as designated by the user’s WLM policy) since that work can be displaced by higher importance workload.

    3.  Server application health, from a TCP/IP perspective

 

  TCP/IP statistics for target applications are monitored to determine if specific server applications are encountering   problems keeping up with the current workload.  For example, is a target TCP server application keeping up with TCP connection requests?  Or are requests being rejected because the TCP backlog queue is full?  When these types of problems are detected, recommendations are adjusted appropriately so that the load balancer can direct less   connections to any applications that experiencing these problems.

Server/Application State Protocol

The Server/Application State Protocol (SASP) defines the interface that is used between the external load balancers and the z/OS Load Balancing Advisor.  SASP was introduced recently as part of the IBM’s Enterprise Workload Manager (EWLM) solution that is part of the IBM Virtualization Engine and is available on several platforms.  For more details on EWLM refer to:

http://www-1.ibm.com/servers/eserver/about/virtualization/suiteforservers/

As a result, load balancing solutions that exploit SASP, can work with both the EWLM and the z/OS Load Balancing Advisor solution.   SASP is an efficient protocol that is quite flexible, it provides support for both TCP and UDP applications, and also supports both IPv4 and IPv6 network configurations.

z/OS Load Balancing Advisor solution overview

The graphic above depicts the high level structure of the z/OS Load Balancing Advisor.  A single Advisor must be active within one of the systems in the sysplex.  Using SASP, the external load balancer(s) contact the Advisor to register their interest in specific TCP and UDP applications executing within the z/OS sysplex.  The Advisor communicates this information to Load Balancing Agents that are executing on every system in the sysplex that is considered a target for load balancing.   The Agents dynamically determine what applications are active on the local system, derive the load balancing recommendations, and then communicate those back to the Advisor who provides them to the load balancer(s).

Server/Application State Protocol

In summary, with the new z/OS Load Balancing Advisor and SASP, external load balancing solutions can now optimize workload balancing for your z/OS Sysplex environment.  If you are currently using or planning to use an external IP load balancing solution, and are interested in these optimizations, you should contact your vendor to determine whether their solution supports SASP.   SASP is an open protocol that is available for use by any vendor.  At the time this article was written, it is an individual Internet Draft submitted to and published by the IETF (Internet Engineering Task Force).  It is also worth noting, that CISCO Systems, Inc.™, has already announced support for SASP in their CISCO® Content Switching Module (CSM).

The z/OS Load Balancing Advisor function is available on z/OS release V1R4 right now via APAR PQ90032.  Support for z/OS release V1R5 and V1R6 will follow shortly via APAR PQ96293.  For more details related to this new function, refer to the APARs mentioned above and the following web site:

http://www-1.ibm.com/support/docview.wss?uid=swg27005585