allenai / tango

Organize your experiments into discrete steps that can be cached and reused throughout the lifetime of your research project.

Home Page:https://ai2-tango.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Beaker Executor should execute multiple Tango steps in one Beaker experiment

dirkgr opened this issue Β· 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

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%.

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.

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

Or we take the max of the resource requirements.