Browse Prior Art Database

Virtual Machine Resource Manager (VMRM) virtualization inventions Disclosure Number: IPCOM000016397D
Original Publication Date: 2003-Jan-03
Included in the Prior Art Database: 2003-Jun-21
Document File: 3 page(s) / 102K

Publishing Venue



z/VM provides the ability for a system administrator to control a user's share of the system CPU, main storage, and paging capacity. However, this control is static. There is no method for automatic, dynamic share adjustment to balance resource use with respect to other users or to achieve a set goal. In addition, z/VM provides no means for adjusting a user's I/O priority as compared to other users or to reach a goal.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 3

Virtual Machine Resource Manager (VMRM) virtualization inventions

  The Virtual Machine Resource Manager (VMRM) was designed and implemented to address these problems. VMRM allows the work of one group, comprising one or more virtual machines, to be prioritized against the work performed by other groups when there is contention for the associated system resources. VMRM does this by providing two distinct inventions, namely a new resource manager and I/O Priority Queuing.

Resource Manager

z/VM implements a new resource manager as a Service Virtual Machine to manage z/VM-based workloads (i.e., a user or group of users) so as to achieve CPU and disk I/O velocity goals. The resource manager collects system-generated monitor data at regular intervals and determines which workloads require adjustment by comparing the data against installation-defined goals. The resource manager also takes into account workload priority (Importance Value) and whether a workload was selected on the previous sample interval when choosing workloads for adjustment. A selected workload is adjusted up or down at most every other sample interval until it achieves performance that is within 5% of its goal.

The resource manager uses the SET SHARE command to make CPU adjustments. It uses a new SET IOPRIORITY command to make disk I/O adjustments.

I/O Priority Queuing

The Channel Subsystem I/O Priority Queuing hardware, if present and enabled, is used by z/VM to prioritize both its own and guest I/O requests. This may include prioritization against requests initiated by systems in other Logical Partitions. z/VM also virtualizes the I/O Priority Queuing hardware, so that I/O requests from workloads running under the same z/VM system can be prioritized against each other on an individual device basis. This virtualization controls the order in which the associated real I/O requests go through z/VM's I/O scheduler. Software queuing is used within z/VM to schedule I/O requests for all channel-attached, SSCH-driven devices, and is performed regardless of whether the hardware I/O Priority Queuing facility is supported or enabled. In addition, an out-prioritization algorithm is implemented to prevent low-priority requests from stalling in the I/O scheduler.

z/VM's use of I/O Priority Queuing is controlled by the SET IOPRIORITY command. Figure 1 shows the command syntax. z/VM makes a distinction between the range entered on the command (the "requested" range) and the range used in z/VM's internal processing (the "effective" range). Specifically, the effective range is used to determine the priority...