2009-05-29 13:33:18 UTC
Well, basically there is no advantage of running OpenMI in a single thread. When we created OpenMI version 1 we could simply not cope with how a multithreaded OpenMI would work. Anyway I am happy we stayed with one thread, things are already pretty complicated.
One thing that is important to understand is that it is the OpenMI standard that is single threaded. How to do all other things is totally up to you. So, when Linkable components are communicating, this takes place in a single thread. But you can create your component in such a way that it is only the component that actually implement the ILinkableComponent interface that runs in this thread. E.g. your model engine can run in another thread. You can even allow your engine to continue running in parallel with other components after your linkableComponent has return.
You can also take a look at the wiki page about OpenMI and distributed computing
(http://public.deltares.nl//x/cIABAQ)
Kind regards
Jan Gregersen
http://www.lictek.com/