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

Reply via email to