System and method of optimization of in-memory data grid placement
First Claim
Patent Images
1. A method for optimizing data partition distribution in a memory data grid which includes a plurality of data partitions and a plurality of containers which contain the data partitions, comprising:
- running placement logic for optimizing configuration of the memory data grid;
providing performance impact of adding new members to the memory data grid for adding available space to the memory data grid;
determining a number of containers for the plurality of partitions based on network latency;
for a primary partition found in a container to be removed, converting a replica of the found primary partition to the found primary partition in a container other than the container to be removed, wherein a total number of containers is based on the determined optimum number of containers;
creating a replica partition of the converted replica partition in a different one of the containers from the converted replica partition;
for a replica partition found in the container to be removed, creating the found replica partition in one of the containers other than the container to be removed, wherein the created replica partition is not in a container that contains a primary partition corresponding to the created replica partition; and
removing the container to be removed;
determining an optimal data partition distribution in the memory data grid based on network topology;
creating policies for deciding whether synchronization of the optimal data partition distribution should be synchronous or asynchronous;
reducing invalidation traffic by placing the plurality of data partitions with the plurality of grid containers in the memory data grid; and
dynamically changing a data partition synchronization to an optimal data partition synchronization based on one of the policies.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and program product for optimizing distribution and availability of data partitions is disclosed. Placement logic is run for data partition distribution which optimizes a configuration of a memory data grid. A performance impact of adding new members to the memory data grid is provided. Replication of data partitions in the memory data grid is minimized. Optimum data partition distribution in the memory data grid is determined.
-
Citations
22 Claims
-
1. A method for optimizing data partition distribution in a memory data grid which includes a plurality of data partitions and a plurality of containers which contain the data partitions, comprising:
-
running placement logic for optimizing configuration of the memory data grid; providing performance impact of adding new members to the memory data grid for adding available space to the memory data grid; determining a number of containers for the plurality of partitions based on network latency; for a primary partition found in a container to be removed, converting a replica of the found primary partition to the found primary partition in a container other than the container to be removed, wherein a total number of containers is based on the determined optimum number of containers; creating a replica partition of the converted replica partition in a different one of the containers from the converted replica partition; for a replica partition found in the container to be removed, creating the found replica partition in one of the containers other than the container to be removed, wherein the created replica partition is not in a container that contains a primary partition corresponding to the created replica partition; and removing the container to be removed; determining an optimal data partition distribution in the memory data grid based on network topology; creating policies for deciding whether synchronization of the optimal data partition distribution should be synchronous or asynchronous; reducing invalidation traffic by placing the plurality of data partitions with the plurality of grid containers in the memory data grid; and dynamically changing a data partition synchronization to an optimal data partition synchronization based on one of the policies. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product for optimizing data partition distribution in a memory data grid which includes a plurality of data partitions and a plurality of containers which contain the data partitions, the computer program product comprising a
non-transitory computer readable storage medium having computer readable code embodied therewith, the computer readable program code being operable to: -
run placement logic for optimizing configuration of the memory data grid; provide performance impact of adding new members to the memory data grid for adding available space to the memory data grid; determine a number of containers for the plurality of data partitions based on network latency; for a primary partition found in a container to be removed, convert a replica of the found primary partition to the found primary partition in a container other than the container to be removed, wherein a total number of containers is based on the determined optimum number of containers; create a replica partition of the converted replica partition in a different one of the containers from the converted replica partition; for a replica partition found in the container to be removed, create the found replica partition in one of the containers other than the container to be removed, wherein the created replica partition is not in a container that contains a primary partition corresponding to the created replica partition; remove the container to be removed; determine an optimal data partition distribution in the memory data grid based on network topology; create policies for deciding whether synchronization of the optimal data partition distribution should be synchronous or asynchronous; reduce invalidation traffic by placing the plurality of data partitions with the plurality of grid containers in the memory data grid; and dynamically change a data partition synchronization to an optimal data partition synchronization based on one of the policies. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
a computer including a computer processor for optimizing data partition distribution in a memory data grid which includes a plurality of data partitions and a plurality of containers which contain the data partitions; and a data partition optimization engine for synchronizing the plurality of data partitions, the data partition optimization engine being operable to; run placement logic for optimizing configuration of the memory data grid; provide performance impact of adding new members to the memory data grid for adding available space to the memory data grid; determine a number of containers for the plurality of data partitions based on network latency; for a primary partition found in a container to be removed, convert a replica of the found primary partition to the found primary partition in a container other than the container to be removed, wherein a total number of containers is based on the determined optimum number of containers; create a replica partition of the converted replica partition in a different one of the containers from the converted replica partition; for a replica partition found in the container to be removed, create the found replica partition in one of the containers other than the container to be removed, wherein the created replica partition is not in a container that contains a primary partition corresponding to the created replica partition; and remove the container to be removed; determine an optimal data partition distribution in the memory data grid based on network topology; create policies for deciding whether synchronization of the optimal data partition distribution should be synchronous or asynchronous; reduce invalidation traffic by placing the plurality of data partitions with the plurality of grid containers in the memory data grid; and dynamically change a data partition synchronization to an optimal data partition synchronization based on one of the policies. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification