hpc / mpifileutils

File utilities designed for scalability and performance.
https://hpc.github.io/mpifileutils
BSD 3-Clause "New" or "Revised" License
167 stars 64 forks source link

Add in initial support for HPSSFS-FUSE #548

Closed adammoody closed 1 year ago

adammoody commented 1 year ago

From @hawartens : "" When the destination filesystem is detected to be "fuse" and the subtype is "hpssfs" we know that we are writing to an HPSS archive using HPSSFS-FUSE. HPSS archives have a concept called "Class of Service" (COS) that defines properties for files that live within that COS. Unfortunately a single "Class of Service" for an HPSSFS-FUSE filesystem is defined at mount time, so all files that are written to the filesystem will all go to the same COS. In many cases, sites have COSes that are based on the size of the files (eg. COSA has small files, COSB has medium sized files, and COSC has large files). If we used mpifileutils to write to an HPSSFS-FUSE filesystem without support for HPSS, the files copied into HPSS would then all be added to the same COS and many of the files would not live where they were intended. An HPSS administrator or the HPSS ChangeCOS process would then have to move the data to the correct COS on the backend (meaning this data was copied twice). In order to avoid this second move of the data, this work allows mpifileutils to send a file size hint, via an ioctl() to the HPSS Core Server so that the file will be copied to the correct COS immediately. ""

adammoody commented 1 year ago

It looks good to me, @hawartens . Good with you, too?

hawartens commented 1 year ago

Yes. Looks good to me as well.

adammoody commented 1 year ago

Thanks, @hawartens !

hawartens commented 1 year ago

Thanks @adammoody! Much appreciated!