Is there any way to tune the parallelism for local...
# ask-the-community
r
Is there any way to tune the parallelism for locally-executed workflows/run various tasks in parallel as opposed to serially?
@Ketan (kumare3) @Eduardo Apolinario (eapolinario) would you be game for a joblib executor for parallel local runs? This piece is something we’d love to contribute (dask integration wound up deprioritized on our side)
k
if you are open to contributing absolutely
👍
r
Definitely. I’m not sure about implementation details but we run JupyterHub servers w/ 100+ GB of RAM and we’d love to parallelize execution for our researchers (especially back-testing workflows which perform a lot of parallel training steps)
Happy to chat in the next week or two if the team has existing thoughts
k
r
We’d prefer to not execute remotely given the overhead most likely. Something like a shared cache for both remote and local is very interesting though (a lot like Bazel’s remote build caching)
Think this is a bit different from the agents use case tho
k
ya this is not agent
this is to send things remotely
but we are all rowing in the same direction
powerful local, then offloading and then remote
y
@Rahul Mehta i’ve been meaning to investigate this. i think we can add a parallel executor in flytekit so that all the tasks at least run async if not parallel. might be one of the things i work on after the current project.
k
@Rahul Mehta we would love help in first making everything async
r
Awesome. I’m mostly OOO next week but @Yee @Ketan (kumare3) game to chat week after next? Let’s align on what y’all are thinking and happy to land a few contributions to make this possible
Big picture, we want to make cheap experiments accessible to the research team to prioritize what to run on the full prod datasets in the cluster
So both sides of the equation are important