On Fri, Jun 19, 2009 at 06:07, Jan Hidders<[email protected]> wrote:
> We are still working on the formal semantics and were not entirely > sure about the exact semantics of control links. We currently have two > guesses: > > If there is a link from processor P to Q then > 1. Q cannot start any activity > 2. Q cannot start consuming any of its input > until P has completely produced its output. > > Is it 1 or 2? They are not exactly the same since Q might have some > parts that already are able to execute without needing any input. It's both. An iteration cannot start before all the control links are satisfied AND all the input ports have received a value for that iteration. (This does allow for iteration 4 to start when all it's inputs are ready, even if iteration 2 and 3 don't have all their inputs yet - which can occur if upstream processors have multiple threads) So it doesn't help that Q have some parts that are ready to start, a processor consumes the values at each input port at the same time, so it's like a single function call - in super-pseudocode: [c1,c2,c3].wait(); o1,o2,o3 = f(i1,i2,i3,i4) Also note that 'finished' for the other end of the control link means that there's no more iterations for that process ID - meaning that the empty index [] has been returned. (This means that the full iterations will have to finish in the controlling processors before the first iteration of the controlled processor can start) For nested workflows this means that nested workflows behave like a real processor (they are in a real processor) - not as if they were simply merged with the parent workflow - the same requirement of synchronous iterations apply to the outputs - so a processor cannot (should not!) output on portA and portC, but not on portB. -- Stian Soiland-Reyes, myGrid team School of Computer Science The University of Manchester ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ taverna-hackers mailing list [email protected] Web site: http://www.taverna.org.uk Mailing lists: http://www.taverna.org.uk/taverna-mailing-lists/ Developers Guide: http://www.mygrid.org.uk/tools/developer-information
