0
votes

How to make sure that a multithreaded C++ program is run by ALL cores on a multicore server to do computing in parallel physically (not logically).

I have a multicore server, which has 24 CPUs, each of which has 6 cores.

It is Intel Xeon X5650 2.67GHz cpu cores : 6 (support 6 threads) cpu MHz : 1596.000

totally, I have 24 * 6 = 144 cores.

I designed a multithreaded C++ program with boost/thread.

How to make sure that my program is run by all 144 cores ?

Any help is really appreciated.

thanks

1
Well, you would need to have 144 threads running at the same time at least, but you usually want to have the double of cores as threads to really use them all. - MaurĂ­cio Linhares
Is there some evidence you have that suggests this might not be happening? - user339024

1 Answers

2
votes

There should be nothing special you need to do. The operating system's scheduler should schedule over all available cores by default. If you have 144 ready-to-run threads and the system has nothing else to do, it should schedule one on each available core, physical or virtual.