Draft Reply To Josh And Mike

Subject: Re: implementing the PrivSyn prototype on UVA Research Computing infrastructure

Hi Josh and Mike,

Thank you, and no problem at all.

I agree that it would be helpful to review the architecture in a bit more detail, especially around the boundary between what could be self-service for our group and what would need RC-administered infrastructure.

I am currently thinking about the project as four layers rather than one single deployment target:

  • a Python library / CLI layer,
  • an internal web interface,
  • a fuller internal system with login, persistent data/session management, and operations controls, and
  • a broader external-facing service.

For the prototype, I think the most realistic near-term target is the first or second layer, with a staged path toward the third if it proves useful. Concretely, I am currently thinking about:

  • a lightweight web/API tier hosted as an RC microservice or similar containerized service,
  • synthesis execution submitted to Rivanna through Slurm rather than running in the web process,
  • project storage for example inputs and generated outputs, and
  • initially limited access for the project team or a small set of UVA users before considering broader exposure.

In parallel, we also have another prototype implementation that can be used as a deployable Python library / CLI. It is based on some older dependencies, so it is somewhat more complex operationally, but it may still be useful to discuss as a lower-layer prototype option that does not require a full managed service.

The questions I would especially like guidance on are:

  1. whether RC microservices are the right home for the web/API tier,
  2. whether a service can submit Slurm jobs directly and under what identity,
  3. what storage / persistent state options RC would recommend for a prototype like this, and
  4. which parts RC would consider self-service versus requiring RC staff administration.

I put together a short architecture brief and permissions checklist for the discussion and would be happy to send that ahead of the meeting if useful.

I’m happy to meet whenever convenient. A 30-minute discussion would be enough from my side.

Best, Tianhao