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 parallelism to aggregate_non_interactive_multi_party_server_key_shares #12

Merged

Conversation

arnaucube
Copy link
Collaborator

@arnaucube arnaucube commented Jul 24, 2024

Joint work with @CPerezz .

For example,

In a 12 cores server with 48GB RAM, the call to aggregate_server_key_shares:

  • for examples/if_and_else:
    • prior to this commit it took 47.56s
    • with this commit it takes 4.66s
  • for examples/non_interactive_fheuint8:
    • prior to this commit it took 158.15s
    • with this commit it takes 14.96s

so about ~10x reduction.

In a 4 cores laptop with 8GB RAM (low capacity laptop, with multiple other apps running), the call to aggregate_server_key_shares:

  • for examples/if_and_else:
    • prior to this commit it took 48.65s
    • with this commit it takes 23.11s

so about ~2x reduction.

Might be related to #5, #10.

@arnaucube arnaucube force-pushed the parallel-agg-key-shares branch from 7f6584f to a02512e Compare July 24, 2024 23:04
@RiverRuby
Copy link
Collaborator

this is sick

@arnaucube arnaucube changed the base branch from main to experimental July 25, 2024 21:33
…hares

For example,

In a `12 cores` server with `48GB RAM`,
the call to `aggregate_server_key_shares`:
- for `examples/if_and_else`:
  - prior to this commit it took `47.56s`
  - with this commit it takes `4.66s`
- for `examples/non_interactive_fheuint8`:
  - prior to this commit it took `158.15s`
  - with this commit it takes `14.96s`

so about `~10x` reduction.

In a `4 cores` laptop with `8GB RAM` (low capacity laptop, with multiple other apps running    ),
the call to `aggregate_server_key_shares`:
- for `examples/if_and_else`:
  - prior to this commit it took `48.65s`
  - with this commit it takes `23.11s`

so about `~2x` reduction.

Co-authored-by: Carlos Pérez <[email protected]>
@arnaucube arnaucube force-pushed the parallel-agg-key-shares branch from a02512e to 720b13f Compare July 25, 2024 22:16
@arnaucube
Copy link
Collaborator Author

Update: pointed the PR to experimental branch (instead of main), and rebased the PR branch to experimental. Since had to do changes to solve git conflicts, already put the version without the Mutex that you proposed @Janmajayamall .

@Janmajayamall Janmajayamall merged commit b9086b1 into gausslabs:experimental Jul 26, 2024
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.

3 participants