Resource efficient scale-out file systems
First Claim
Patent Images
1. A computer-implemented method for providing a file system, the method comprising:
- partitioning a file system (FS) of a storage system into a plurality of FS partitions by a FS partition manager executed by a processor of the storage system, each FS partition storing a plurality of files, wherein the plurality of FS partitions form a single logical file system using a single name space, wherein each of the FS partitions stores files having similar access patterns;
receiving an input and output (IO) request for accessing a first of the FS partitions, the first FS partition providing access to a first set of files;
in response to the IO request, selecting by the FS partition manager a second of the FS partitions that is currently in a ready state for access and that has no pending IO request for the second FS partition, the second FS partition providing access to a second set of files;
removing by the FS partition manager the second FS partition from the ready state for access, including unloading second FS metadata associated with the second FS partition from a system memory of the storage system, wherein the second FS metadata includes information for accessing the second set of files;
bringing the first FS partition into a ready state for access, including loading first FS metadata associated with the first FS partition into the system memory for servicing the IO request, wherein the first FS metadata includes information for accessing the first set of files, includingenqueuing the request in a pending IO queue of the file system if the first FS partition is not in the ready state for access,scheduling an execution of the IO request if the first FS partition is in the ready state for access, andincrementing a pending IO count associated with the first FS partition to indicate a number of IO requests currently pending for execution in the first FS partition; and
providing access to the first set of files via the first FS partition of the storage system and via the first FS metadata associated with the first FS partition loaded into the system memory, while the second FS metadata associated with the second FS partition is unloaded from the system memory, such that a memory space of the system memory required to store FS metadata is less than the system memory required to concurrently store both the first and the second FS metadata, wherein the first FS metadata includes information for accessing the first set of files, wherein the second FS metadata includes information for accessing the second set of files.
9 Assignments
0 Petitions
Accused Products
Abstract
According to one embodiment, a file system (FS) of a storage system is partitioned into a plurality of FS partitions, where each FS partition stores segments of data files. In response to an input and output (IO) request for accessing a first of the FS partitions, a second of the FS partitions is selected that is currently in a ready state for access. The second FS partition is then removed from the ready state for access. The first FS partition is brought into a ready state for access.
-
Citations
27 Claims
-
1. A computer-implemented method for providing a file system, the method comprising:
-
partitioning a file system (FS) of a storage system into a plurality of FS partitions by a FS partition manager executed by a processor of the storage system, each FS partition storing a plurality of files, wherein the plurality of FS partitions form a single logical file system using a single name space, wherein each of the FS partitions stores files having similar access patterns; receiving an input and output (IO) request for accessing a first of the FS partitions, the first FS partition providing access to a first set of files; in response to the IO request, selecting by the FS partition manager a second of the FS partitions that is currently in a ready state for access and that has no pending IO request for the second FS partition, the second FS partition providing access to a second set of files; removing by the FS partition manager the second FS partition from the ready state for access, including unloading second FS metadata associated with the second FS partition from a system memory of the storage system, wherein the second FS metadata includes information for accessing the second set of files; bringing the first FS partition into a ready state for access, including loading first FS metadata associated with the first FS partition into the system memory for servicing the IO request, wherein the first FS metadata includes information for accessing the first set of files, including enqueuing the request in a pending IO queue of the file system if the first FS partition is not in the ready state for access, scheduling an execution of the IO request if the first FS partition is in the ready state for access, and incrementing a pending IO count associated with the first FS partition to indicate a number of IO requests currently pending for execution in the first FS partition; and providing access to the first set of files via the first FS partition of the storage system and via the first FS metadata associated with the first FS partition loaded into the system memory, while the second FS metadata associated with the second FS partition is unloaded from the system memory, such that a memory space of the system memory required to store FS metadata is less than the system memory required to concurrently store both the first and the second FS metadata, wherein the first FS metadata includes information for accessing the first set of files, wherein the second FS metadata includes information for accessing the second set of files. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable storage medium having instructions stored therein, which when executed by a computer, cause the computer to perform operations for managing resources of a file system, the operations comprising:
-
partitioning a file system (FS) of a storage system into a plurality of FS partitions by a FS partition manager executed by a processor of the storage system, each FS partition storing a plurality of files, wherein the plurality of FS partitions form a single logical file system using a single name space, wherein each of the FS partitions stores files having similar access patterns; receiving an input and output (IO) request for accessing a first of the FS partitions, the first FS partition providing access to a first set of files; in response to the IO request, selecting a second of the FS partitions that is currently in a ready state for access and that has no pending IO request for the second FS partition, the second FS partition providing access to a second set of files; removing the second FS partition from the ready state for access, including unloading second FS metadata associated with the second FS partition from a system memory of the storage system, wherein the second FS metadata includes information for accessing the second set of files; bringing the first FS partition into a ready state for access, including loading first FS metadata associated with the first FS partition into the system memory for servicing the IO request, wherein the first FS metadata includes information for accessing the first set of files, including enqueuing the request in a pending IO queue of the file system if the first FS partition is not in the ready state for access, scheduling an execution of the IO request if the first FS partition is in the ready state for access, and incrementing a pending IO count associated with the first FS partition to indicate a number of IO requests currently pending for execution in the first FS partition; and providing access to the first set of files via the first FS partition of the storage system and via the first FS metadata associated with the first FS partition loaded into the system memory, while the second FS metadata associated with the second FS partition is unloaded from the system memory, such that a memory space of the system memory required to store FS metadata is less than the system memory required to concurrently store both the first and the second FS metadata, wherein the first FS metadata includes information for accessing the first set of files, wherein the second FS metadata includes information for accessing the second set of files. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A storage system, comprising:
-
a system memory; a processor; a file system (FS) executed in the system memory by the processor, the file system having a plurality of FS partitions, each FS partition storing a plurality of files, wherein the plurality of FS partitions form a single logical file system using a single name space, wherein each of the FS partitions stores files having similar access patterns; a partition manager coupled to the file system and the system memory, wherein the partition manager is configured to receive an input and output (IO) request for accessing a first of the FS partitions, the first FS partition providing access to a first set of files, in response to the IO request, select a second of the FS partitions that is currently in a ready state for access and that has no pending IO request for the second FS partition, the second FS partition providing access to a second set of files, remove the second FS partition from the ready state for access, including unloading second FS metadata associated with the second FS partition from a system memory of the storage system, wherein the second FS metadata includes information for accessing the second set of files, bring the first FS partition into a ready state for access, including loading first FS metadata associated with the first FS partition into the system memory for servicing the IO request, wherein the first FS metadata includes information for accessing the first set of files, including enqueuing the request in a pending IO queue of the file system if the first FS partition is not in the ready state for access, scheduling an execution of the IO request if the first FS partition is in the ready state for access, and incrementing a pending IO count associated with the first FS partition to indicate a number of IO requests currently pending for execution in the first FS partition, and provide access to the first set of files via the first FS partition of the storage system and via the first FS metadata associated with the first FS partition loaded into the system memory, while the second FS metadata associated with the second FS partition is unloaded from the system memory, such that a memory space of the system memory required to store FS metadata is less than the system memory required to concurrently store both the first and the second FS metadata, wherein the first FS metadata includes information for accessing the first set of files, wherein the second FS metadata includes information for accessing the second set of files. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
Specification