2016-07-10 8 views
0

Эта информация от simgrid documentation как создавать параллельные задачи:Параллельная задача 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). Хост позволяет нам знать, когда выполняется выполнение его части параллельной задачи.

Можно ли отслеживать выполнение целиком параллельная задача?

ответ

2

Короткий ответ: Я не уверен, что параллельные задачи - это абстракция, которую вы ищете. Возможно, вы хотите создать собственную абстракцию с почтовыми ящиками и регулярными задачами. Далее следует длинный ответ.

В этих параллельных задачах нет почтового ящика: они позволяют одному процессу запускать всеобщую связь между набором хостов и некоторым исполнением на одном и том же множестве узлов.

Процессы, выполняемые на выбранных хостах, не будут задействованы: только их хосты. Существует не существовавший ранее способ синхронизации между процессами по нескольким задачам.

Одним из решений может быть запрос о запуске параллельной задачи для отправки сообщений в нужные почтовые ящики после выполнения параллельной задачи. Это звучит неуклюже, но только вы знаете, что хотите построить, и можете представить себе правильную абстракцию для вашей модели.

+0

Если процесс, выполняющийся на выбранном хосте, не будет задействован, как этот процесс может отправить сообщение после выполнения задачи? –

 Смежные вопросы

  • Нет связанных вопросов^_^