SimGrid中的并行任务

时间:2016-07-10 12:52:03

标签: c simgrid

simgrid documentation如何创建并行任务的信息:

msg_task_t MSG_parallel_task_create (const char *   name,
    int     host_nb,
    const msg_host_t *  host_list,
    double *    flops_amount,
    double *    bytes_amount,
    void *  data 
)

创建此并行任务后,应使用哪个MSG_task_send函数发送到多个邮箱?

在执行主机上我应该使用msg_error_t MSG_parallel_task_execute (msg_task_t task)。主持人告诉我们何时执行他的部分并行任务。

是否可以跟踪整个并行任务的执行情况?

1 个答案:

答案 0 :(得分:2)

简短回答:我不确定并行任务是否是您正在寻找的抽象。也许你想用邮箱和常规任务构建自己的抽象。接下来的答案很长。

这些并行任务不涉及邮箱:它们允许一个进程启动一组主机之间的全部通信,以及同一组主机上的一些执行。

不会涉及在所选主机上运行的进程:只有它们的主机。在多任务上的进程之间没有预先存在的同步方法。

一个解决方案可能是要求运行并行任务的进程在并行任务完成后将消息发送到正确的邮箱。这听起来很笨拙,但只有你知道你想要建立什么,并能想象你的模型的正确抽象。