Performance considerations for over committed shared memory partitions

Learn about how the degree to which the memory configuration of a logical partition that uses shared memory (also referred to as a shared memory partition) is over committed affects the performance of the shared memory partition. In general, the less over committed the memory configuration of a shared memory partition, the better its performance.

A shared memory configuration is considered over committed when the sum of the logical memory that is assigned to all of the shared memory partitions is greater than the amount of physical memory in the shared memory pool.

When the sum of the physical memory that is currently used by the shared memory partitions is less than or equal to the amount of memory in the shared memory pool, the memory configuration is logically over committed. In a logically over committed memory configuration, the shared memory pool has enough physical memory to contain the memory that is used by all shared memory partitions at one point in time.

Figure 1. A shared memory partition in a logically overcommitted memory configuration
A shared memory partition in a logically over committed memory configuration

The figure shows a shared memory partition that is assigned 2.5 GB of logical memory. Its maximum logical memory is 3 GB and its minimum logical memory is 1 GB. The figure also shows that the amount of physical memory that is currently allocated to the shared memory partition from the shared memory pool is 2.1 GB. If the workload that runs in the shared memory partition currently uses 2.1 GB of memory and requires an additional 0.2 GB of memory, and the shared memory pool is logically overcommitted, the hypervisor allocates an additional 0.2 GB of physical memory to the shared memory partition by assigning memory pages that are not currently in use by other shared memory partitions.

When the sum of the physical memory that is currently used by the shared memory partitions is greater than the amount of memory in the shared memory pool, the memory configuration is physically over committed. In a physically over committed memory configuration, the shared memory pool does not have enough physical memory to contain the memory that is used by all the shared memory partitions at one point in time. The hypervisor stores the difference of the physical and shared memory in the auxiliary storage.

Figure 2. A shared memory partition in a physically over committed memory configuration
A shared memory partition in a physically over committed memory configuration

The figure shows a shared memory partition that is currently allocated 0.8 GB of physical memory and assigned 2.5 GB of logical memory. If the workload that runs in the shared memory partition currently uses 0.8 GB of memory and requires an additional 1.5 GB of memory, and the shared memory pool is physically over committed, the hypervisor stores 1.5 GB of the shared memory partition's memory in its paging space device.

When the shared memory partition needs to access data on the paging space device, the hypervisor directs a paging VIOS partition to read the data from the paging space device and write the data to the shared memory pool. The more memory that the hypervisor must store on the paging space device, the more often the hypervisor and paging VIOS partition need to read and write data between the paging space device and the shared memory pool. Compared to directly accessing data that is stored in the shared memory pool, it takes more time to access data that is stored in the paging space device. Thus, in general, the less over committed the memory configuration of a shared memory partition, the better its performance.

The operating systems that run in the shared memory partitions help improve the performance of the shared memory partitions with over committed memory configurations by providing the hypervisor with information about how the operating system uses the physical memory that is allocated to it. Using this information, the hypervisor can store data that the operating system accesses the least often in the paging space device and store the data that the operating system accesses the most often in the shared memory pool. This reduces the frequency that the hypervisor needs to access the paging space device and increases the performance of the shared memory partition.