subscribe iconSubscribe to this information

Data flow for shared memory partitions

When the operating system that runs in a logical partition that uses shared memory (hereafter referred to as a shared memory partition) needs to access data, the data must reside in the shared memory pool. Systems with overcommitted memory configurations require the hypervisor and at least one Virtual I/O Server (VIOS) logical partition that is assigned to the shared memory pool (hereafter referred to as paging VIOS partition) to move data between the shared memory pool and the paging space devices as needed.

In a shared memory configuration that is physically overcommitted (where the sum of the logical memory that is currently used by all the shared memory partitions is greater than the amount of memory in the shared memory pool), the hypervisor stores some of the logical memory that belongs to a shared memory partition in the shared memory pool and some of the logical memory in a paging space device. In order for the operating system in a shared memory partition to access its memory, the memory must be in the shared memory pool. Thus, when the operating system needs to access data that is stored on the paging space device, the hypervisor works with a paging VIOS partition to move the data from the paging space device to the shared memory pool so that the operating system can access it.

The following figure shows the data flow for shared memory.

Figure 1. The process of managing data in a shared memory configuration that is overcommitted
The process of managing data in a shared memory configuration that is overcommitted

In general, the data flows as follows:

  1. The operating system that runs in a shared memory partition attempts to access data.
    • If the data is in the shared memory pool, processing continues with step 7.
    • If the data is not in the shared memory pool, a page fault occurred. The hypervisor inspects the page fault and discovers that the hypervisor moved the data to the paging space device, thereby causing the page fault. Processing continues with step 2. (If the operating system that runs in the shared memory partition moved the data to auxiliary storage, thereby causing the page fault, then the operating system must retrieve the data.)
  2. The hypervisor sends a request to a paging VIOS partition to retrieve the data from the paging space device and to write it to the shared memory pool.
  3. The paging VIOS partition searches the paging space device that is assigned to the shared memory partition and finds the data.
  4. The paging VIOS partition writes the data to the shared memory pool.
  5. The paging VIOS partition notifies the hypervisor that the data is in the shared memory pool.
  6. The hypervisor notifies the operating system that it can access the data.
  7. The operating system accesses the data in the shared memory pool.

Send feedback | Rate this page

Last updated: Fri, Oct 30, 2009