Parallel file system and method anticipating cache usage patterns
First Claim
1. A method of improving a files system'"'"'s cache utilization in a computer system having cache space requests of varying sizes presented to a file system in an unpredictable fashion, comprising the method ofmaking a periodic identification of workload, andsplitting said cache into different working cache units, each controlling a portion of the cache state,periodically consulting with a cache manager for optimizing cache utilization via analyzing current cache usage patterns for anticipating the nature of incoming requests and preparing for the requests such that each incoming request is directed towards the cache unit which with a high probability will be used to satisfy the request,determining the space that can be devoted for each workload in each working unit and adjusting other system actions in response to said determined space that can be devoted for each workload in each working unit, andwherein when two types of workloads are detected and responded to by said cache manager, the complete cache is split into different working units, each controlling a portion of the complete cache space, and responsible for buffers of a given pre-defined size with each working unit comprised of two sub-units that monitor the two kinds of workloads the system operates with, the amount of different working units and the buffer sizes that they are responsible for change dynamically.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer system having a shared disk file system running on on multiple computers each having their own instance of an operating system and being coupled for parallel data sharing access to files residing on network attached shared disks. Methods are provided for use as a parallel file system in a shared disk environment by use of a scalable directory service for the system with a stable cursor, a segmented allocation map. Dynamic prefetch and cached balance pools for multiple accesses improve the system. Extended file attributes are used for implementation of Access Control Lists in a parallel file system. Improvements to caching and cache performance developments balance pools for multiple accesses. A metadata node manages file metadata for parallel read and write actions. For our system, tokens are used for metadata node selection and identification, and we have enhanced token modes for controlling file size, as well as smart caching of byte range tokens using file access patterns and a byte range lock algorithm using a byte range token interface. Locking techniques reduce the overhead of a token manager which is also used in the file system recovery if a computer participating in the management of shared disks becomes unavailable or failed.
375 Citations
10 Claims
-
1. A method of improving a files system'"'"'s cache utilization in a computer system having cache space requests of varying sizes presented to a file system in an unpredictable fashion, comprising the method of
making a periodic identification of workload, and splitting said cache into different working cache units, each controlling a portion of the cache state, periodically consulting with a cache manager for optimizing cache utilization via analyzing current cache usage patterns for anticipating the nature of incoming requests and preparing for the requests such that each incoming request is directed towards the cache unit which with a high probability will be used to satisfy the request, determining the space that can be devoted for each workload in each working unit and adjusting other system actions in response to said determined space that can be devoted for each workload in each working unit, and wherein when two types of workloads are detected and responded to by said cache manager, the complete cache is split into different working units, each controlling a portion of the complete cache space, and responsible for buffers of a given pre-defined size with each working unit comprised of two sub-units that monitor the two kinds of workloads the system operates with, the amount of different working units and the buffer sizes that they are responsible for change dynamically.
-
6. A method of improving a files system'"'"'s cache utilization in a computer system having cache space requests of varying sizes presented to a file system in an unpredictable fashion, comprising the method of
making a periodic identification of workload usage satitistics for examination, and splitting said cache into different working cache units, each controlling a portion of the cache state, periodically consulting with a cache manager for optimizing cache utilization via analyzing current cache usage patterns for anticipating the nature of incoming requests and preparing for the requests such that each incoming request is directed towards the cache unit which with a high probability will be used to satisfy the request, determining the space that can be devoted for each workload in each working unit and adjusting other system actions in response to said determined space that can be devoted for each workload in each working unit, and wherein as periodically the gathered usage statistics are examined, said cache manager has its options for control over the cache space re-divided among the different working units and wherein future usage patterns are predicted by analyzing current ones, so new space re-division is not acted upon immediately but takes effect upon demand.
-
7. A method of improving a files system'"'"'s cache utilization in a computer system having cache space requests of varying sizes presented to a file system in an unpredictable fashion, comprising the method of
making a periodic identification of workload, and splitting said cache into different working cache units, each controlling a portion of the cache state, periodically consulting with a cache manager for optimizing cache utilization via analyzing current cache usage patterns for anticipating the nature of incoming requests and preparing for the requests such that each incoming request is directed towards the cache unit which with a high probability will be used to satisfy the request, determining the space that can be devoted for each workload in each working unit and adjusting other system actions in response to said determined space that can be devoted for each workload in each working unit, and wherein each working unit has two kinds of space limits, namely, an internal and an external one, and the internal space limit divides between the two sub-working units, and the external space limit of each working unit is further divided into two kinds of limits, namely the physical limit and the virtual limit, where the physical limit represents the actual amount of space under control of the usage pattern scheme distribution that belongs to the individual working unit, and the virtual limit, used to deduce whether a specific working unit physical limit is allowed to grow or whether it is forced to give up a portion of the space under its control upon a request from a working unit that is allowed to grow, thus in essence it is allowed to shrink, is projected by the usage pattern prediction process as the physical limit this working unit should attempt to achieve.
Specification