thanks for your reply.
My program needs to run many (about 10,000+) computing tasks.
Each task's run time is very very short (< 0.1 second or even less).
At each iteration, all these tasks are run in parallel. Some of them
need to exchange some data (it is very small) and then go on.
I want to keep all 144 cores as busy as possible so that my program
can be done as fast as possible.
So, I want to associate each task with a distinct thread and schedule
threads as many as possible. Also, try yo make the workload balance
among these cores.
How can I do that from the point of programming ?
Any help is really appreciated.
thanks
> From: boost.lists@gmail.com
> Date: Sun, 14 Aug 2011 20:29:13 +0300
> To: boost-users@lists.boost.org
> Subject: Re: [Boost-users] boost multithread use all cores in parallel ?
>
> > 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 ?
>
>
> It's OS thread scheduler who cares about that.
> But your program has to have 144 threads to utilise all the 144 cores.
> _______________________________________________
> Boost-users mailing list
> Boost-users@lists.boost.org
> http://lists.boost.org/mailman/listinfo.cgi/boost-users