HP Virtual Server Environment
Capitalizes on Workload
Management Integration
August 2004
A D.H. Brown Associates, Inc.
White Paper Prepared for
An Company Hewlett-Packard
This document is copyrighted by D.H. Brown Associates, Inc. (DHBA) and is protected by
U.S. and international copyright laws and conventions. This document may not be copied,
reproduced, stored in a retrieval system, transmitted in any form, posted on a public or private
website or bulletin board, or sublicensed to a third party without the written consent of DHBA.
No copyright may be obscured or removed from the paper. D.H. Brown Associates, Inc. and
DHBA are trademarks of D.H. Brown Associates, Inc. All trademarks and registered marks of
products and companies referred to in this paper are protected.
This document was developed on the basis of information and sources believed to be reliable.
This document is to be used “as is.” DHBA makes no guarantees or representations
regarding, and shall have no liability for the accuracy of, data, subject matter, quality, or
timeliness of the content. The data contained in this document are subject to change. DHBA
accepts no responsibility to inform the reader of changes in the data. In addition, DHBA may
change its view of the products, services, and companies described in this document.
DHBA accepts no responsibility for decisions made on the basis of information contained
herein, nor from the reader’s attempts to duplicate performance results or other outcomes.
Nor can the paper be used to predict future values or performance levels. This document may
not be used to create an endorsement for products and services discussed in the paper or for
other products and services offered by the vendors discussed.
TABLE OF CONTENTS
EXECUTIVE SUMMARY ...................................................................................................................................... 1
INTRODUCTION: WORKLOAD MANAGEMENT EVOLVES ............................................................................. 3
HP VIRTUAL SERVER ENVIRONMENT ............................................................................................................. 5
HP-UX RESOURCE MANAGEMENT ....................................................................................................................... 6
Entitlement-Based Resource Managers ........................................................................................................ 7
Figure 1: Entitlement-Based Resource Management.................................................................................... 7
Goal-Based Workload Managers................................................................................................................... 8
Figure 2: Goal-Based Workload Management .............................................................................................. 9
PARTITION INTEGRATION ....................................................................................................................................10
HIGH AVAILABILITY CLUSTER INTEGRATION ......................................................................................................... 12
UTILITY PRICING INTEGRATION ........................................................................................................................... 14
APPLICATION INTEGRATION ................................................................................................................................ 15
HP WORKLOAD MANAGEMENT PRODUCT POSITIONING ......................................................................... 16
HP PROCESS RESOURCE MANAGER (PRM) ....................................................................................................... 16
HP-UX WORKLOAD MANAGER (HP-UX WLM)................................................................................................... 17
AIX WORKLOAD MANAGER (AIX WLM).............................................................................................................. 19
SOLARIS RESOURCE MANAGER (SRM)............................................................................................................... 21
WINDOWS SYSTEMS RESOURCE MANAGER (WSRM).......................................................................................... 22
LINUX WORKLOAD MANAGEMENT CAPABILITIES .................................................................................................. 23
HP Virtual Server Environment Capitalizes
on Workload Management Integration
EXECUTIVE SUMMARY
As IT managers focus increasingly on opportunities for virtualization, the issue of
workload management is becoming a major concern. Virtualization is generating
considerable interest because it has the potential to significantly improve the
utilization of computing resources. In the past, servers were often deployed to
host only a single application, which employed only a fraction of the server’s
capabilities. The remaining resources generally became “white space,” i.e. unused
resources that were rarely, if ever, drawn upon. With virtualization, users hope to
assign such resources to workloads in other parts of the organization that can
benefit from them. A core requirement for effective virtualization is workload
management, i.e. the ability to assign resources such as CPU, memory, and I/O
to applications as precisely as possible. Workload management is critical for
enabling applications to provide service levels that are most appropriate based on
business-driven policies driven by time, price, and performance.
In the HP Virtual Server Environment (VSE), administrators set up a pool of
virtual resources that workloads can draw upon when required. This allows
multiple applications with changing resource requirements to be accommodated
within a single environment. HP’s servers have the ability to deliver massive
resources, and can scale to over one hundred processors and a terabyte of
memory, thus creating some of the largest virtualized environments in the
industry. The resource management capabilities in VSE can then be used to
allocate these resources to different workloads as they are needed in response to
changing conditions.
At the heart of VSE are HP’s industry-leading HP-UX resource management
software tools. HP’s Process Resource Manager (PRM) was one of the first
resource management functions to become available for UNIX systems. HP’s
PRM allows system administrators to set policies for how the system will allocate
processor, real memory, and I/O resources to users, groups of users, and
applications. In addition, HP offers a goal-based workload management tool
called HP-UX Workload Manager (HP-UX WLM), which allows administrators
to specify service levels based on application behavior, rather than simply
specifying static allocations of resources to applications. Goal-based resource
managers start with the business goals and priorities of multiple application
workloads, and then manage workload priorities and system resources to achieve
the business objectives for all active workloads. Using a feedback loop, goal-
based resource managers adjust low-level allocations according to their impact on
the high-level goals. HP-UX WLM remains the only UNIX-based product that
allows administrators to specify workloads using Service Level Objectives
(SLOs).
Copyright 2004 D.H. Brown Associates, Inc. 1
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
HP’s Virtual Server Environment integrates the resource management functions
of PRM and HP-UX WLM with other system functions that affect application
service levels, including high availability clusters, partitions, and utility pricing
options. As a result, VSE provides users with a single workload management
infrastructure that can comprehensively manage service levels for applications.
With VSE, users no longer require separate processes to control all of the system
functions that affect application performance. Rather, VSE users have the ability
to specify an overall service level for a particular workload, and VSE will
automatically perform the necessary adjustments to other functions in order to
make sure the requirements are met. The result is a server environment that can
dynamically grow and shrink to meet the business demands of a particular
application.
All of the major system vendors, including Sun and IBM, have introduced
initiatives that promise to comprehensively address virtualization requirements.
Most operating systems now offer native resource management tools that can be
used to assign resources to applications with great precision. However, HP’s
Virtual Server Environment benefits from a number of advantages over
competitors, including the maturity of its core resource management tools, PRM
and HP-UX WLM; functional capabilities that are unique in the UNIX space, i.e.
goal-based resource management in HP-UX WLM; and the integration of
resource management tools with other key system functions, including high
availability clusters, disaster recovery options, partitions, and utility pricing
options. The net effect is a leading-edge virtualization environment that offers a
pool of resources for servers to use as they dynamically adjust to meet changing
business demands.
2 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
INTRODUCTION: WORKLOAD MANAGEMENT EVOLVES
Since the exuberance of the 1990s, when the greatest fear for many large
businesses was missing the next big technology wave, IT managers have become
concerned primarily with business fundamentals: ensuring full resource
utilization, optimizing return on investments, and maximizing profitability. While
business fundamentals have not changed, the environment in which businesses
operate has changed dramatically. To succeed in today’s world, businesses must
be able to continuously and rapidly adapt to changing circumstances: new
markets, new competition, new products, new sales channels, and the list goes
on. Since information technology plays a central, if not critical role in all
businesses, IT must be agile in order to meet the rapidly changing conditions that
characterize today’s businesses. IT must be able to adapt to meet new demands
and changing requirements without long development and deployment cycles and
without incurring large out-of-budget expenses.
With the advent of the minicomputer in the 1970s and the PC in the 1980s,
information technology became increasingly decentralized. Enterprises allowed
departments and business units to purchase technology to meet their own
requirements. With the seductively low acquisition costs of departmental UNIX
and Windows servers, business units could easily purchase these systems without
extensive financial justification or corporate oversight. Typically, for each new
application deployed, another dedicated server (usually sized to provide
acceptable performance at worst-case load) was also deployed. This
decentralization produced a vast number of servers; most were underutilized and
a few were unable to deliver acceptable service during peak overloads. Another
consequence was uneven data integrity and security as each department
determined its own policies and management procedures. This rampant server
proliferation also fueled a need for large numbers of personnel with diverse skill
sets to administer these servers.
One of the first responses to infrastructure complexity was consolidation, including
storage consolidation and server consolidation. Storage consolidation takes the
form of Network-Attached Storage (NAS) or Storage Area Networks (SANs).
These technologies place disk devices that had formerly been attached to a single
server into a pool of disks that can be simultaneously used by several servers
attached to the disk pool. When a disk drive is attached to a single server, that
server is the only one that can only use it efficiently. Even if there is unused
capacity on the drive it is difficult for applications hosted on other servers to use it,
since the drive cannot be accessed using standard file system services. Remote
access to disk drives has the further disadvantage of increasing network utilization.
Server consolidation allows multiple applications formerly hosted on several
small servers to share the processing and memory resources of a single large SMP
server. By combining workloads that experience peak usages at different times,
consolidation allows for better resource utilization. Administrative costs are also
lower since there are fewer servers to maintain. However, when administrators
try to run multiple critical applications on a single server, ensuring adequate and
Copyright 2004 D.H. Brown Associates, Inc. 3
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
consistent responsiveness in applications that were formerly hosted on their own
servers becomes a significant challenge. Further, when several departmental
servers are consolidated onto a large server, departments may demand guaranteed
resource allotments to ensure that the new computing paradigm continues to
provide the services they have come to expect. Thus, in addition to the
availability of large SMP servers, server consolidation requires ways of explicitly
controlling resource utilization.
Virtualization makes use of many of the concepts involved in consolidation as
well as many of its tools. Virtualization decouples application workloads from the
details of the hardware on which they are deployed. The services each application
provides can be tied to business results and thus prioritized. Application services
can be described in terms of acceptable response times or timely completion, as
well as the number and length of acceptable outages and other criteria. While
many of these same points can be made about consolidation, virtualization
provides a very different focus from consolidation. In consolidation, resources
are pooled and the many different pieces of work are matched to the pooled
resources. In virtualization, resources are also pooled, but the focus is on moving
the resources to the work rather than moving the work to the resources.
As business conditions change, the workload of one or more of the applications
tied to that particular business will potentially increase. In order to maintain
adequate service levels, more resources must be made available to that application.
In a fully virtualized environment, the systems themselves can match the
applications with the resources they need to provide the necessary service levels.
Ideally, the system should continuously monitor the applications against their
service level goals, and automatically adjust resource allocations to ensure that the
service levels of the most important applications are met. Several technologies can
be used to implement virtualization including: resource management software,
virtual machines, server partitioning functions, performance monitoring software,
utility pricing options, and systems provisioning capabilities. However, all of these
techniques simply make it possible to connect workloads with appropriate
resources. Higher-level functions are needed to automate the assignment of
resources so that service levels are maintained.
In this regard, HP has a significant advantage over the other vendors pursuing
virtualization solutions. HP is the only vendor that offers a goal-based resource
management tool for UNIX, which allows administrators to specify performance
goals for users and applications, rather than entitlements as most other resource
management solutions do. Further, HP’s goal-based resource manager is
integrated with other parts of the system stack that affect application service
levels, including utility pricing options, partitioning functions, and high
availability clustering software. HP calls this set of integrated functions the
Virtual Server Environment (VSE). The next section discusses how VSE’s
integration of resource management tools with other critical system functions
enables pools of resources to be deployed that can be tapped by workloads in
response to changing demand.
4 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
HP VIRTUAL SERVER ENVIRONMENT
HP’s Virtual Server Environment provides users with a single workload
management infrastructure that can comprehensively manage service levels for
applications by addressing all of the necessary components that affect those
service levels. With VSE, users no longer need separate processes to control
clusters, partitions, and utility pricing options in addition to basic resource
management tools. Rather, users specify the required service level for a particular
workload to VSE and VSE automatically performs the necessary adjustments to
other functions in order to make sure those service level requirements are met.
The result is a server environment that can dynamically grow and shrink to meet
the business demands of a particular application.
In the VSE model, administrators set up a pool of virtual resources that
workloads can draw upon on demand. This allows a number of applications with
changing resource requirements to be accommodated within a single
environment. From a hardware standpoint, HP has the ability to deliver massive
resources. HP’s servers can scale to over one hundred processors and a terabyte
of memory, thus creating some of the largest virtualized environments in the
industry. The resource management capabilities in VSE can then be used to
allocate the resources from the pool to different workloads as they are needed in
response to changing conditions.
To accomplish this properly, VSE must integrate resource management tools
with other system functions in a way that addresses the following issues:
• High-Level Metrics: When specifying service level goals, resource management
tools should allow administrators to stipulate performance requirements such
as response time or wall clock time to completion, rather than rely on low-
level metrics such as processor utilization.
• Integration with Partitioning Functions: On some servers, partitions can be used to
simultaneously run multiple instances of an operating system on a single
server. Partitions provide increased isolation between workloads so that faults
that can bring down one operating system instance will not affect workloads
running in other partitions. Partitions also allow workloads that require
different operating system versions, patch levels, or even different operating
systems to execute on the same server. Resource management tools need to
work properly when partition boundaries are dynamically changed. They
should also be allowed to trigger changes in partition boundaries to allow
critical workloads to meet their performance goals.
• Integration with High Availability (HA) Clusters: In HA clusters, when an
application fails over, it dramatically changes the workload profile of the
server it failed over to. Resource management tools should be able to make
automatic adjustments in failover situations, so that the failed-over
application, as well as the applications running on the backup server,
continues to deliver acceptable performance.
Copyright 2004 D.H. Brown Associates, Inc. 5
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
• Integration with Utility Pricing Offerings: UNIX vendors have begun to offer
customers the ability to increase the processing power of systems without
disrupting operations, usually by pre-installing processors that can be
activated as needed, for a fee. Depending upon the vendor, activation may be
required to be permanent. In some cases, activation can be temporary to
ensure adequate performance during a temporary peak. Workload
management tools need to have some way of activating COD resources
automatically, as well as tapping into the increased capacity when these
resources become active.
• Integration with Key Applications: When performance metrics are used to allocate
resources, applications must report performance data to the resource
management software to ensure that the applications are meeting their
performance goals and that resource utilization is optimized.
The following sections describe each of these aspects in greater detail.
HP-UX RESOURCE MANAGEMENT
At the heart of Virtual Server Environment are HP’s resource management
software tools, HP-UX Process Resource Manager (PRM) and HP-UX Workload
Manager (WLM). Resource management tools provide a way of managing
multiple workloads in a single server by allowing administrators to set resource
allocation policies for each application or class of user. The tools work within the
scope of a single operating system instance to allocate system resources to
different applications. Flexible scheduling policies allow resources such as CPU,
memory, and I/O to be allotted in very precise increments. Resource
management functions effectively override the operations of the default UNIX
scheduler, instead taking customized policies into consideration that can rapidly
shift resources depending on workload requirements.
Resource management tools fall into two broad classes: entitlement-based
resource managers and goal-based workload managers. HP currently has resource
management software offerings that fall into each class:
• PRM explicitly allocates processing, memory, and disk I/O resources to
applications.
• HP-UX WLM continually monitors the performance of the applications
against the goals defined by administrators. Using PRM, it automatically
adjusts resource allocations (starting with the most critical applications) to
ensure that applications meet their performance goals.
To understand the importance of these two tools in the VSE environment, it is
worth explaining the differences in more detail.
6 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
ENTITLEMENT-BASED RESOURCE MANAGERS
Entitlement-based resource managers take a bottom-up approach to managing
application performance. Different applications have different priorities – for
example, an Enterprise Requirements Planning (ERP) application affects a
business more than an employee performance evaluation application. If both
these applications are running on the same server, when the server is busy, the
ERP application should receive a larger portion of the available system resources
than the performance evaluation application since it is more important to the
business. Entitlement-based resource management products ensure that
applications receive resources commensurate with their business importance.
With entitlement-based resource managers, system administrators allocate
resources to applications based on the importance of a particular application to
the business. Administrators write policies that specify resource percentages or
allocate resource shares for different users, groups, or applications. The
workload’s significance to the business controls the amount of resources it
receives.
At each resource allocation cycle, an entitlement-based resource manager
determines which workload or group of users should receive resources based on
the resource allocation policies and how resources have been recently allocated.
Of course, in many cases there will be no contention for resources; in this case
resources are supplied whenever there is a demand. On a busy system, over a
short period of time, an entitlement-based resource manager will ensure that each
workload receives resources according to the established policies (see Figure 1).
Figure 1: Entitlement-based Resource Management
FIGURE 1
Entitlement-Based Application/User Demands Manager Dynamically
Resource Resources from the System Allocates System Resources
Management
Entitlement-Based
Entitlement-Based
Application 1 Resource Manager
Compares New
Application Workload
Application
with Admin-Defined
with
Application 2 Allocation Policies
Allocation
Entitlement-based resource managers control application performance by
enabling an administrator to explicitly allocate resources to the different
applications or workloads.
Copyright 2004 D.H. Brown Associates, Inc. 7
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
There are two mechanisms that are used to specify the amount of processing or
memory resources each workload receives: percentages and shares. Using shares
rather than absolute percentages allows the system to dynamically adjust the
amount of resources each active group receives based on the current workload.
The system calculates the total shares represented by the active jobs and then
calculates each group’s shares as a percentage of this total. It then assigns a
resource percentage to each class based on the share percentage. In this way, the
system can automatically adjust resource utilization as the system workload
changes. When resources are allocated according to flat percentages,
administrators must adjust those percentages as work enters and leaves the
system to ensure that they do not add up to more than 100%. Requiring
administrators to continuously adjust resource percentages to ensure full system
resource utilization undermines the management benefits of moving to a
consolidated server.
All of the current UNIX entitlement-based resource managers use the shares
method of allocation. However, using shares to allocate processing resources also
has some drawbacks in that it can produce wide performance fluctuations. For
example, say a design application receives one hundred shares of processor
resources. If it is the only application that is running, the resource manager will
let it have 100% of the processor resources. However, when an ERP application
with two hundred shares of processor resources starts, the resource manager
would reallocate the resources: The ERP application would get 67% of the
processing resources and the design application would get 33% of the processing
resources. The users of the design application would see a drastic drop in
performance.
“Capping” – where an administrator has the ability to specify an upper limit on
the amount of a resource an application can use – offers one way of mitigating
this effect. In the above example, if an administrator capped the processing
power that the design application could use to 50% of the system total, when the
ERP application was not running users of the design application would notice
that they received better service, but not drastically different.
All of the current UNIX entitlement-based resource managers also provide the
ability to cap the use of physical memory. This ensures that a single user or a
process with a memory leak cannot monopolize system memory and starve other
processes and users. In addition to capping memory usage, some entitlement-
based resource managers provide the ability to guarantee an application a
minimum amount of physical memory. This capability ensures an application’s
responsiveness, since there will be no time when the entire application must be
paged in from disk.
GOAL-BASED WORKLOAD MANAGERS
Goal-based workload managers take a top-down approach to managing
application performance. Different applications and workloads have different
8 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
business objectives. These objectives translate into requirements for interactive
response times or batch turnaround times. For example, a payroll process must
be completed in a certain amount of time to pay employees on time and avoid
regulatory fines. e-Retailers represent a different scenario, in which catalog
database transactions must complete within a response-time window to ensure a
satisfactory user experience.
With goal-based workload managers, administrators specify the priority of each
workload and its performance objectives, called Service Level Objectives (SLOs)
in HP-UX WLM. Goal-based resource managers actively monitor the
performance of the applications running on the system in relation to their goals.
They continuously adjust resource allocations, starting with the highest priority
applications or workloads, to ensure that they meet their performance objectives.
With a goal-based workload manager, administrators no longer have to monitor
application performance and update resource allocations to ensure that the
applications meet their performance targets as the workload mix changes.
Applications must report performance metrics to a goal-based workload manager
for it to operate effectively. There is a continuous feedback loop between the
actual performance of the applications and the allocation of resources (see Figure
2). Applications can be instrumented to report detailed performance information
or dummy transactions can be used to estimate response times. The monitoring
agent collects the actual performance value, which the workload manager uses to
determine whether the specified goal is being achieved. If an application’s
performance is not meeting its requirements, and it has sufficient priority, the
workload manager will automatically allocate more resources to it.
Figure 2: Goal-Based Workload Management
FIGURE 2 Agent Monitors Agent Reports Manager
Goal-Based Application
Specific Application Performance to Autom atically Allocates
Automatically
Workload Performance Metrics
Performance Workload Manager System Resources
Management
Application 1 Goal-Based
Workload Manager
Compares Actual
Performance
Application 2
with Predefined Goals
Goal-based workload managers are superior to entitlement-based systems in
terms of aligning IT to business goals. In the goal-based approach to resource
management, the resource manager actively monitors the performance of the
Copyright 2004 D.H. Brown Associates, Inc. 9
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
applications and automatically allocates resources to ensure that the applications
meet their performance goals. It should be noted that a goal-based resource
manager uses an entitlement-based resource manager for resource allocation.
Goal-based resource managers potentially have a steeper learning curve due to
their need to instrument applications so that they report performance data to the
workload manager. However, with some goal-based tools such as HP-UX WLM,
it is possible to use proxies for application performance that do not require
extensive instrumentation of the application itself. These include CPU utilization
by an application (as reported by the operating system) or policies (i.e., based on
criteria such as time of day) to simplify the specification of performance goals.
With the ability to automatically adjust resource utilizations so that the most
critical applications meet their performance goals, a goal-based resource manager
such as HP-UX WLM provides the underpinnings of a virtualized server
environment, where the supply of resources is automatically adjusted to meet the
demand for services.
PARTITION INTEGRATION
As we have seen, resource management tools can be used to allow multiple
applications to run on a single server. However, if one of these very large servers
experiences a failure that crashes the operating system, all the applications are
lost, at least temporarily, and the impact on the business can be devastating.
Furthermore, since there are typically multiple software components associated
with a modern application, the probability of such a devastating failure occurring
increases as more applications are hosted in a single operating system instance.
Partitions help to overcome this risk by allowing a single large server to be
divided into several smaller servers, each running its own version of the operating
system. Each operating system instance behaves as if it were running on its own
server. An administrator sets up each partition with a subset of the processors,
memory, and I/O adapters. Thus, the single large server now behaves as a
number of smaller servers. Although each operating system instance must be
separately managed, the entire environment, i.e., all partitions, can be managed
from a single point. A failure in one partition, however, leaves the other
partitions unaffected.
In addition to improving overall system robustness, partitioning allows
applications that run on different versions of an operating system or that require
different patch levels of an operating system to be run simultaneously on the
same server. In some cases, if the underlying hardware can support different
operating systems, each partition may be capable of running a different operating
system. One of the advantages of the HP Integrity family of Itanium-based
servers is that the underlying hardware is capable of supporting HP-UX (HP’s
premier UNIX operating system), Linux, and Windows 2003. Thus, if there are
changes to the mix of applications along with the operating systems that support
them, an Integrity server can still be used: it would simply be configured with a
different operating system, maximizing the lifetime of the hardware investment.
10 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
There are several mechanisms available for partitioning servers and in some
instances different partitioning methods can be used simultaneously within the
same server.
• Hardware-based partitions provide the most protection between different
operating environments by maintaining complete electrical isolation. A
hardware failure in one partition – a failure that would have taken down an
entire server without partitioning – will still allow other partitions to continue
to operate. With hardware-based partitions it may be possible to perform
server repairs by isolating the components to be repaired into their own
partition. Applications can still be run in the other partitions. The primary
drawback to hardware partitioning is that reconfiguring some types of
hardware partitions requires a reboot of the changed partitions. Also,
hardware-based partitions may work at the granularity of a single system
board, which can have four to eight processors. This potentially wastes
resources in workloads that do not exactly match the count of processors on
a board.
• Software-based partitions provide greater flexibility in terms of granularity,
supporting operating environments that run on a single processor or on even
less than a single processor. Also, it is easier to change the boundaries of
software-based partitions without rebooting any of the partitions involved.
However, there may be single points of failure, typically hardware failures that
bring down more than one partition.
• Firmware-based partitions use a hybrid of both approaches in an attempt to
provide greater isolation between partitions with the flexibility of software-
based partitions.
Because of the potential for partitions to be resized dynamically (which
fundamentally affects the behavior of the workloads running within the affected
partitions), workload management tools must be aware of partitioning. Partition
resizing is often used to accommodate daily business activities. Thus, a single
server might host several departmental systems by day, with each running in its
own partition, and then at night be reconfigured into a single central database
partition that runs batch jobs and backups. In the morning, the server would
once again be set up to support the departmental systems. When this happens the
workload management tools have to be able to support the different modes of
operation, depending on how the partitions are configured. The correct resource
management configuration needs to be deployed automatically in response to the
changing of partition boundaries. Note that the resource management tool
reconfigures resources, but does not deploy different operating system images.
That role is left for provisioning tools, such as HP’s Utility Data Center.
With VSE’s integration of HP’s policy-based workload management software
(HP-UX WLM) with the hardware and software partitioning capabilities of the
HP 9000 and Integrity servers, a single server can be divided into a pool of virtual
servers and each virtual server can grow or shrink based on the SLOs and
Copyright 2004 D.H. Brown Associates, Inc. 11
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
priorities of the applications it hosts. HP supports three types of partitions on
different server models:
• pSets, also called resource groups or resource partitions, are isolated sets of
processors and memory within a single operating system instance.
• Hard partitions. nPartitions, also called node partitions, are hardware
partitions based on cell board boundaries (four or eight processors on a cell
board depending upon which processor is being used) and memory.
• Virtual partitions (vPars), only available on PA-RISC-based servers today, are
software partitions. It is possible to have vPars within an nPartition.1
HP-UX WLM can be used to automatically increase the number of processors in
any type of partition if a workload requires additional CPU resources. When
pSets are being used, WLM can add processors to the pSet if the workload it is
hosting is of sufficiently high priority and it is not meeting its SLOs. HP-UX
WLM is also integrated with the mechanism that manages vPartition boundaries,
and it can automatically balance the processor resources between vPartitions in
order to satisfy the needs of the separate workloads. That is, if the applications
running in a vPartition require additional resources to meet their service level
goals, and there happens to be processors available in a neighboring vPartition
that is either underutilizing its resources or has a lower priority, HP-UX WLM
will automatically move processors to the vPartition that needs them.
Finally, WLM can also move processors between nPartitions. If instant Capacity
on Demand (iCOD) software is configured on each nPartition, WLM can turn
off an iCOD processor in a partition that is hosting lower priority applications or
underutilizing its allocated resources. Then, WLM can turn on an iCOD
processor in a partition that is not meeting its SLOs. This in effect moves a
processor between hardware partitions without incurring additional charges. Of
course, WLM can also alert an administrator to turn on an iCOD processor,
incurring additional charges, based on a workload not meeting its SLOs. (This
will be described later in the paper.)
HIGH AVAILABILITY CLUSTER INTEGRATION
High availability clusters reduce application or service outages by using two or
more servers or hard partitions to support failing over the application
environment from one server to another. Should an event in one server cause an
application to cease executing, the application can be restarted or recovered
rapidly on another server. In addition, automatic failback – the ability to return
applications to the server on which they were originally executing once the failed
server is returned to the cluster configuration – is also an option. Clusters are also
used to eliminate the extended downtime associated with planned outages (such
as those required to upgrade software or effect repairs), since clustering software
allows an administrator to shift workloads from one server or one virtual server
1 HP plans to introduce virtual machine technology for its Integrity servers that will allow multiple partitions to be
deployed per CPU, increasing the granularity at which resources can be assigned to partitions.
12 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
to another on command. Usually, moving a single-instance application from one
server to another will cause a little downtime (often a minute, possibly less).
However, this time is minimal compared to the time it takes to upgrade software,
patch a system, etc.
A cluster consists of a number of servers, called nodes, linked together through a
private network. Special clustering software monitors the health of the servers
and applications. When a failure is detected, the cluster software must decide
whether to attempt a local recovery of the application or to initiate a failover to
another server. Failovers, whether to one node or multiple nodes, can have a
huge impact on the workloads of the backup nodes. In high availability clusters,
backup nodes have traditionally run at a fraction of their potential capacity, since
they had to be prepared to absorb the workloads of failed nodes. However, this
method of accommodating to a changing workload makes less than optimal use
of datacenter resources. A better alternative is to spread non-critical work over
several nodes in the cluster. Thus, if a cluster node must take on the work of
another node, there are applications that can be jettisoned or whose performance
can be sacrificed so that the critical applications still meet their SLOs. Since a
cluster node failover can have such a dramatic impact on the workloads of other
nodes in the cluster, workload management tools need to be aware of when a
failover has occurred and be able to adjust resource allocations to handle the new
workload mix. Once the primary node recovers and its applications fail back, the
workload management tools running on each node need to return to their
original settings.
HP offers a high availability clustering solution called Serviceguard for servers
running either HP-UX or Linux. Serviceguard is also a component of the HP-UX
Mission Critical Operating Environment. When HA clusters such as Serviceguard
are deployed, failover events dramatically change the workload profile of the
backup server that applications move to. HP’s Virtual Server Environment
provides a particularly elegant solution for managing application performance
following such a failover. With HP-UX WLM, it is possible for an administrator
to define more than one SLO for each workload. When a server is a backup node
for one or more applications running in a cluster, the administrator can set up
additional SLOs for each application that normally runs on the server: one set of
SLOs for normal operation and one set of SLOs for backing up a node that has
failed. All the administrator has to do is set a condition within the SLO that the
failed over application is running on the server. WLM includes a utility that
generates a metric that can be tested to indicate whether a specific application is
running. This mechanism ensures that resources are allocated to meet the SLOs
of the most important workloads at all times: both when the server is operating
normally and when it is providing backup for a failed server. HP-UX WLM will
allocate the necessary resources to handle the additional workload at the time a
failover occurs; it can automatically revert to the original SLO when the added
workload fails back to the primary server.
Copyright 2004 D.H. Brown Associates, Inc. 13
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
UTILITY PRICING INTEGRATION
Adaptive enterprises must match the computing resources on hand with the
demand for services and do so while minimizing costs. There will be times when
shifting processing power from less critical applications (or applications that are
currently experiencing low usage) to critical, high-demand applications will no
longer suffice to meet the service level requirements of the most crucial
applications. Alternatively, the business may grow to the point where it regularly
exceeds the capacity of the IT resources on hand. When this happens, utility
pricing options allow datacenters to increase the size of the resource pool and to
do so without disrupting ongoing operations.
Capacity on Demand (COD) offerings can provide either permanent capacity
upgrades or temporary capacity upgrades. In either case, COD programs involve
the purchase of fewer resources, usually processors, than are actually installed in
the system, introducing a distinction between the actual physical configuration
and what the purchaser is licensed to use. These extra resources remain idle until
more capacity is needed. For permanent increases in capacity, users will purchase
additional right-to-use licenses and the appropriate number of additional
processors will be activated by the operating system and added to the permanent
resource pool.
Temporary COD works like a telephone calling card: Processors can be activated
and turned off at will to the limit what was purchased. With temporary COD
options, users will typically purchase a certain amount of excess capacity –
typically a number of processor hours (a processor hour is one hour of use per
processor) that can be used at will. Temporary COD programs are particularly
attractive for addressing the wildly fluctuating workloads of e-commerce web
applications or in HA or disaster tolerant environments.
HP offers the broadest set of COD offerings in the industry. HP offers instant
Capacity on Demand (iCOD) for its eight-socket and larger PA-RISC and
Itanium-based servers and HP is the only UNIX vendor to offer Temporary
instant Capacity on Demand (TiCOD). The TiCOD program allows users to
purchase additional capacity in thirty-CPU-day increments where a CPU day
equals 24 hours of single CPU use. Multiple additional CPUs can be turned on or
off at will and users have three years in which to use the license. HP also offers
cell board iCOD where users can purchase additional cell boards with processors
and memory that can be activated when needed, thus increasing the resource
pool of both processors and memory.
The HP-UX Workload Manager software is integrated with HP’s iCOD
mechanisms. As noted earlier, HP-UX WLM will first try to meet the SLOs of
the most critical applications by moving processors from lower priority
applications or from areas where processing resources are underutilized. Only
when such attempts prove unsuccessful will WLM notify an administrator of the
fact that critical applications are no longer meeting their service goals. The
administrator can then determine whether to activate iCOD processors to meet
14 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
the processing demands, since doing so incurs additional charges. Thus, the
decision to incur additional charges is left to an administrator. By activating -
iCOD processors, critical workloads can continue to deliver to their SLOs. When
load thresholds are reduced, the “borrowed” resources can be returned.
Permanent COD resources can be requested when workloads repeatedly do not
meet performance objectives. With TiCOD, HP-UX WLM can automatically
activate and deactivate processors immediately.
APPLICATION INTEGRATION
As noted previously, one of the primary drawbacks to using a goal-based
resource manager is the requirement that it must be provided with real-time
application performance data. There are several methods of supplying HP-UX
WLM with usage data, which may include the amount of processing resources a
workload is using, and the amount of time it requires for transactions to
complete. Goal-based resource managers achieve the best results if they have
some knowledge about where the applications themselves are consuming
transaction time and demanding resources. Thus, HP offers several toolkits for
WLM that provide instrumentation for commonly used business applications.
For example, the Oracle Database Toolkit provides the ability to keep response
times for transactions below a given level; increase processor resources when a
particular user connects; and increase processor resources when there are more
than a certain number of users. The WLM BEA WebLogic Server Toolkit allows
CPU allocations to be automatically increased based on the length of queues for
each server instance or the CPU usage. HP also supplies a Duration Management
Toolkit (DMTK) that analyzes the progress that an application has made toward
completion. An administrator can specify how long an application should run and
the DMTK analyzes the progress of the application against the amount of time to
completion. HP-UX WLM will then adjust processing resources to ensure that
the application completes on schedule. The DMTK is particularly useful for
ensuring that batch workloads complete as required. HP has made enhancements
to the DMTK specifically for SAS users in the WLM SAS Toolkit. HP also
supplies WLM Toolkits for Apache and SNMP.
HP now extends the concept of the WLM Toolkits to provide HP Virtual Server
Environment Quick Start solutions for BEA WebLogic Server and Oracle
databases. Quick Start solutions allow enterprises to achieve faster time to
deployment since the infrastructure components are pre-tested and qualified to
reduce design, test, installation, and integration time.
Copyright 2004 D.H. Brown Associates, Inc. 15
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
HP WORKLOAD MANAGEMENT PRODUCT POSITIONING
As user interest in virtualization continues to grow, workload management
function becomes an ever-important area of differentiation for operating systems.
The integration of resource management tools with functions such as
partitioning, high availability clustering, and COD can provide an environment
that maximizes resource utilization; consistently delivers the needed service levels
for the most critical applications; allows systems to rapidly adapt to changing
requirements with minimal human intervention; and operates with high
availability. This section describes the native workload management solutions for
some of the leading operating systems available today, and reviews their
integration with other virtualization features.
All of the leading systems vendors have defined high-level initiatives to deliver
architectures that enable virtualization. The HP program to achieve these goals is
called the Adaptive Enterprise, of which Virtual Server Environment is a key
component. IBM’s On Demand program and Sun’s Services on Demand espouse
goals similar to those of the HP Adaptive Enterprise. However, neither IBM nor
Sun have yet capitalized on the full capabilities of integrated resource
management software in delivering their respective solutions. Further, both the
IBM and Sun products are relatively new, and have not been through the crucible
of extended use in a variety of demanding environments. HP’s Virtual Server
Environment uses time-tested products and services that are combined in
innovative ways to meet the needs of today’s constantly changing business
conditions.
HP PROCESS RESOURCE MANAGER (PRM)
HP has offered entitlement-based resource management functions in HP-UX for
several years with its Process Resource Manager (PRM) add-on. PRM is a
component of both the HP-UX Enterprise and Mission Critical Operating
Environments. HP-UX PRM allows administrators to guarantee a group of
applications or users a minimum amount of processor resources, physical
memory, and disk I/O bandwidth on a heavily used system.
Using PRM, the system administrator identifies resource groups called PRM
groups. Each PRM group is a conceptual partition of the system’s resources.
Each PRM group gets a share of the total processor resources and can also
obtain shares of disk I/O bandwidth and physical memory. The system
administrator attaches applications to PRM groups and provides a set of rules
that will classify users into PRM groups.
A PRM group can also be defined to be a specific number of processors called a
pSet, also be called a resource group or resource partition. pSets provide an ideal
environment for running applications that directly manage their own resources as
opposed to using the operating system resource allocation functions. Database
management systems and web application servers are prime examples of this type
16 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
of application. Using pSets allows these applications to be consolidated on a
single server along with other applications.
PRM’s resource allocation policies can be written in a hierarchical manner to
allow for extremely granular control. To further control application behavior
administrators can specify a minimum resource allocation or alternatively, they
can cap the use of a resource. When the system is at 100% usage, each PRM
group is guaranteed to receive its allocated share of processor resources. On a
busy server, the PRM scheduler will direct the HP-UX scheduler to the PRM
group from which it should schedule the next process. Within each PRM group,
HP-UX uses its normal scheduling process.
PRM provides all of the expected functions of an entitlement-based resource
manager. It also provides the resource allocation mechanism for HP’s goal-based
resource manager, HP-UX WLM.
HP-UX WORKLOAD MANAGER (HP-UX WLM)
In conjunction with PRM, HP also offers a goal-based workload management
tool called HP-UX Workload Manager (HP-UX WLM) for its HP 9000 and
Integrity servers running HP-UX. It is the only goal-based resource manager in
the industry for UNIX systems. HP-UX WLM allows an administrator to
prioritize the importance of each application or workload; set distinct goals or
SLOs for how the workload should perform; and specify conditions under which
these goals apply. Conditions can include the time of day or days of the month
when SLOs should be enabled. SLOs can also be enabled on the occurrence of a
system event, such as when a specific application is running. Each SLO also
specifies a minimum and maximum processor allocation that the workload can
receive in order to meet its goals. Using WLM administrators are allowed to
specify multiple goals for an application or workload such as must-meet criteria
and stretch goals; or different goals based on exactly what other applications are
actually running on the server. WLM automatically adjusts the PRM processor
resource allocations to ensure that the highest priority workloads meet their
SLOs.
HP-UX WLM supports two types of SLOs: share-based and goal-based. Share-
based SLOs simply specify that an application or workload is to receive a certain
proportion of the server’s processing resources. The share size varies according
to percentages, whereby the smallest granularity is 1/100 of the server’s process
resources. Goal-based SLOs can have either metric goals or usage goals. Metric
goals are used to specify actual performance: Can the application process one
hundred transactions per minute or provide a response in less than two seconds?
Usage goals describe how the application or workload is using its allocated
processing resources. If the processes in a workload group are using less than a
certain amount of the group’s allocation, the allocation will be reduced. On the
other hand if the processes are using a large percentage of their current
allocation, WLM will try to increase the allocation. Share- and metric-based goals
Copyright 2004 D.H. Brown Associates, Inc. 17
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
can be combined so that each user or each active process in a workload receives a
fixed share of processor resources up to the maximum configured limit.
When goal-based SLOs are used, either real-time application performance data or
a proxy such as CPU utilization is reported to WLM. HP-UX WLM also can
operate via policy, such as time of day. Since WLM tracks usage data, there are no
additional reporting requirements when usage goals are used. For metric goals,
HP supplies instrumentation for several frequently used applications including
Oracle databases, Apache, BEA WebLogic Server, and SAS. Metric data from
Glanceplus, the performance monitoring and diagnostic tool for HP-UX can also
be used for tracking application performance. In addition, HP supplies a
Duration Management Toolkit (DMTK) that analyzes the progress an application
has made toward completion and adjusts processing resources to ensure the
application completes on time. For new applications being developed, HP
promotes the use of the Application Response Measurement (ARM)
management standard to report detailed performance information. For existing
and off-the-shelf applications with no instrumentation, administrators can use
dummy transactions or a proxy to estimate application performance.
WLM compares the actual performance of a workload to its goals and if
necessary, and possible, makes adjustments to the processor allocations in PRM.
The highest priority workloads will receive processor allocations up to their
predefined maximum allotments. Since WLM is integrated with other HP
virtualization technologies, there are a variety of other responses that WLM can
take if it is still not possible to meet the SLOs of the highest priority workloads.
These include adding processors to pSets; moving processors from one partition
to another for both virtual partitions (vPARs) and node partitions (nPARs), and
suggesting the activation of iCOD resources.
HP-UX WLM is also integrated with HP’s high availability clustering software,
Serviceguard, and the Serviceguard extensions that provide disaster tolerance.
WLM is able to automatically adjust workload priorities and resource allocations
on backup servers in a cluster after a failover.
HP-UX WLM and its integration with HP’s partitioning continuum, best-of-
breed COD offerings, and high-availability cluster software create the HP Virtual
Server Environment (VSE) where virtual servers can expand and contract in
response to shifting demand. VSE provides an environment that maximizes
resource utilization, delivers services consistently and to defined service levels,
and does so automatically without extensive human intervention. Later this year,
HP plans to introduce Global Workload Manager (gWLM), an extension to HP-
UX WLM. gWLM will be able to manage resources on multiple, heterogeneous
servers over the network, so that users can view multiple HP servers as a single
pool of resources. In addition to HP-UX system resources, gWLM will be able to
manage resources in Linux systems.
18 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
AIX WORKLOAD MANAGER (AIX WLM)
IBM is planning to introduce virtualization technologies across all of its server
and storage platforms under the banner of the IBM Virtualization Engine as a
key component of its On Demand program. Currently IBM’s largest servers, the
p690s, are just a fraction of the size of HP’s largest Superdome servers: 32
processors as compared to 128 processors. Realistically there are fewer virtual
servers that can be hosted on a 32-way server than on a 128-way server.
Furthermore, IBM’s COD offerings are somewhat limited in comparison to
HP’s. First, utility pricing offerings are only available on the high-end 16- and 32-
way servers. Second, there are no pay-per-use or temporary COD offerings. By
contrast, HP’s COD programs allow users to purchase servers where additional
capacity can be distributed across multiple cell boards. This endows each
potential virtual server with a pool of excess capacity that it can draw upon
should the need arise. This capacity can be turned off as well as turned on.
IBM includes its workload manager, AIX WLM, in the base operating system.
AIX WLM uses the traditional entitlement approach associated with most
resource management tools. AIX WLM can allocate CPU cycles, real (physical)
memory, and disk I/O bandwidth. Administrators define entities called classes
and specify rules by which incoming work is assigned to these classes.
Applications, users, or groups can be specifically assigned to a class or excluded
from a class. An AIX WLM class can also be defined as a set of processors so
that the jobs associated with that class only run on the dedicated processor set.
Each AIX WLM job class receives processor, real memory, and disk bandwidth
shares that are used to determine actual resource entitlements. Disk I/O
bandwidth allocations are calculated separately for each physical disk drive. To
simplify the configuration of different resource allocation policies based on the
time of day or day of the week, AIX WLM allows administrators to specify the
time ranges they want resource entitlements and application classification rules to
apply to. Administrators can create several WLM configuration files that
correspond to different usage situations and then change the entire AIX WLM
configuration from one configuration file to another while AIX WLM is running.
In addition to specifying job classes with resource allotments, administrators can
assign upper and lower limits to each class. These limits are specified as a
percentage and represent the absolute maximum and minimum amount of a
resource that a class should consume. Upper limits can be hard limits, which
cannot be exceeded, or soft limits if there is no contention for the resource. Since
limits take precedence over targets, they can be used to guarantee certain levels of
resource consumption for key classes. AIX WLM also provides the ability for
administrators to configure a specific action to occur when a class reaches its
resource limit, such as running a script or notifying the system operator.
Administrators also have the option of prioritizing WLM classes by placing them
into tiers. The resource targets for all WLM classes in a higher tier are satisfied
before any resource is provided to the WLM classes in a lower tier. The ability to
Copyright 2004 D.H. Brown Associates, Inc. 19
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
place classes into tiers allows administrators to decouple an application’s priority
from its resource allocation.
AIX supports logical partitioning, called LPARs, implemented in microcode, on
most of its POWER4-based servers (the only exception is the low-end dual-
processor server). LPARs can run either AIX 5L or Linux and can be as small as
a single processor, 256 MB of memory, and a single I/O adapter. They can be
dynamically reconfigured without requiring a system reboot. When AIX WLM
runs in a logical partition, it will make the appropriate adjustments when LPAR
resources are added or removed.
IBM’s Capacity Upgrade on Demand (CUoD) program is somewhat limited in
comparison to HP’s in that it only activates additional processors on a permanent
basis. Further, it is limited to the high-end pSeries models: the pSeries 670 that
scales to sixteen processors and the pSeries 690 that scales to thirty-two
processors whereas HP’s program is available on eight-socket models. AIX WLM
will make the appropriate adjustments when CUoD processors are activated.
IBM plans to increase the resource management capabilities of its UNIX servers
in the near future. IBM announced a new initiative called the Virtualization
Engine across all its server lines and storage products. This new initiative was
announced in conjunction with the announcement of the first POWER5-based
servers for the iSeries, IBM’s proprietary midrange family of servers. POWER5-
based servers in both the iSeries and pSeries (UNIX) will use the same hardware:
processors, memory, and I/O adapters. The new POWER5-based iSeries servers
will also be able to run AIX within a partition.
The IBM Virtualization Engine consists of two components: the Virtualization
Engine systems technologies and the Virtualization Engine systems services. The
Virtualization Engine systems technologies that are enabled by the POWER5
Hypervisor include:
• Dynamic partitions at the sub-processor level (as small as 1/10 of a
processor). Processors can be shared between partitions based on business
policies.
• Virtual Ethernet, which allows partitions to communicate with each other
through a virtualized network without requiring the use of physical Ethernet
adapters.
• Virtual I/O, which allows I/O resources such as disk and tape to be shared
between partitions.
IBM plans to introduce a set of Virtualization Engine systems services during the
second half of 2004. Among the new offerings is the Enterprise Workload
Manager, which is a global workload management framework that is designed to
allocate resources across multiple application tiers and platforms. It will allow
administrators to identify work requests based on service class definitions and
track the performance of those requests against their goals. It will use the
20 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
Application Response Management (ARM) standard to track application
performance and the Tivoli Provisioning Manager to allocate resources within the
scope of a single tier as well as platform-specific resource managers such as AIX
WLM.
SOLARIS RESOURCE MANAGER (SRM)
The Solaris Resource Manager (SRM), a bundled component of the Solaris 9
Operating Environment, is a work in progress. The Solaris 9 SRM is a new piece
of software quite different from the Solaris Resource Manager software available
as an unbundled component in Solaris 2.6, Solaris 7, and Solaris 8. In fact, users
who upgrade to Solaris 9 are required to convert their existing resource
management procedures to those of Solaris 9. The Solaris 9 Resource Manager is
a key piece of Sun’s N1 Grid Containers, Sun’s vision of a virtualized datacenter
environment. N1 Grid Containers are planned for availability with Solaris 10 later
this year.
The Solaris 9 Resource Manager as well as the previous version uses the
traditional entitlement approach associated with most resource management
tools. Since SRM has been designed as part of a larger framework, as a standalone
software component it has limited capabilities compared to HP-UX PRM. Using
SRM, administrators can allocate processing resources to applications or users by
assigning them shares. It can also cap the use of physical memory, although it will
only do so when the entire system exceeds a predefined memory usage
percentage called the Memory Cap Enforcement Threshold.
Sun was the first UNIX server vendor to offer partitioning capabilities on its
large servers with its Dynamic Domains. Sun’s midrange and high-end servers
support Dynamic Domains, which are “bulletproof” hardware partitions on cell
board boundaries akin to HP’s nPartitions. Cell boards have four processors that
can provide four threads of execution with UltraSPARC III processors or eight
threads of execution with UltraSPARC IV processors. In addition, it is possible
to dynamically change the size of the domains. Sun’s more affordable lineup of
small and midrange servers do not provide hardware partitioning capabilities.
Using SRM, administrators can create resource pools containing processing
resources, physical memory, and I/O devices that are logically isolated from each
other. A resource pool can be reserved for exclusive use by an application or set
of applications. Administrators can also define resource pools that are shared.
Thus, it is possible to define a resource pool that only has processors. Processes
executing in that resource pool use only its processors but use memory that is in
a shared memory pool. Solaris 9 offers several different schedulers including a
real-time scheduler, the standard UNIX time-sharing scheduler, and the fair-share
scheduler that was introduced with the original Solaris Resource Manager. An
administrator has the option of specifying which scheduler is used within a
resource pool. The fair-share scheduler (FSS) allows an administrator fine-grained
control of processing resources. Using FSS, an administrator can allocate a share
of the total processing resources to each process that runs within the resource
Copyright 2004 D.H. Brown Associates, Inc. 21
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
pool. As with other share-based resource allocation methods, the actual
percentage of the resources the application receives is the amount of its shares as
a percentage of the total shares of the applications that are running.
Sun has started releasing Beta test versions of Solaris 10 that include its
virtualization offering, N1 Grid Containers, which is designed to combine the
best aspects of resource management and partitioning approaches. Like
partitions, N1 Grid Containers provide workloads with a private set of resources
that are protected from each other. However, N1 Grid Containers use only a
single copy of the Solaris operating system that is shared by all containers. While
this approach simplifies server operation, it imposes severe limitations in that the
multiple virtual servers can be disabled by the same failure. Even if the
applications themselves cannot cause an operating system failure (which in itself
is a big assumption) a failure of the server hardware can. Additionally, all
“partitions” must run the same version and the same patch level of the operating
system. Although each container can vary in size depending upon the current
workload, the mechanisms that control the size of the containers are similar to
HP-UX WLM usage-based goals. There is no attempt within the new version of
Solaris to provide metric-based goals such as ensuring that response times remain
less than a specified maximum amount.
WINDOWS SYSTEMS RESOURCE MANAGER (WSRM)
With the introduction of Windows 2003, Microsoft introduced the Windows
System Resource Manager (WSRM), which allows administrators to control
processor and memory resource allocation to applications, services, and
processes. WSRM is an entitlement-based resource manager available on
Windows Server 2003 Enterprise Edition and Datacenter Edition. As first-
generation resource management software, WSRM has limited capabilities in
comparison to HP-UX PRM and the other UNIX entitlement-based resource
managers.
WSRM groups applications into two classes: managed and unmanaged.
Unmanaged processes have the highest priority and can consume as many
resources as they need. When WSRM is installed it creates a system-defined
exclusion list that consists of operating system-related processes. This list cannot
be modified. Administrators can create a user-defined exclusion list that allows
them to exclude other processes from WSRM management. WSRM then
manages the processor resources that are not being consumed by the unmanaged
processes.
Using WSRM, processor resources can be allocated in two ways: by allocating a
percentage of the CPU resources to a process or by assigning processes to run on
one or more specific processors (processor affinity). Resource allocation limits
are strictly enforced by WSRM only when there is resource contention.
22 Copyright 2004 D.H. Brown Associates, Inc.
HP Virtual Server Environment Capitalizes on Workload Management Integration
August 2004
WSRM allows administrators to control two aspects of memory use by a process:
the working set size, which is a subset of the process’s virtual pages resident in
physical memory; and the committed memory size, the physical memory space
reserved on the disk paging file in case the contents of memory must be written
back to disk. When a process’s working set size reaches its limit, WSRM initiates
paging of its working set. When a process consumes more than the allocated
amount of committed memory, WSRM can either terminate the process or log an
error in the system event log. Note that both memory allocation mechanisms in
WSRM work to ensure that a process will not exceed its memory allocation.
There is no mechanism in WSRM to ensure a minimum physical memory size for
any process.
WSRM uses a process-matching mechanism to group processes together. Each
group is then assigned to a resource allocation policy that sets the system
resource limits for that group. When a resource-allocation policy controls a group
of processes, rather than a single process, the allocated processor resources are
divided equally among the processes in the group. Memory resources, on the
other hand, are allocated on a per-process basis to each matched process within
the group.
WSRM has a calendar function that allows automatic activation of different
resource allocation policies based on a predefined schedule. Resource allocation
policies can be entered in the calendar to run once, or on a regular basis.
Although Windows Server 2003 can run on hardware that supports physical
partitioning, Windows Server 2003 is not able to reconfigure CPUs or memory
online. Therefore, all affected partitions must be rebooted to make changes in
partition configurations.
LINUX WORKLOAD MANAGEMENT CAPABILITIES
The enterprise-class Linux distribution from Red Hat is still based on the Linux
2.4 kernel and includes no capabilities to provide any application, class of
applications, or users with a higher level of service. SUSE recently introduced a
distribution based on the Linux 2.6 kernel called SUSE Linux Enterprise Server 9
(SLES 9). SLES 9 includes support for Class-based Kernel Resource
Management (CKRM), which introduces some resource management capabilities
by allowing system administrators to define classes as well as the number of
shares of each resource a class should receive. Currently, the resources that are
under consideration for differentiated services are processors, physical memory,
disk I/O, and inbound network bandwidth. CKRM allows system administrators
to define classes (which are dynamic groupings of tasks with a common
performance goal) and then allocate shares of each resource to those classes. The
Linux 2.6 kernel also introduces support for CPUSETs, a mechanism based on
lightweight objects in the kernel that enables users to partition multiprocessor
machine by creating execution areas.
Copyright 2004 D.H. Brown Associates, Inc. 23