Optimizing a file system for different types of applications in a compute cluster using dynamic block size granularity
First Claim
1. A method of using a dynamic storage data block size granularity in a computing cluster with a clustered file system for serving applications that initiate data access operations and applications that initiate compute operations, the computing cluster having a shared storage system and compute servers with locally attached storage, the method comprising:
- prefetching a predetermined number of storage allocation regions for each compute server in said cluster, each storage allocation region being a set of contiguous data blocks on a single storage disk of locally attached storage to a compute server, and further prefetching at least one additional storage allocation region until the aggregate number of reserved storage allocations regions for a compute server is equal to the predetermined number if an aggregate number of the reserved storage allocation regions for the compute server in said cluster is less than the predetermined number;
allocating data for a compute operation to at least one of the reserved storage allocation regions, said allocating includes using a contiguous set of data blocks on a single storage disk of locally attached storage as the clustered file system'"'"'s block allocation granularity for striping data to be stored by said clustered file system for a compute operation in the cluster;
allocating data for a data access operation to said shared storage system, said allocating data for a data access operation includes using a single data block of said shared storage system as the clustered file system'"'"'s block allocation granularity for striping data to be stored in the clustered file system for a data access operation in the cluster;
sending a compute operation to be served by said clustered file system to a compute server having data for the compute operation allocated to compute server'"'"'s locally attached storage such that the compute operation and the data for the compute operation are co-located on the compute server.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention relate to optimizing a file system for different types of applications in a compute cluster using dynamic block size granularity. An exemplary embodiment includes reserving a predetermined number of storage allocation regions for each node in a cluster, wherein each storage allocation region comprises a set of contiguous data blocks on a single storage disk of locally attached storage; using a contiguous set of data blocks on a single storage disk of locally attached storage as a file system'"'"'s block allocation granularity for striping data to be stored in the file system for a compute operation in the cluster; and using a single data block of a shared storage subsystem as the file system'"'"'s block allocation granularity for striping data to be stored in the file system for a data access operation in the cluster.
-
Citations
20 Claims
-
1. A method of using a dynamic storage data block size granularity in a computing cluster with a clustered file system for serving applications that initiate data access operations and applications that initiate compute operations, the computing cluster having a shared storage system and compute servers with locally attached storage, the method comprising:
-
prefetching a predetermined number of storage allocation regions for each compute server in said cluster, each storage allocation region being a set of contiguous data blocks on a single storage disk of locally attached storage to a compute server, and further prefetching at least one additional storage allocation region until the aggregate number of reserved storage allocations regions for a compute server is equal to the predetermined number if an aggregate number of the reserved storage allocation regions for the compute server in said cluster is less than the predetermined number; allocating data for a compute operation to at least one of the reserved storage allocation regions, said allocating includes using a contiguous set of data blocks on a single storage disk of locally attached storage as the clustered file system'"'"'s block allocation granularity for striping data to be stored by said clustered file system for a compute operation in the cluster; allocating data for a data access operation to said shared storage system, said allocating data for a data access operation includes using a single data block of said shared storage system as the clustered file system'"'"'s block allocation granularity for striping data to be stored in the clustered file system for a data access operation in the cluster; sending a compute operation to be served by said clustered file system to a compute server having data for the compute operation allocated to compute server'"'"'s locally attached storage such that the compute operation and the data for the compute operation are co-located on the compute server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 20)
-
-
9. A computing cluster using a dynamic storage block size granularity for serving applications that initiate data access operations and applications that initiate compute operations, said cluster comprising:
-
a shared storage system; compute servers that serve file system compute operations and having locally attached; and a file system manager of said file system, said manager; prefetches a predetermined number of storage allocation regions for each compute server in said cluster, each storage allocation region being a set of contiguous data blocks on a single storage disk of locally attached storage to a compute server, and further prefetches at least one additional storage allocation region until the aggregate number of reserved storage allocations regions for a compute server is equal to the predetermined number if an aggregate number of the reserved storage allocation regions for the compute server in said cluster is less than the predetermined number, allocates data for a compute operation to at least one of the reserved storage allocation regions, said allocating includes using a contiguous set of data blocks on a single storage disk of locally attached storage as said file system'"'"'s block allocation granularity for striping data to be stored by said file system for a compute operation in the cluster, allocates data for a data access operation to said shared storage system, said allocating data for a data access operation includes using a single data block of said shared storage system as the file system'"'"'s block allocation granularity for striping data to be stored in the file system for a data access operation in the cluster, and sends a compute operation to be served by said file system to a compute server having data for the compute operation allocated to compute server'"'"'s locally attached storage such that the compute operation and the data for the compute operation are co-located on the compute server. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer program product of using a dynamic storage data block size granularity in a computing cluster with a clustered file system for serving applications that initiate data access operations and applications that initiate compute operations, the computing cluster having a shared storage system and compute servers with locally attached storage, said program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therewith, said program code being executable by a computer to:
-
prefetch a predetermined number of storage allocation regions for each compute server in said cluster, each storage allocation region being a set of contiguous data blocks on a single storage disk of locally attached storage to a compute server, and further prefetches at least one additional storage allocation region until the aggregate number of reserved storage allocations regions for a compute server is equal to the predetermined number if an aggregate number of the reserved storage allocation regions for the compute server in said cluster is less than the predetermined number; allocate data for a compute operation to at least one of the reserved storage allocation regions, said allocating includes using a contiguous set of data blocks on a single storage disk of locally attached storage as said clustered file system'"'"'s block allocation granularity for striping data to be stored by said clustered file system for a compute operation in the cluster; allocate data for a data access operation to said shared storage system, said allocating data for a data access operation includes using a single data block of said shared storage system as the clustered file system'"'"'s block allocation granularity for striping data to be stored in the clustered file system for a data access operation in the cluster, and sends a compute operation to be served by said file system to a compute server having data for the compute operation allocated to compute server'"'"'s locally attached storage such that the compute operation and the data for the compute operation are co-located on the compute server. - View Dependent Claims (16, 17, 18, 19)
-
Specification