tango icon indicating copy to clipboard operation
tango copied to clipboard

Beaker Executor should execute multiple Tango steps in one Beaker experiment

Open dirkgr opened this issue 2 years ago • 3 comments

🚀 The feature, motivation and pitch

Beaker experiments have significant overhead. When we're running many small Tango steps, we can save some time by running multiple steps at once.

An issue is that we don't know ahead of time how long a step will take, so we don't know which steps make sense to group together. When running like this, it would make sense for Beaker experiments to poll the workspace for new work. This would be a drastic change in how we execute things, and it would overlap with Beaker functionality in uncomfortable ways. This feature requires some careful thought.

Alternatives

No response

Additional context

No response

dirkgr avatar Oct 20 '22 17:10 dirkgr

The caveats in the description of this issue stand, but we can probably find sub-graphs of the whole execution graph that always make sense to group together into one Beaker experiment. A run of steps where each one depends on the previous step, and no other dependencies are unfulfilled, those could always be grouped. It would cut the overhead of my current experiment by 66%.

dirkgr avatar Oct 20 '22 17:10 dirkgr

A run of steps where each one depends on the previous step, and no other dependencies are unfulfilled, those could always be grouped. It would cut the overhead of my current experiment by 66%.

That was my thought as well. These steps would also have to have matching step resource requirements.

epwalsh avatar Oct 20 '22 17:10 epwalsh

These steps would also have to have matching step resource requirements.

Or we take the max of the resource requirements.

dirkgr avatar Oct 20 '22 18:10 dirkgr