質問

I'm looking for some guidance before I spend tons of time reorganizing a legacy program. If I have cores that are part of a virtual cluster. I have a computation that is broken into many parts and distributed to each member of the cluster. If each cores is hyper-threaded which of the following is most efficient:

  1. 2 virtual machines, one for each logical core. Half the computation is sent to each
  2. 1 virtual machine, where the OS handles the use of the logical cores.
  3. 1 virtual machine, where OpenMP is used to create 2 threds to split the computation.

My gut feeling is option 2, because a hyper-threaded core isn't a true core and option 3 requires additional overhead of starting threads and communicating data while one thread is idle. Any insight is greatly appreciated. Thanks.

役に立ちましたか?

解決

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top