Parallel virtual file system
First Claim
1. A method for creating and using a parallel virtual file system for a parallel processing system, comprising the steps of:
- (a) partitioning a data file to be processed in the parallel processing system;
(b) storing the partitions on storage devices of the parallel processing system as a set of isomorphic data trees comprising data files and directories;
(c) providing a control tree on a storage device of the parallel processing system for storing a model of the file structure of the data trees, the combination of the control tree and the set of data trees defining a multifile system, with sets of isomorphic data files within the multifile system defining multifiles and sets of isomorphic directories within the multifile system defining multi-directories;
(d) providing a set of multifile subroutines for accessing and modifying the multifile system, wherein the multifile subroutines;
(1) effect file operations on processing components of the parallel processing system using remote procedure calls; and
(2) prevent interference of concurrent file operations by creating a transactional lock for multifiles and multi-directories involved in each file operation;
(3) preserve the isomorphism of the data trees by maintaining the model of the file structure of the data trees within the control tree before and after each file operation.
4 Assignments
0 Petitions
Accused Products
Abstract
A parallel virtual file system for parallel processing systems including single-processor systems having multiple storage devices. The invention manages partitioned files as follows: (1) partitions of a partitioned file are stored in a set of isomorphic "data trees"; (2) an additional directory tree, called the "control tree", is used to build a model of the intended structure of the data trees; (3) the combination of a control tree and a collection of data trees is referred to as a "multifile system", with sets of files referred to as "multifile" and sets of directories referred to as "multi-directories;" data elements of a multifile or multidirectory are referred to as "data plies" and control elements of a multifile or multidirectory are referred to as "control plies"; (4) a set of multifile subroutines is provided for accessing and modifying the multifile system in such a way so as to preserve the isomorphic data structures for the partitioned data; (5) the multifile subroutines use a distributed computing environment which provides for remote procedure calls and, in one of the embodiments of the invention, for a distributed transaction processing protocol to ensure atomicity of structural changes to the multifile system; (6) interference of concurrent file system operations is prevented by creating a "transactional" lock for each file system.
-
Citations
20 Claims
-
1. A method for creating and using a parallel virtual file system for a parallel processing system, comprising the steps of:
-
(a) partitioning a data file to be processed in the parallel processing system; (b) storing the partitions on storage devices of the parallel processing system as a set of isomorphic data trees comprising data files and directories; (c) providing a control tree on a storage device of the parallel processing system for storing a model of the file structure of the data trees, the combination of the control tree and the set of data trees defining a multifile system, with sets of isomorphic data files within the multifile system defining multifiles and sets of isomorphic directories within the multifile system defining multi-directories; (d) providing a set of multifile subroutines for accessing and modifying the multifile system, wherein the multifile subroutines; (1) effect file operations on processing components of the parallel processing system using remote procedure calls; and (2) prevent interference of concurrent file operations by creating a transactional lock for multifiles and multi-directories involved in each file operation; (3) preserve the isomorphism of the data trees by maintaining the model of the file structure of the data trees within the control tree before and after each file operation. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for creating and using a parallel virtual file system for a parallel processing system, comprising the steps of:
-
(a) partitioning a data file to be processed in the parallel processing system; (b) storing the partitions on storage devices of the parallel processing system, the storage devices having a native file system, as a set of isomorphic data trees comprising native data files and native directories; (c) providing a control tree, as a native file on a storage device of the parallel processing system, for storing a model of the native file structure of the data trees, the combination of the control tree and the set of data trees defining a multifile system, with sets of isomorphic data files within the multifile system defining multifiles and sets of isomorphic directories within the multifile system defining multi-directories; (d) providing a set of multifile subroutines for accessing and modifying the multifile system, wherein the multifile subroutines; (1) effect native file operations on processing components of the parallel processing system using remote procedure calls; and (2) prevent interference of concurrent native file operations by creating a transactional lock for multifiles and multi-directories involved in each native file operation; (3) preserve the isomorphism of the data trees by maintaining the model of the native file structure of the data trees within the control tree. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program, residing on a computer-readable medium, for creating and using a parallel virtual file system for a parallel processing system, comprising instructions for causing a computer to:
-
(a) partition a data file to be processed in the parallel processing system; (b) store the partitions on storage devices of the parallel processing system as a set of isomorphic data trees comprising data files and directories; (c) provide a control tree on a storage device of the parallel processing system for storing a model of the file structure of the data trees, the combination of the control tree and the set of data trees defining a multifile system, with sets of isomorphic data files within the multifile system defining multifiles and sets of isomorphic directories within the multifile system defining multi-directories; (d) provide a set of multifile subroutines for accessing and modifying the multifile system, wherein the multifile subroutines; (1) effect file operations on processing components of the parallel processing system using remote procedure calls; and (2) prevent interference of concurrent file operations by creating a transactional lock for multifiles and multi-directories involved in each file operation; (3) preserve the isomorphism of the data trees by maintaining the model of the file structure of the data trees within the control tree before and after each file operation. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A program stored on a computer readable medium for creating and using a parallel virtual file system for a parallel processing system, wherein the processing system executes the following steps:
-
(a) partitioning a data file to be processed in the parallel processing system; (b) storing the partitions on storage devices of the parallel processing system, the storage devices having a native file system, as a set of isomorphic data trees comprising native data files and native directories; (c) providing a control tree, as a native file on a storage device of the parallel processing system, for storing a model of the native file structure of the data trees, the combination of the control tree and the set of data trees defining a multifile system, with sets of isomorphic data files within the multifile system defining multifiles and sets of isomorphic directories within the multifile system defining multi-directories; (d) providing a set of multifile subroutines for accessing and modifying the multifile system, wherein the multifile subroutines; (1) effect native file operations on processing components of the parallel processing system using remote procedure calls; and (2) prevent interference of concurrent native file operations by creating a transactional lock for multifiles and multi-directories involved in each native file operation; (3) preserve the isomorphism of the data trees by maintaining the model of the native file structure of the data trees within the control tree. - View Dependent Claims (17, 18, 19, 20)
-
Specification