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

Aurel/server hawk #1023

Merged
merged 23 commits into from
Feb 14, 2025
Merged

Aurel/server hawk #1023

merged 23 commits into from
Feb 14, 2025

Conversation

naure
Copy link
Collaborator

@naure naure commented Feb 12, 2025

Goals of the PR is enabling smooth local development of the HNSW-based implementation of the SMPC protocol with all its infrastructure dependencies, as well as having a self-contained way of running the server without GPU dependencies.

Parts of the PR are:

  • AWS stack through docker / LocalStack
  • DBs using docker / postgres
  • A self-contained server implementation that has no GPU dependencies

2 options to run locally:

1. Locally run a single server without Docker (recommended for quick iteration)

Step 1: run ancillary services

>>> docker-compose up localstack dev_db

Step 2: run service with the init script for Party 0

>>> ./scripts/run-server.sh 0 --init-servers # change to 1 or 2 for other parties

The script must run with --init-servers flag at least once. It will create some AWS resources, but after that it can run without it.

>>> ./scripts/run-server.sh 1
>>> ./scripts/run-server.sh 2 # in a separate shell

2. Run everything with docker

Just run

>>> docker-compose up

It will bring up the 3 parties plus all the needed AWS/DB resources

What else is missing

  • SQS and SNS setup in LocalStack to send and receive messages, plus a lightweight client that can generate queries and send them to SNS/SQS
  • Mapping of current inputs of iris-mpc-gpu to what iris-mpc-cpu expects. Namely, ensure that BatchQuery can be consumed by the HawkActor
  • Mapping of the current outputs of iris-mpc-cpu to what we need to produce to be sent to SQS. In iris-mpc-gpu, this is encapsulated by the ServerJobResult. In iris-mpc-cpu, the construct used is HawkResult

@carlomazzaferro
Copy link
Collaborator

@carlomazzaferro carlomazzaferro marked this pull request as ready for review February 14, 2025 12:22
@github-actions github-actions bot added the chore label Feb 14, 2025
@carlomazzaferro carlomazzaferro merged commit 3bc1fed into main Feb 14, 2025
12 checks passed
@carlomazzaferro carlomazzaferro deleted the aurel/server_hawk branch February 14, 2025 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants