IBM TechXchange Virtual WebSphere z/OS User Group

 View Only

Liberty z/OS Post #57- WLM Integration

By David Follis posted 19 days ago

  

This post is part of a series exploring the unique aspects and capabilities of WebSphere Liberty when running on z/OS.
We'll also explore considerations when moving from WebSphere traditional on z/OS to Liberty on z/OS.

The next post in the series is here.

To start at the beginning, follow this link to the first post.

---------------

Enough about the Angel already!  This week we move on to an actual z/OS integration feature of Liberty, WLM.  Before we get to that, let’s back up a bit and talk about what WLM is and what it does.  My apologies in advance to all the zOS WLM folks who will cringe at my vast oversimplification.

WLM stands for WorkLoad Manager because that’s what it does.  It manages the workload running on z/OS.  That’s actually important because WLM isn’t just managing who gets the processor when.  WLM is (among other things I won’t go into) trying to make sure all the different things running on a z/OS system (or in a sysplex) are, to the best of its ability, within available system resources, being managed to meet whatever your goals are for that stuff.  Largely that consists of who gets the processor when, but let’s not oversimplify..

For WLM to do its thing it needs to know what all the stuff that is running on z/OS actually is.  An important point here is that a given z/OS image is probably running all sorts of different things all at once.  It might have some interactive stuff where there’s an end user somewhere waiting for something.  It might have some long running batch stuff.  And who knows what else.  And all that stuff isn’t really equal in importance.  Some users are more equal than others. 

So the first thing WLM has to be able to do is classify stuff that is running so it knows what it is.  Then some goal has to be defined for that particular bit of stuff.  And, in the event WLM isn’t able to meet the goals for all the work because there’s just more to do than there are resources to do it with, WLM needs to know which work is more important than which other work so it can make tradeoffs. 

For example, suppose you have two servers hosting web applications.  One application is an internal-use phone book application and the other as an external customer-facing application that gets heavily used by actual paying customers.  These are very different things and you’d probably want WLM to treat them differently.  For this reason you’d classify them with WLM into different service classes.  A service class comes with a definition of a goal and an importance.

In this case the goal for both applications is going to be a response time that (especially for the customer facing application) probably has some service-level-agreement (SLA) between the IT shop and the business about how well it will do.  For example, the SLA might say that 95% of requests will get a response in less than 1 second.  Work classified into a service class with that goal will be managed to try to meet that goal, as WLM tracks how well it is doing and adjusts as it needs to.

But suppose we have these two applications running to their different goals and the system is totally out of resources (say all processors are running at 100%).  And the customer application is missing its goal, but the internal one is doing fine and maybe doing better than its goal.  Well, WLM will start sacrificing some of the work that is exceeding its goal to help out the work that is missing its goal.  That helps, but perhaps not enough and now both workloads are missing their goal (I’m oversimplifying here because nobody’s z/OS system only has two things for WLM to manage).  Well now WLM needs to know who to sacrifice.  In the service class definition, next to where the goal is specified, there is also an importance.  In this case the customer application might be importance 2 (where importance 1 is highest and might be reserved for ‘system’ things that are even more important that customer stuff) while the internal application might be importance 3.  This tells WLM to sacrifice the internal app, making it miss its goals even more, in order to try to get the more important customer app to make its goals. 

If you listen closely, you can hear the WLM folks cringing about how much I’ve left out.  There is a LOT more to this, but for the purposes of the upcoming posts in this series, that’s probably close enough.

0 comments
3 views

Permalink