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.