Browse Prior Art Database

Method for creating balanced memory pools for LPAR creation

IP.com Disclosure Number: IPCOM000131837D
Original Publication Date: 2005-Nov-21
Included in the Prior Art Database: 2005-Nov-21
Document File: 3 page(s) / 29K

Publishing Venue

IBM

Abstract

Describes a method for creating memory pools of equal size when an LPAR is started.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 3

Method for creating balanced memory pools for LPAR creation

The idea addressed is creating a Logical Partition (LPAR) where all memory pools are of the same size. When an LPAR is configured, it is possible to have LPARs created with unbalanced memory pools. LPARs with unbalanced memory pools have unexpected behaviors due to a variety of VMM (Virtual Memory Manager) issues in how the memory is used based on the pool size. This includes page stealing algorithms based on the memory pool size which causes unexpected pageouts when there should not be any pageouts. Unexpected pageouts will cause application delays, as computational pages are written to disk and read back in, instead of remaining in memory, slowing down the applications and the system as a whole.

Memory Affinity puts contiguous regions of memory in pools for accessing by processes based on the locality of the memory to the processor. By using memory affinity, each region of memory will be assigned to a different pool which can result in unbalanced pools based in the specific availability of unused memory. This can result can result in performance issues for the system due to continuous paging activity.

Memory affinity can be disabled in some systems resulting in balanced memory pools but this is not available for all configurations. As a result, there are configurations with no existing solution.

By allowing the user to select a memory pool model when the partition is defined. The options for the memory pools model include:
As available
Balanced
Contiguous

The system can force the memory pools to be configured as specified.

Balanced will force all memory pools to be of the same size. This will mean that no memory pool can be larger than the smallest memory region. Larger regions of contiguous memory may be broken into smaller regions to accomplish this. For example, if 8 GB are requested and there are 2 regions of 6 GB...