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:
- whether RC microservices are the right home for the web/API tier,
- whether a service can submit Slurm jobs directly and under what identity,
- what storage / persistent state options RC would recommend for a prototype like this, and
- 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