Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laba_All.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.11 Mб
Скачать

Потактовое описание.

Потактовое описание - исчерпывающее в своей полноте описание последовательности осуществления фаз Pik, Tik на всех N вычислителях. На рис. 2 приведен пример представления параллельной задачи в виде графа и схема соответствующего параллельного алгоритма решения этой задачи.

а)

б)

Рис. 2 Пример представления параллельной задачи в виде графа (а) и схема соответствующего параллельного алгоритма решения этой задачи (б).

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

Программа-интерпретатор PmkLab

В данной лабораторной работе для описания работы параллельной задачи используется специальная программа-интерпретатор, позволяющая обойтись без написания и компиляции реальной программы (что было бы сложно в условиях лабораторной). Программа-интерпретатор позволяет создать и испытать в работе макет параллельной задачи, описав структуру программы при помощи упрощенных команд. Главное окно программы представлено на рис. 3.

Рис. 3 Главное окно программы-интерпретатора

Параллельная задача может выполняться на двух или трех вычислителях. Соответственно, имеется три поля для ввода текстов программ вычислителей. Введенную программу можно сохранить или загрузить. Когда программа составлена, необходимо выполнить трансляцию, в ходе которой производится исключительно синтаксический контроль текста программы. Если ошибок не обнаружено, можно запускать задачу на исполнение. Для этого нужно запустить отдельно все вычислители (два или три) на разных компьютерах сети. После запуска всех вычислителей происходит инициализация ПМК-сети, а окончательный запуск на выполнение производится нажатием кнопки «Запустить программу» в окне управления ПМК-сети любого из вычислителей.

Для составления программы используются следующие команды:

  • InitNet(<SET_TOKEN/RESET_TOKEN>) - Инициализация сети, параметром задается факт присутствия или отсутствия жезла у вычислителя в момент запуска программы, жезл может быть установлен только одному вычислителю;

  • Process(<название>, <длительность>) - Имитация выполнения фазы вычислений, задаются название фазы (произвольное) и длительность фазы в миллисекундах. Имитация заключается во введении временной задержке заданной длительности;

  • SendData(<номер вычисл.>,<размер данных в байтах>) - Передача данных указанного объема указанному вычислителю. Передача реально осуществляется (не имитируется);

  • ReceiveData(<номер выч.>,<размер данных в байтах>) - Прием данных указанного объема от указанного вычислителя, парная функция для SendData;

  • SendToken(<номер вычисл.>) - Передача жезла указанному вычислителю;

  • ReceiveToken(<номер вычисл.>) - Прием жезла от указанного вычислителя, парная функция для SendToken;

  • CloseNET() - Завершение работы программы данного вычислителя.

Возможно применение директивы #define, которая позволяет задавать подстановку одного выражения другим. Можно вводить комментарии в программу, предваряя их двойным слешем ( // ).

Пример программы для параллельной задачи, граф которой показан на рис. 2 представлен на рис. 3. в окнах программы-интерпретатора.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]