Hi Karlis > However, if I understand it correctly, the current approach to > multi-threading in moses means that there is some idle time while waiting > for the sentences to be translated in the same order as in input (both > input and output are still serial).
All the sentences are placed in a queue, and while there's still sentences in the queue, the worker threads keep translating. I think this is known as the "thread pool pattern" (http://en.wikipedia.org/wiki/Thread_pool_pattern). You're correct that the output has to be ordered, but this is done by buffering up translated sentences as necessary in the OutputCollector. So you may observe a pause in the output, if one thread is translating a particularly long sentence, but all the threads are still working at this time (unless the long sentence is the last one in the corpus). > > Are there any plans to make the decoding itself multi-threaded? > It's something we may look at within the context of delivering fast online translation, or using a language model server. However it would change the decoding algorithm, and be significantly more complex than the "embarrassingly parallel" setup we have now. best regards - Barry -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. _______________________________________________ Moses-support mailing list [email protected] http://mailman.mit.edu/mailman/listinfo/moses-support
