On 10/06/2011 16:04, Kostas Karasavvas wrote:
> Hi all,

Hello

> I have a question regarding the implementation of implicit iteration.
>
> Say we have: A ->  B
> A produces a list (say, with 5 elements)
> B consumes a single element
>
> Will it iterate 5 times in sequence, i.e. call B, get results, call B,
> get results, ...
> Will it use threads, i.e. call B in thread1, call B in thread2, ...
> Something else? Is it maybe configurable?

The 5 calls of B do not have to happen in sequence. For example, if A is 
outputting its list as individual elements (rather than waiting for the 
whole list to be available and then outputting it), then A may produce 
element 3 before element 1. Because the call of B will happen for 
element 3 as soon as it is available, it will happen before the call 
corresponding to element 1.

However, if you think of a list made up of the outputs of the 5 calls of 
B, then that list will still be in the right order i.e. the result of 
calling B for element 3 will be at position 3, that of element 1 at 
position 1. So, although the calls may have been made out-of-sequence, 
the overall result is in the correct sequence.

Each service invocation happens in a separate thread, so yes Taverna 
uses threads for the calls of B.

Whether several calls of B can be made at the same time, depends on the 
type of service that B is, and also on what has been specified for the 
number of parallel jobs for that service.

There is only one beanshell interpreter for each beanshell service in 
the workflow, so although you can tell Taverna to run several parallel 
calls to that beanshell service, the calls will happen in sequence.

For a WSDL service, Taverna can run calls in parallel. That can be 
dangerous though as it can have nasty effects on the machine where the 
remote service runs.

To set the number of parallel jobs that Taverna will try to use for a 
service, you can r-click on the service, select "Configure running" and 
then "Parallel jobs".

> Thanks,
> Kostas

Alan

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
taverna-hackers mailing list
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/about/contact-us/
Developers Guide: http://www.taverna.org.uk/developers/

Reply via email to