Hi,
Thanks for all your reply.
I attached the code in the email.
I downloaded : Rhapsodia.Scheduler
from
http://rhascheduler.sourceforge.net/
because I need to do application program level task scheduling.
In file "TaskPackSystem.hpp", I designed a task class "TaskPackage" to carry my defined task.
Other classes in the file are not used.
My main program is mpi_message_transfer.cpp, which can transfer tasks from master to workers
and then collects results from them.
Right now, I am testing 3 tasks (TOTALTASKNUM =3) and 2 workers (nodes).
I use 3 nodes totally, another node is the master.
node 0 : is master.
node 1 : worker 1 assigned with task 1 and 3.
node 2 : worker 2 assigned with task 2.
Each task has a distinct tag, which is assigned by master before it is sent out to a worker.
After receiving a task and doing its local work on the task, the worker uses the same tag ID to send
it to master.
The master use non-blocking world.recv(resultSourceRank, tagID, resultTaskPackage) to get the result task.
You may need to download the Rhapsodia.Scheduler to get their header files.
I attached the 4 files in the email.
mpi_message_transfer.cpp
TaskPackSystem.hpp
BasicScheduler.hpp
SimpleScheduler.hpp
Any help is appreciated.
thanks
Jack
July 5 2010
From: troyer@phys.ethz.ch
Date: Mon, 5 Jul 2010 21:25:26 -0600
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] OpenMPI cannot get the results from workers
On 4 Jul 2010, at 11:06, Jack Bryan wrote:
Dear All :
I designed a master-worker framework, in which the master can schedule
multiple tasks (numTaskPerWorkerNode) to each worker and then collects results from workers.
if the numTaskPerWorkerNode = 1, it works well.
But, if numTaskPerWorkerNode > 1, the master cannot get the results from workers.
But, the workers can get the tasks from master.
why ?
I have used different taskTag to distinguish the tasks, but still does not work.
Any help is appreciated.
Thanks,
Jack
Hi Jack,
This question cannot be answered without seeing the code. As others have recommended, try to write a simple program using native MPI - this should tell you whether the problem is in your code or in Boost.MPI
Matthias
The New Busy think 9 to 5 is a cute idea. Combine multiple calendars with Hotmail. Get busy.