[Simgrid-user] Regarding task simulation

Arnaud Legrand Arnaud.Legrand at imag.fr
Mon Jun 6 19:23:56 CEST 2005


Yesterday Vivekananda Reddy wrote:

> I am using MSG. I want to model an application(like MPI) which has
> 'n' number of tasks which communicate with each other.

Well, I've been using a lot MPI in the past and there is no notion of task
in MPI so I hardly see what you mean... In MPI, there are communicating
process running (most of the time) a SPMD code. So if you know how to write
your code with MPI, you should not have any problem for writing it with MSG.

> The amount of work that a task has to be done can be provided in
> Mflops i.e, the computaion size of the task. But I am not able to
> find out how to attach to the task, the amount of communication it
> has to do with others.

The scheduling literature is prolific about scheduling models so I really
don't know what you're talking about here. Could you precise what model you
have in mind? If you are talking about a parallel task model, where a task
would be defined by a set of processors, an amount of computations to be
performed on each processor, and an amount of communications to be performed
all along the computations (e.g. data communications in a very simple
pattern that induce synchronization), such a model can be easily implemented
with SURF (the simulation kernel on which MSG is now based). More and more
people have been asking about such a model but I haven't been working on it
so far because:

   1) other coding issues in SURF/MSG/GRAS were more important than this one
   2) a clear and formal model still had to be defined
   3) an MSG API also had to be defined (and what people had in mind was not
      always clear)
   4) I didn't have the time nor the need for it yet ;)

> There is an attribute under the master tag in the example deployment
> file for the MSG commented as "communication size of tasks". But I
> am not sure whether it is the communication the task does with other
> or the communication cost required to move the task to a slave
> machine form a master.

This is the communication cost required to move the task to a slave machine
from the master. In MSG when you create a task, you have to precise its
computation size (the amount of Mflops needed to process this task when you
use the MSG_task_execute function) and its communication size (the amount of
data that are attached to this task and should therefore be communicated
when you move this task).

> Please clarify regarding this.

I hope that now, everything has been clarified...

Best regards.

     Arnaud Legrand

More information about the Simgrid-user mailing list