Browse Prior Art Database

Sharing Memory between Virtual Execution Environments

IP.com Disclosure Number: IPCOM000221108D
Publication Date: 2012-Aug-29
Document File: 2 page(s) / 26K

Publishing Venue

The IP.com Prior Art Database

Abstract

This invention creates a new framework for sharing writable memory across virtualized environments. Applications control memory updates via semaphores, that are also shared between isolated environments.

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

Page 01 of 2

Sharing Memory between Virtual Execution Environments

Software applications may execute on the same Logical Partition (LPAR) in virtualized environments, like AIX* Workload Partitions (WPARs), containers, zones or virtual machines. When two or more instances of the same application execute in different, isolated, environments, the memory requirement is multiplied by the number of instances of the application. A subset of the memory contents is actually duplicated: although identical, they cannot be shared, because of the isolation between the runtime environments.

There are no known solutions to this problem. An active solution, involving mutual cooperation of application instances is required, because the content of the memory that could be shared cannot be known in advance. Mutual cooperation of applications can be achieved via disciplined cross-environment memory updates, controlled by cross-environment semaphores.

This invention creates a new operating system service and Application Programming Interface (API), that allow applications to share writable memory across isolated environments, controlling memory updates via semaphores, that are also shared between isolated environments. With this invention, applications are offered a new operating system service, that extend the scope of new Inter Process Communication (IPC) shared memory segments and semaphores sets across Workload Partitions.

With this invention, mechanisms like the IBM* /Java* shared class cache, that used to be confined inside each WPAR, will now operate across WPARs. Similar Java applications executing in different WPARs will be offered the choice to share class caches, system-wide, instead of being forced to duplicate similar shared class caches in each WPAR. This invention will improve the performance and save memory.

The new API, that gives access to cross-WPAR shared memory segments and semaphore sets, is not limited to Java, and can be used by any software application. The invention extends the standard API for IPC shared memory and semaphore sets with an new flag (IPC_XWPAR), that gives access to cross-WPAR IPC objects. Those new objects differ from regular IPC objects in the following way:


1. They are identified by integer numbers that are unique across all WPARs

Regular IPC object are identified by integer numbers (keys) that are relative to each W...