c - SimGrid 中的并行任务



此信息来自simgrid文档如何创建并行任务:

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) .主机在执行他的部分并行任务时告诉我们。

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

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

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

不会涉及所选主机上运行的进程:仅涉及其主机。没有预先存在的方法可以在多个任务的进程之间同步。

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

相关内容

  • 没有找到相关文章

最新更新