Question

I wish to know is there any way that I can create the threads on other nodes without starting the process on the nodes. For example :- lets say I have cluster of 5 nodes I am running an application on node1. Which creates 5 threads on I want the threads not to be created in the same system but across the cluster lets say 1 node 1 thread type. Is there any way this can be done or is it more depends on the Load Scheduler and does openMP do something like that?

if there is any ambiguity in the question plz let me know I will clarify it.

Was it helpful?

Solution

Short answer - not simply. Threads share a processes' address space, and so therefore it is extremely difficult to relocate them across cluster nodes. And, if it is possible (systems do exist which support this) then getting them to maintain a consistent state introduces a lot of synchronization and communication overhead which impacts on performance.

In short, if you're distributing an application across a cluster, stick with multiple processes and choose a suitable communication mechanism.

OTHER TIPS

generally, leave threads to vm or engine to avoid very inert locks, focus app or transport, if one, create time (200 hz=5ms heuristic), if 2, repaint, good pattern: eventdrive

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top