Switch-aware parallel file system
First Claim
1. A computing cluster for reducing inter-switch network traffic, comprising:
- two or more building blocks partitioned from said cluster, each building block including;
a network switch that provides said cluster with access to the building block and is connected to other building blocks using a hierarchy of network switches, at least one computing server, at least one storage server, a storage system, and a server job scheduler that is in communication with said computing servers within the same building block;
a parallel file system that provides parallel data access to computing servers within each building block and global access to data across said cluster using said switches, said file system including;
a file system client on each computing server that serves file system application requests and has access to data allocated among each of the building blocks, a storage module on each storage server that stripes data across a storage system within a particular building block the storage module is located and serves data requests for the file system clients in said cluster, and a building block metadata module within each building block that tracks a storage location of data allocated by the storage module to the storage system within each building block, and a global metadata module that maintains file system metadata for said file system and said metadata including which building block data is allocated among within said file system; and
wherein said scheduler schedules a job of said file system within a building block and spawns said job at a scheduled time;
i) on at least one of at least one computing server in the same building block such that job requirements of the job are met, ii) on at least one of said building blocks where data for said job is located if there is pre-existing data for said job in said cluster, or iii) on at least one of said building blocks having most available resources if there is no pre-existing data for said job in said cluster.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention related to a switch-aware parallel file system. A computing cluster is partitioned into a plurality of computing cluster building blocks comprising a parallel file system. Each computing cluster building block comprises a file system client, a storage module, a building block metadata module, and a building block network switch. The building block metadata module tracks a storage location of data allocated by the storage module within the computing cluster building block. The computing cluster further comprises a file system metadata module that tracks which of the plurality of computing cluster building blocks data is allocated among within the parallel file system. The computing cluster further comprises a file system network switch to provide the parallel file system with access to each of the plurality of computing cluster building blocks and the file system metadata module. At least one additional computing cluster building block is added to the computing cluster, if resource utilization of the computing cluster exceeds a pre-determined threshold.
-
Citations
10 Claims
-
1. A computing cluster for reducing inter-switch network traffic, comprising:
-
two or more building blocks partitioned from said cluster, each building block including;
a network switch that provides said cluster with access to the building block and is connected to other building blocks using a hierarchy of network switches, at least one computing server, at least one storage server, a storage system, and a server job scheduler that is in communication with said computing servers within the same building block;a parallel file system that provides parallel data access to computing servers within each building block and global access to data across said cluster using said switches, said file system including;
a file system client on each computing server that serves file system application requests and has access to data allocated among each of the building blocks, a storage module on each storage server that stripes data across a storage system within a particular building block the storage module is located and serves data requests for the file system clients in said cluster, and a building block metadata module within each building block that tracks a storage location of data allocated by the storage module to the storage system within each building block, and a global metadata module that maintains file system metadata for said file system and said metadata including which building block data is allocated among within said file system; andwherein said scheduler schedules a job of said file system within a building block and spawns said job at a scheduled time;
i) on at least one of at least one computing server in the same building block such that job requirements of the job are met, ii) on at least one of said building blocks where data for said job is located if there is pre-existing data for said job in said cluster, or iii) on at least one of said building blocks having most available resources if there is no pre-existing data for said job in said cluster. - View Dependent Claims (2, 3)
-
-
4. A method for reducing inter-switch network traffic in a computing cluster, comprising:
-
partitioning said cluster into two or more building blocks, each building block including;
a network switch that provides said cluster with access to the building block and is connected to other building blocks using a hierarchy of network switches, at least one computing server, at least one storage server, a storage system;providing, using a parallel file system, parallel data access to computing servers within each building block and global access to data across said cluster using said switches, said file system including;
a file system client on each computing server serving file system application requesting and having access to data allocated among each of the building blocks, a storage module on each storage server striping data across a storage system within a particular building block the storage module is located and serves data requests for the file system clients in said cluster, and a building block metadata module within each building block tracking a storage location of data allocated by the storage module to the storage system within each building block, and a global metadata module maintaining file system metadata for said file system and said metadata including which building block data is allocated among within said file system; andscheduling a job of said file system within a building block and spawning said job at a scheduled time;
i) on at least one of at least one computing server in the same building block such that job requirements of the job are met, ii) on at least one of said building blocks where data for said job is located if there is pre-existing data for said job in said cluster, or iii) on at least one of said building blocks having most available resources if there is no pre-existing data for said job in said cluster. - View Dependent Claims (5, 6, 7)
-
-
8. A computer program product for reducing inter-switch network traffic in a computing cluster, said program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therewith, said program code being executable by a computer to:
-
partition said cluster into two or more building blocks, each building block including;
a network switch that provides said cluster with access to the building block and is connected to other building blocks using a hierarchy of network switches, at least one computing server, at least one storage server, a storage system; andprovide, using a parallel file system, parallel data access to computing servers within each building block and global access to data across said cluster using said switches, said file system including;
a file system client on each computing server that serves file system application requests and has access to data allocated among each of the building blocks, a storage module on each storage server that stripes data across a storage system within a particular building block the storage module is located and serves data requests for the file system clients in said cluster, and a building block metadata module within each building block that tracks a storage location of data allocated by the storage module to the storage system within each building block, and a global metadata module that maintains file system metadata for said file system and said metadata includes which building block data is allocated among within said file system; andschedule a job of said file system within a building block and spawn said job at a scheduled time;
i) on at least one of at least one computing server in the same building block such that job requirements of the job are met, ii) on at least one of said building blocks where data for said job is located if there is pre-existing data for said job in said cluster, or iii) on at least one of said building blocks having most available resources if there is no pre-existing data for said job in said cluster. - View Dependent Claims (9, 10)
-
Specification