Теория распараллеливания и синхронизация. Демьянович Ю.К - 19 стр.

UptoLike

5. Комментарии и предикаты
Комментарии, как обычно, бывают однострочные они начи-
наются с # и многострочные они начинаются / и кончаются
/.
Предикаты утверждения, которые должны выполняться в
некоторых точках программы. Их введение позволяет контролиро-
вать правильность вычислен ий . Они начинаются с ##. Например,
##x > 0 означает, что к этому моменту выполнения программы
переменная x должна быть положительна.
§5 Поиск образца в файле
и распараллеливание
Рассмотрим задачу о поиске образца pattern в файле.
Как нам известно, Unix выполняет такой поиск с помощью од-
ной команды:
grep pattern filename
Это соответствует такой п осле довательной программе:
string line;
[прочитать строку ввода из stdin в переменную line];
while (!EOF) { # пока нет конца файла
[искать pattern в line];
if ([pattern есть в line])
[вывести line];
[прочитать следующую строку ввода];
}
Зададимся вопросами:
можно ли распараллелить эту программу?
если можно, то как это сделать?
Основное требование для возможности распараллеливания со-
стоит в том, что программа должна содержать независимые части.
Части программы называются зависимыми, е сли хотя бы одна
из частей влияет на работу другой части. Если части программы
не являются зависимыми, то они называются независимыми.
20