02-12-2016 04:58 AM
Hi,
just had an idea... probably somebody else has contemplated about this also:
is there a possiblity to distribute Actors all over the execution systems? E.g. to have DAQ Actors running on a Data Acquisition and the UI Actors in the UI system...
Does this make sense at all?
Cheers
Oli
Solved! Go to Solution.
02-12-2016 08:48 AM
This thread might be what you're looking for, Oli:
https://decibel.ni.com/content/message/82921#82921
02-12-2016 08:52 AM
Cheers
02-12-2016 06:07 PM
It is possible. I would advise against it. I never updated that other thread, but I did have a long discussion with one of LabVIEW's senior architects, the guy who implemented the execution systems. The architect expressed regret for adding execution systems to LabVIEW. Conceptually it sounds like a good idea. The vast vast vast majority of the time, people who set their VIs to particular execution systems just hurt themselves because they limit the flexibility of LabVIEW's far-smarter-than-most-of-us scheduling system and the operating system's far-smarter-than-LabVIEW thread contention system. Yes, they solve some cases, but those cases are very very limited, far more limited than most people imagine. Basically, don't play with the execution system settings ever unless you are forced into it because you have actually tracked performance problems specifically to thread contention issues, and then make sure you're somewhat of an expert in the OS threading models and CPU usage because you can actually make the problem worse by dividing actors into execution systems -- the divisions that are often intuitive from a programming standpoint (these are related so they go together) aren't necessarily good from an operations standpoint (you may want unrelated actors to be in the same execution system because then they aren't operational at the same time).
02-15-2016 12:25 AM
AQ,
thanks for the details.
I guess, I'll just leave everything set to default, unless I encounter issues.
02-15-2016 10:35 AM
Definitely what I would advise. Once you get everything working, if you adjust the execution systems and see a marked increase in performance, that would be interesting to hear about. But it should be an experiment at the end, not something you do up front.