Главная > Параллельные вычисления | ||||||
1995 |
Задана программа, состоящая из N операторов присваивания
(1 ≤ N ≤ 15). Каждый оператор записывается в следующем виде:
Требуется распределить операторы заданной программы между двумя одинаковыми процессорами с общей памятью так, чтобы общее время выполнения было минимальным, а смысл программы не изменился.
Каждый оператор выполняется за один такт работы процессора.
Чтобы синхронизировать работу процессоров введена команда
"NOP", которая задерживает работу процессора на один такт.
В процессе одновременной работы двух процессоров выполняемые
операторы могут использовать только такие общие переменные,
которые находятся в правых частях операторов присваивания
(например, операторы " Входные данные Входные данные расположены в текстовом ASCII-файле, имя которго вводится с клавиатуры. Каждый оператор находится на отдельной строке; файл не содержит пробелов и пустых строк; в конце последней строки файла символов конца строки нет. Выходные данные
Результат работы помещается в выходной текстовый ASCII-файл с именем
В первую строку файла записывается искомое минимальное число тактов P. Далее следуют P строк, в которых в две колонки выписаны программы для каждого процессора; колонки должны быть выровнены по левому краю. Пример
Примечания
Система оценки Максимальная оценка за задачу - 30 баллов. |