Very informative! Thank you Alan. K.
On 10 June 2011 18:00, Alan R Williams <[email protected]> wrote: > 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/ > ------------------------------------------------------------------------------ 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/
