Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add in initial support for HPSSFS-FUSE #548

Merged
merged 5 commits into from
May 11, 2023
Merged

Add in initial support for HPSSFS-FUSE #548

merged 5 commits into from
May 11, 2023

Conversation

adammoody
Copy link
Member

@adammoody adammoody commented May 11, 2023

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.
""

hawartens and others added 4 commits March 22, 2023 22:27
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.

Signed-off-by: Herb Wartens <hawartens@gmail.com>
@adammoody adammoody changed the title Hpss support Add in initial support for HPSSFS-FUSE May 11, 2023
Signed-off-by: Adam Moody <moody20@llnl.gov>
@adammoody
Copy link
Member Author

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

@hawartens
Copy link
Collaborator

Yes. Looks good to me as well.

@adammoody adammoody merged commit 5ab0f45 into main May 11, 2023
@adammoody adammoody deleted the hpss-support branch May 11, 2023 22:58
@adammoody
Copy link
Member Author

Thanks, @hawartens !

@hawartens
Copy link
Collaborator

Thanks @adammoody! Much appreciated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants