EXtreme virtual memory
First Claim
Patent Images
1. A computer implemented method comprising:
- in a hierarchical storage system associated with parallel processors, the storage system comprising a plurality of hierarchical levels of storage arranged based on storage capacity and proximity to the processors, a base level comprising persistent storage, having greatest storage capacity and being furthest from the processors;
representing, by a computer, an address space associated with the hierarchical storage system as a plurality of hierarchical maps, wherein each map is uniquely associated with one of the hierarchical levels of storage, an array of data is associated with a map of the base level, and for each level of storage other than the base level the uniquely associated map describes how to partition the array of data into a plurality of subarrays of data each of a size that can be accommodated by the storage capacity of storage at the level, the size of the subarrays decreasing at each successive level from a level that is closest to the base level to a level that is closest to the processors, a first map designating a first one of block, cyclic and block-cyclic data distribution and a second map designating a different one of said block, cyclic and block-cyclic data distribution; and
utilizing a selected one of the hierarchical maps to select one of the subarrays to select a page of data to write into the level of storage uniquely associated with the selected map.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and computer program product for orchestrating the distribution and management of parallel data on a parallel hierarchical storage system is presented. A hierarchical map of the parallel data is provided. The hierarchical map comprises a plurality of map objects, wherein each map object describes how to partition a given array of data into a plurality of subarrays of data created by a parent map object of the map object and how to store the parallel data into the parallel computer'"'"'s storage hierarchy.
-
Citations
17 Claims
-
1. A computer implemented method comprising:
-
in a hierarchical storage system associated with parallel processors, the storage system comprising a plurality of hierarchical levels of storage arranged based on storage capacity and proximity to the processors, a base level comprising persistent storage, having greatest storage capacity and being furthest from the processors; representing, by a computer, an address space associated with the hierarchical storage system as a plurality of hierarchical maps, wherein each map is uniquely associated with one of the hierarchical levels of storage, an array of data is associated with a map of the base level, and for each level of storage other than the base level the uniquely associated map describes how to partition the array of data into a plurality of subarrays of data each of a size that can be accommodated by the storage capacity of storage at the level, the size of the subarrays decreasing at each successive level from a level that is closest to the base level to a level that is closest to the processors, a first map designating a first one of block, cyclic and block-cyclic data distribution and a second map designating a different one of said block, cyclic and block-cyclic data distribution; and utilizing a selected one of the hierarchical maps to select one of the subarrays to select a page of data to write into the level of storage uniquely associated with the selected map. - View Dependent Claims (2, 3, 4, 5, 6, 7, 16)
-
-
8. A non-transitory computer readable medium having computer readable code thereon, the medium comprising:
-
instructions that generate a representation of an address space associated with a hierarchical storage system comprising a plurality of hierarchical levels of storage arranged based on storage capacity and proximity to parallel processors, a base level comprising persistent storage, having greatest storage capacity and being furthest from the processors, the representation comprising a plurality of hierarchical maps, wherein each map is uniquely associated with one of the hierarchical levels of storage, an array of data is associated with a map of the base level, and for each level of storage other than the base level the uniquely associated map describes how to partition the array of data into a plurality of subarrays of data each of a size that can be accommodated by the storage capacity of storage at the level, the size of the subarrays decreasing at each successive level from a level that is closest to the base level to a level that is closest to the processors; instructions responsive to a first map designating a first one of block, cyclic and block-cyclic data distribution and a second map designating a different one of said block, cyclic and block-cyclic data distribution to utilize the respective designated distribution for the first and second maps; and instructions that utilize a selected one of the hierarchical maps to select one of the subarrays to select a page of data to write into the level of storage uniquely associated with the selected map. - View Dependent Claims (9, 10, 11, 12, 13, 14, 17)
-
-
15. A computer system comprising:
-
parallel processors; a hierarchical storage system associated with the parallel processors, the storage system comprising a plurality of hierarchical levels of storage arranged based on storage capacity and proximity to the processor, a base level comprising persistent storage, having greatest storage capacity and being furthest from the processors; a communications interface; an interconnection mechanism coupling the hierarchical storage system, the processors and the communications interface; and an application stored on a non-transitory computer-readable medium that represents an address space associated with the hierarchical storage system as a plurality of hierarchical maps, wherein each map is uniquely associated with one of the hierarchical levels of storage, an array of data is associated with a map of the base level, and for each level of storage other than the base level the uniquely associated map describes how to partition the array of data into a plurality of subarrays of data each of a size that can be accommodated by the storage capacity of storage at the level, the size of the subarrays decreasing at each successive level from a level that is closest to the base level to a level that is closest to the processors, wherein a first map uses a first one of block, cyclic and block-cyclic data distribution and wherein a second map uses a different one of said block, cyclic and block-cyclic data distribution; and utilizes a selected one of the hierarchical maps to select one of the subarrays to select a page of data to write into the level of storage uniquely associated with the selected map.
-
Specification