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
Asynchronous web tasks #1572
Comments
Theory behind the implementation optionsWe want users to access asynchronous commands without much complexity. In my opinion, we want:
Candidate implementation packages suggested:
Important concepts to understand:
In our case, our blocking functions are pretty clear: the user has to await our server to receive the uploaded simulation, run the pipeline, and download the simulation. In this sense, fundamentally our web api has to wait for such operations to be completed, and hence our operations are mainly IO-limited really. Now, let's evaluate each package according to this requirement:
I have also looked into multiprocess. The documentation and version management is not great in my opinion https://multiprocess.readthedocs.io/en/latest/multiprocess.html RequirementsOne of the main things to define is what we want to parallelise and what we don't. My personal requirements based on my understanding are for the 3.0 architecture:
Implementation caveats
|
When doing parameter scans, especially with large simulation tasks like those that use CustomMediums, it takes a pretty long time to create/upload the task, and then sequentially download it. Could we paralellize this process?
Note related to #1242 but specifically on asynchronous tasks.
This is however a bit broader:
For example, in https://docs.flexcompute.com/projects/tidy3d/en/latest/notebooks/MetalHeaterPhaseShifter.html
It'd be nice if
hs_data
could be just a collection of task result references, that can be downloaded, and not have to be uploaded to the cloud again.Useful reading:
The text was updated successfully, but these errors were encountered: