Опубликован: 28.10.2009 | Уровень: специалист | Доступ: платный
Самостоятельная работа 1:

Компиляция и запуск Microsoft High Performance Computing Server 2008

< Лекция 2 || Самостоятельная работа 1: 123456789 || Лекция 3 >

3.7. Упражнение 5 - Запуск потока задач

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

Примером может служить следующий граф зависимостей задач.

Реализуем граф зависимостей в Microsoft HPC 2008:

  • Откройте HPC Job Manager (Start->All Programs->Microsoft HPC Pack->HPC Job Manager).
  • В открывшемся окне менеджера заданий выберите пункт меню Actions->Job Submission->New Job.
  • Введите параметры задания аналогично тому, как это было сделано в предыдущих упражнениях и перейдите к пункту Task List.
  • Последовательно добавьте в задание следующие 4 задачи:
    • Задачу с именем " Hostname " и командой " hostname.exe ".
    • Задачу с именем " Sequential Pi 1000 " и командой " \\ws-2k-115-clust\shared\serialPi 1000 " (замените путь до исполняемого файла программы на существующий).
    • Задачу с именем " Sequential Pi 2000 " и командой " \\ws-2k-115-clust\shared\serialPi 2000 " (замените путь до исполняемого файла программы на существующий).
    • Задачу с именем " Parallel Pi 10000 " и командой " mpiexec \\ws-2k-115-clust\shared\parallelPi.exe 10000 " (замените путь до исполняемого файла программы на существующий).
  • Нажмите на кнопку " Dependency " для задания зависимостей между заданиями.

  • В Microsoft HPC 2008 задание зависимостей между задачами задается с помощью разделения заданий на группы. Группы выполняются друг за другом в соответствии со своими индексами. Внутри каждой группы задания выполняются в произвольном порядке. Таким образом, в первую группу войдут задания, у которых в графе зависимостей нет родителей (Hostname в нашем случае). Во вторую группу войдут задания, все родители которых находятся в первой группе. В каждую последующую группу входят задания, родители которых находятся только в одной из предыдущих групп. Для добавления новой группы нажмите кнопку Add. Для перемещения задач между группами выделите задачи, которые Вы хотите переместить, и нажмите кнопку Move Up или Move Down для перемещения, соответственно, в группу большего (время старта раньше) или меньшего (время старта позднее) уровня. В итоге у Вас должно получиться следующее разбиение задач по группам. Нажмите OK для сохранения настроек.

  • Нажмите кнопку Submit для добавления задания в очередь или перейдите на вкладку Resource Selection для выбора вычислительных ресурсов для запуска в соответствии с описанием в упражнении " Запуск последовательной задачи ".
  • Введите имя и пароль пользователя с правами запуска заданий на кластере.

  • Планировщик HPC 2008 сначала запустит задачу " Hostname ", затем параллельно задачи " Sequential Pi 1000 " и " Sequential Pi 2000 " и только потом задачу " Parallel Pi 10000 ".
< Лекция 2 || Самостоятельная работа 1: 123456789 || Лекция 3 >
Алексей Николаев
Алексей Николаев
Россия, г. Саранск
Рамиль Ариков
Рамиль Ариков
Россия, Республика Мордовия