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