File system control method, parallel file system and program storage medium
First Claim
1. A control method for use with a network file system in which a plurality of nodes of computers share a file over a network, each of the plurality of nodes storing at least a portion of the file in a buffer, said method comprising:
- storing, when a file update is made by any one of the plurality of nodes, the updated data in the buffer in the node until consistency about the updated data is needed by a program that runs on the node;
making a notification of the file update to the other nodes when a consistency about the updated data is needed by the program;
checking, when the notification is made, whether or not data stored in the buffers in the other nodes corresponds with old data to be updated; and
making, if the data corresponding with the old data to be updated is found by the checking, the corresponding data in the other nodes invalid.
1 Assignment
0 Petitions
Accused Products
Abstract
A control method, storage medium and file system for use with a network file system in which a plurality of nodes of computers share a file over a network, each of the nodes storing read data or write data for the file in a buffer, the method including storing, when a file update is made by the node, the updated data in the buffer in the node until consistency about the updated data is needed by a program that runs on the node; making a notification of the file update to the other nodes when consistency about the updated data is needed by the program; checking, when the notification is made, whether or not the data in the buffers in the other nodes corresponds with the data to be updated; and making if the data corresponding with the updated data is found by the checking, the data in the other nodes invalid.
51 Citations
22 Claims
-
1. A control method for use with a network file system in which a plurality of nodes of computers share a file over a network, each of the plurality of nodes storing at least a portion of the file in a buffer, said method comprising:
-
storing, when a file update is made by any one of the plurality of nodes, the updated data in the buffer in the node until consistency about the updated data is needed by a program that runs on the node;
making a notification of the file update to the other nodes when a consistency about the updated data is needed by the program;
checking, when the notification is made, whether or not data stored in the buffers in the other nodes corresponds with old data to be updated; and
making, if the data corresponding with the old data to be updated is found by the checking, the corresponding data in the other nodes invalid.
-
-
2. A control method for use with a network file system in which a plurality of nodes of computers share a file striped on a plurality of server nodes over a network, each of the plurality of nodes storing at least a portion of the file in a buffer which corresponds to one of the server nodes, said method comprising:
-
temporarily storing, in each client node, data for a write request issued by a user program into the buffers and passing the updated data on to the server nodes collectively at the time when the buffers become full or the buffer contents reach a predetermined amount;
checking, when the data is passed on, whether or not the data in the buffers in the other nodes corresponds with the data to be updated;
making, if the data corresponding with the updated data is found by the checking, the data read-ahead into each of the other nodes invalid; and
reading-ahead, in each client node, data from the server nodes into the buffers collectively for a read request issued by the user program, and, for subsequent read request, using the read-ahead data in the buffers if the read-ahead data is not invalid. - View Dependent Claims (3, 4, 5)
monitoring, in the server node, whether requests for access to the storage medium issued by the client nodes are in ascending order of addresses of the storage medium for each of the client nodes;
switching, in the server node, from a nonsequential mode in which access requests are processed in order in which they were accepted, to a sequential mode in which access requests are arranged in ascending order of the storage medium addressed, when a predetermined number of access requests in ascending order of the storage medium addresses is received in succession from each of the client nodes; and
switching, in the server node, from the sequential mode to the non-sequential mode when an access request that is not in ascending order of the storage medium addresses is received from one of the client nodes.
-
-
6. A network file system in which a plurality of client nodes share a file that has at least a portion stored on a plurality of server nodes over a network, wherein said plurality of client nodes have a file system client section comprising:
-
a unit managing a plurality of buffers to store access data for the file, each of the buffers corresponding to one of the plurality of server nodes;
a unit processing requests for access to the file made by a parallel program running on the client nodes;
a unit storing, when a file update is made by any one of the plurality of the client nodes, the updated data in the buffer in the client node until consistency about the updated data is needed by the parallel program;
a unit making a notification of the file update to a corresponding server node in response to an instruction from the parallel program when the consistency about the updated data is needed by the parallel program; and
a unit invalidating data stored in the other client nodes which corresponds with old data to be updated, in accordance with an invalidation instruction which is produced by the server node in response to the notification of the file update; and
the plurality of server nodes have a file system server section comprising a unit processing file access requests from the client nodes; and
a unit instructing, in response to the notification of the file update from a client node, the other client nodes that hold data corresponding with the old data to be updated to make the corresponding data invalid. - View Dependent Claims (7, 8)
-
-
9. A computer readable storage medium for use with a network file system in which a plurality of client nodes share a file that has at least a portion stored on a plurality of server nodes, and storing a process running on each client node, the process comprising:
-
managing a plurality of buffers to store access data for the file, each of the plurality of buffers being located in one of the plurality of server nodes;
processing file access requests issued by a parallel program running on the client nodes;
storing, when a file update is made by any one of the plurality of client nodes, the updated data in the buffer in the client node until consistency about the updated data is needed by the parallel program;
making a notification of the file update to a corresponding server node in response to an instruction from the parallel program when the consistency about the updated data is needed by the parallel program; and
invalidating data stored in the other client nodes which corresponds with old data to be updated, in accordance with an invalidation instruction which is produced by the server node in response to the notification of the file update.
-
-
10. A computer readable storage medium for use with a network file system in which a plurality of client nodes share a file that has at least a portion stored on a plurality of server nodes, and storing a process running on each server node, the process comprising:
-
processing requests for access to the file by the client nodes; and
instructing, in response to a notification of file update which is produced by a client node when data in the file is updated by any one of the client nodes and then consistency about the updated data is needed by a parallel program running on the client nodes, the other client nodes that hold data corresponding with old data to be updated to invalidate the corresponding data.
-
-
11. A client node for a network file system in which a plurality of client nodes share a file that has at least a portion stored on a plurality of server nodes over a network, each of said plurality of client nodes comprising:
-
a unit managing a plurality of buffers to store access data for the file, each located in one of the server nodes on which the file is striped;
a write request processing unit storing data for a write request issued by a user program in the buffers and passing the data on to the other server nodes collectively at the time when each buffer becomes full or the buffer contents reach a predetermined amount; and
a read request processing unit reading-ahead data from the server nodes into the buffers collectively for a read request made by the user program, and, for a subsequent read request, using the read-ahead data in the buffers. - View Dependent Claims (12, 13, 17)
-
-
14. A computer readable storage medium for use with a network file system in which a plurality of client nodes share a file that has at least a portion stored on a plurality of server nodes, and storing a process running on each client node, the process comprising:
-
managing a plurality of buffers to store access data for the file, each of which corresponds to a respective one of the server nodes on which the file is striped;
storing data for a write request issued by a user program into the buffers and passing the data on to the server nodes collectively at the time when the buffers become full or the buffer contents reach a predetermined amount; and
checking, when the data is passed on, whether or not the data in the buffers in the other nodes corresponds with the data to be updated;
making, if the data corresponding with the updated data is found by the checking, the data read-ahead into each of the other nodes invalid;
reading-ahead data from the server nodes into the buffers collectively when a read request is issued by the user program, and, for subsequent read request, using the read-ahead data in the buffers, if the read-ahead data is not invalid.
-
-
15. A network file system in which a plurality of nodes of computers share a file over a network and each of the plurality of the nodes stores at least a portion of the file, comprising:
-
a plurality of buffers, each located in one of the nodes, for storing at least a portion of the file, each buffer in a node storing, when a file update is made by any one of the plurality of nodes, the updated data until consistency about the updated data is needed by a program that runs on the node;
a notification unit making notification of the file update to other nodes when the consistency about the updated data is needed by the program;
a check unit checking, when the notification is made by the modification unit, whether or not data stored in the buffers in the other nodes corresponds with old data to be updated; and
an invalidation unit making, if the data corresponding with the old data to be updated is found by said check unit, the corresponding data invalid. - View Dependent Claims (16)
each of the server nodes has input/output means which, upon receiving from one of the client nodes a request for access to an area of the storage medium which is not contiguous to an area to which the immediately preceding access is made, checks whether requests by the other client nodes for access to the storage medium have been received and, when received, arranges the requests so that storage medium accesses are made in the order of ascending addresses, and performs input/output processing in accordance with the arranged requests.
-
-
18. A control method for a network file system in which a plurality of client nodes share a file that is striped on a plurality of server nodes and each of the plurality of client nodes stores at least a portion of the file in a buffer, said method comprising;
-
storing, when a file update is made by any one of the client nodes, the updated data in the buffer in the client node until consistency about the updated data is needed;
making a notification of the file update to a corresponding server node when the consistency about the updated data is needed; and
according to an invalidation instruction which is produced by the server node in response to the notification of the file update from the client node, invalidating data stored in the buffer in the other client nodes which corresponds with old data to be updated.
-
-
19. A control method for a network file system in which a plurality of client nodes share a file that is stripe-placed on a plurality of server nodes and each of the plurality of client nodes stores at least a portion of the file in a buffer, said method comprising:
in response to a notification of file update which is produced by any one of the plurality of client nodes when data in the file is updated by the client node and then consistency about the updated data is needed, instructing the other client nodes that hold data corresponding with old data to be updated to invalidate the corresponding data.
-
20. A program storage medium for storing a program implementing a control method for a network file system in which a plurality of nodes of computers share a file over a network, each of the plurality of nodes storing at least a portion of the file in a buffer, the program comprising:
-
storing, when a file update is made by any one of the plurality of nodes, the updated data in the buffer in the node until consistency about the updated data is needed by a program that runs on the node;
making a notification of the file update to other nodes when the consistency about the updated data is needed by the program;
checking, when the notification is made, whether or not data stored in the buffers in the other nodes corresponds with old data to be updated; and
making, if the data corresponding with the old data to be updated is found by the checking, the corresponding data in the other nodes invalid. - View Dependent Claims (21, 22)
upon receiving from one of the client nodes a request for access to an area of the storage medium which is not contiguous to an area to which the immediately preceding access is made, checking, in the server nodes, whether requests by the other client nodes for access to the storage medium have been received and, when received, arranging the requests so that storage medium accesses are made in the order of ascending addresses, and performing input/output processing in accordance with the arranged requests.
-
-
22. A program storage medium according to claim 20, further comprising:
-
monitoring, in the server node, whether requests for access to the storage medium issued by the client nodes are in ascending order of addresses of the storage medium for each of the client nodes;
switching, in the server node, from a nonsequential mode in which access requests are processed in order in which the access requests were accepted, to a sequential mode in which access requests are arranged in ascending order of the storage medium addresses, when a predetermined number of access requests in ascending order of the storage medium addresses is received in succession from each of the client nodes; and
switching, in the server node, from the sequential mode to the non-sequential mode when an access request that is not in ascending order of the storage medium addresses is received from any one of the client nodes.
-
Specification