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

Creating local_state directory, and saving state to it #1271

Conversation

cloudnoize
Copy link
Contributor

No description provided.

Copy link
Collaborator

@teoparvanov teoparvanov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, with one comment:

openfl/experimental/workflow/interface/cli/workspace.py Outdated Show resolved Hide resolved
@cloudnoize cloudnoize force-pushed the elerer/change_persistent_state_path branch 4 times, most recently from 336887f to a04cfcd Compare January 15, 2025 19:11
@cloudnoize cloudnoize force-pushed the elerer/change_persistent_state_path branch from a04cfcd to bb66089 Compare January 16, 2025 09:41
Copy link
Collaborator

@MasterSkepticista MasterSkepticista left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not reuse save?

@cloudnoize
Copy link
Contributor Author

Why not reuse save?

Save is prepopulated with proto files, which eliminates the option to mount it as an encrypted fs under Gramine.
Furthermore, we need a directory to store the final models that the model owner can retrieve through the file server, and it should not be mounted as an encrypted fs, the save directory meet those requirements.

@MasterSkepticista
Copy link
Collaborator

Why not encrypt the state before writing under save/?

@cloudnoize
Copy link
Contributor Author

cloudnoize commented Jan 16, 2025

Why not encrypt the state before writing under save/?

Gramine uses proprietary encryption protocol, you can't mount the save directory as encrypted fs with files in it and then read them, so it's either you start with those files in a different path and then rewrite them to save or present a new directory as done here.
In each case you need a directory that is outside of the encrypted fs to host the final models (which are encrypted but not via Gramine), so the save can act both as the initial model and the final model location that is outside of the encrypted fs.

@teoparvanov teoparvanov merged commit cc3f12d into securefederatedai:develop Jan 16, 2025
21 checks passed
@MasterSkepticista
Copy link
Collaborator

Why not encrypt the state before writing under save/?

Gramine uses proprietary encryption protocol, you can't mount the save directory as encrypted fs with files in it and then read them, so it's either you start with those files in a different path and then rewrite them to save or present a new directory as done here. In each case you need a directory that is outside of the encrypted fs to host the final models (which are encrypted but not via Gramine), so the save can act both as the initial model and the final model location that is outside of the encrypted fs.

I was referring to standard encryption that does not require enclaves

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.

4 participants