Hi, I wanted to open this discussion on the order by which the setup, bsp and cleanup functions are called in Chaining Supestep design.
Today the execution order is (say for 3 supersteps defined for a task) : **Order1** 1. Superstep1.setup 2. Superstep2.setup 3. Superstep3.setup 4. Superstep1.compute 5. Superstep2.compute 6. Superstep3.compute 7. Superstep1.cleanup 8. Superstep2.cleanup 9. Superstep3.cleanup However, I had a totally different intuition on this. I assumed that every Superstep lifecycle is completely executed before the next one in chain. I programmed setup of Superstep2 to be dependent on results in Superstep1#compute function, which turned out to be buggy. **Order2** 1. Superstep1.setup 2. Superstep1.compute 3. Superstep1.cleanup 4. Superstep2.setup 5. Superstep2.compute 6. Superstep2.cleanup 7. Superstep3.setup 8. Superstep3.bsp 9. Superstep3.cleanup This might be counter-intuitive for some others. Looking for opinions on which execution order to choose. We have not released it yet, hence we can make a decision in time. Thanks, Suraj
