NVIDIA FLARE Workspace

NVIDIA FLARE maintains a workspace for keeping the FL apps and execution results for different jobs under folders with the name of the job_id.

The following is the workspace folder structure when running NVIDIA FLARE for the server and clients.

Server

/some_path_on_fl_server/fl_server_workspace_root/
    admin_audit.log
    log.txt
    startup/
        authorization.json
        fed_server.json
        log_config.json
        readme.txt
        rootCA.pem
        server_context.tenseal
        server.crt
        server.key
        signature.pkl
        start.sh
        stop_fl.sh
        sub_start.sh
    transfer/
    aefdb0a3-6fbb-4c53-a677-b6951d6845a6/
        app_server/
            ...
            config_fed_server.json
        fl_app.txt
        log.txt
    baaf8789-e83f-4863-b085-3ca95303e6bc/
        app_server/
            ...
            config/
                config_fed_server.json
        fl_app.txt
        log.txt

In each job_id folder, there is the app_server folder that contains the NVIDIA FLARE Application that is running on the server for this job_id.

The log.txt file inside each job_id folder contains the log entries for that job.

In contrast, the log.txt file under the server folder logs the server control process.

The startup folder contains the config and the scripts to start the FL server program.

Accessing server-side workspace

When the job is running, each job will have a corresponding workspace under the server folder.

When the job is finished, the server side workspace will be removed. The workspace will be saved into the JobStorage.

You can issue the download_job [JOB_ID] in the admin client to download the server side workspace.

The downloaded workspace will be in [DOWNLOAD_DIR]/[JOB_ID]/workspace/.

Note

Issuing download_job before the job finishes will result in an empty workspace folder.

Client

/some_path_on_fl_client/fl_client_workspace_root/
    log.txt
    startup/
        client_context.tenseal
        client.crt
        client.key
        fed_client.json
        log_config.json
        readme.txt
        rootCA.pem
        signature.pkl
        start.sh
        stop_fl.sh
        sub_start.sh
    transfer/
    aefdb0a3-6fbb-4c53-a677-b6951d6845a6/
        app_clientA/
            ...
            config_fed_client.json
        fl_app.txt
        log.txt
    baaf8789-e83f-4863-b085-3ca95303e6bc/
        app_clientA/
            ...
            config/
                config_fed_client.json
        fl_app.txt
        log.txt

In each job_id folder, there is the app_clientname folder that contains the NVIDIA FLARE Application that is running on the client for this job_id.

The log.txt file inside each job_id folder contains the log entries for that job.

While the log.txt under client folder is the log for the client control process.

The startup folder contains the config and the scripts to start the FL client program.

The Workspace object is available through the FLContext. From the Workspace, you can access each folder location accordingly

workspace = fl_ctx.get_prop(FLContextKey.WORKSPACE_OBJECT)