In collective I/O processing in which a plurality of processes access the same file in a shared manner, when each user process issues an I/O request, the user process notifies the system of information on a file region accessed by all the processes; information for specifying whether or not a prefetch is performed, and information for specifying whether or not a disk preallocate is performed, together with the I/O requests issued by all associated processes, as hint information. The system provides a buffer for storing data in a file region accessed by all the processes based on the hint information, such that the I/O processing for all the processes is performed using this buffer.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A file I/O control method for use by a plurality of processes to access the same file in a shared manner, comprising the steps of: notifying a file management server from each of said plurality of processes of a file I/O request of the process, and hint information including information on a file region accessed by all of said plurality of processes; providing a buffer for performing an I/O operation to and from the file region notified by the hint information in said file management server; when a file I/O request from each of said plurality of processes is a file read request, reading data in the file region specified by the hint information from a disk into said provided buffer, and after reading the data from said disk, intermemory-copying data in a memory region in said provided buffer, corresponding to a file I/O request first issued by a process, into a data region specified by said process which first issues the file I/O request; when the file I/O request from each of said plurality of processes is a file write request, intermemory-copying data from a data region specified by each process by the file I/O request into a region in said provided buffer corresponding to the request of the process to complete a file write for each process; and after intermemory-copying the data from all of said plurality of processes, writing the data in said provided buffer into a file region in a disk notified by the hint information.
2. A file I/O control method according to claim 1 , wherein said buffer provided by said file management server is provided when a first one of said plurality of processes notifies the hint information, and discarded when a last one of said plurality of processes terminates a file I/O request.
3. A file I/O control method according to claim 1 , wherein each of said processes notifies said file management server of the hint information simultaneously with an I/O request or prior to the I/O request.
4. A file I/O control method according to claim 1 , wherein when the file I/O request from each of said processes is a file read request, data is read from a file region in a disk specified by the hint information for said provided buffer when the first one of said plurality of processes notifies said file management server of the hint information.
5. A file I/O control method according to claim 1 , wherein a file I/O request notified from each of said processes is completed at the time at which the intermemory-copy is completed between said buffer provided by said file management server and a data region specified by each process irrespective of whether or not a file I/O request from another process is notified to said file management server.
6. A file I/O control method according to claim 1 , wherein the hint information notified by each of said processes includes a hold time of said buffer provided by said file management server, and said file management server holds said provided buffer until the file I/O requests notified by all of said plurality of processes are completed or until the hold time included in the hint information expires.
7. A file I/O control method according to claim 1 , wherein the hint information notified by each of said processes includes information for specifying whether or not a prefetch is performed prior to issuance of a file read request or information for specifying whether or not a disk preallocate is performed prior to issuance of a file write request, wherein said file management server previously reads data in a specified file region from a disk to said buffer provided by said file management server when the hint information specifies execution of the prefetch, and said file management server previously reserves a region for storing all data associated with said plurality of processes on a disk when the hint information specifies execution of the preallocate.
8. A file management server for enabling a plurality of processes to access the same file in a shared manner, comprising: means for receiving hint information including a file I/O request from each of said plurality of processes, and information on a file region accessed by all of said plurality of processes; means for reserving a buffer for holding data in the file region notified by the hint information, said file region being accessed by all of said plurality of processes; means for collectively reading the data in the file region specified by the hint information, said file region being accessed by all of said plurality of processes, from a disk to said reserved buffer when the file I/O request from each of said plurality of processes is a file read request; means for collectively writing the contents of said buffer into a disk when the file I/O request from each of said plurality of processes is a file write request; and means for completing file I/O processing when a file I/O request is issued from each process by intermemory-copying data between a data region of said process and a region of said buffer corresponding thereto.
9. A file management server according to claim 8 , further comprising: means for receiving information for specifying whether or not a prefetch is performed prior to issuance of a file read request included in the hint information notified by each of said processes, or information for specifying whether or not a disk preallocate is performed prior to issuance of a file write request; means for previously reading data from a disk to said buffer asynchronously with the processing of said process when the hint information specifies execution of the prefetch; and means for performing the disk region preallocate asynchronously with the processing of said process when the hint information specifies execution of the preallocate.
10. A parallel computing system for operating in concert a plurality of processes which execute a parallel program to perform computations, said parallel computing system comprising the file management server according to claim 8 , wherein when said plurality of processes executing said parallel program simultaneously access the same file, each of said processes notifies a file management server of hint information including information on a file region accessed by all of said plurality of processes not later than issuance of a file I/O request issued by said each process.
11. A file I/O control method in a parallel computing system having a plurality of computing nodes and at least one I/O node, said method comprising the steps of: executing a plurality of processes on said plurality of computing nodes, respectively; based on hint information indicative of a data block required by a plurality of collective I/O read requests for reading the same file from said plurality of processes, reserving a buffer in said I/O node for a portion of said data block held by said I/O node, out of said data block indicated by said hint information; responding to a first collective I/O read request by writing said data block held by said I/O node into said buffer in response to said first collective I/O read request, and reading a data block corresponding to said first collective I/O read request from said data block written into said buffer; and responding to a subsequent collective I/O read request by reading a data block corresponding to said collective I/O read request from said data block written into said buffer.
12. A file I/O control method according to claim 11 , wherein said hint information is added to each said collective I/O read request.
13. A file I/O control method according to claim 11 , wherein said hint information is issued to said I/O node prior to each said collective I/O read request.
14. A file I/O control method in a parallel computing system having a plurality of computing nodes and at least one I/O node, said method comprising the steps of: executing a plurality of processes on said plurality of computing nodes, respectively; based on hint information indicative of a data block required by a plurality of collective I/O write requests for writing the same file from said plurality of processes, reserving a buffer in said I/O node for a portion of said data block held by said I/O node, out of said data block indicated by said hint information; responding to each of said plurality of collective I/O write requests to write a data block associated with the collective I/O write request into a region of said buffer for the collective I/O write request; and holding the data block written into said buffer in said I/O node after writing a data block into said buffer associated with a last collective I/O write request.
15. A file I/O control method according to claim 14 , wherein said hint information is added to each said collective I/O write request.
16. A file I/O control method according to claim 14 , wherein said hint information is issued to said I/O node prior to each said collective I/O write request.
17. A file I/O control method in a parallel computing system having a plurality of computing nodes and at least one I/O node, said method comprising the steps of: executing a plurality of processes on said plurality of computing nodes, respectively; based on hint information indicative of a data block required by a plurality of collective I/O requests for accessing the same file from said plurality of processes, reserving a buffer in said I/O node for a portion of said data block held by said I/O node, out of said data block indicated by said hint information; and responding to each of said plurality of collective I/O requests by accessing a region of said buffer corresponding to the collective I/O request.
18. A file I/O control method according to claim 17 , wherein said hint information is added to each said collective I/O request.
19. A file I/O control method according to claim 17 , wherein said hint information is issued to said I/O node prior to each said collective I/O request.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
December 21, 2001
February 3, 2004
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.