Переход от эталонного языка представления языка программирования. . .
Фортран HPF и DVM — дополнения соответствующими спецком-
ментариями эталонного языка программирования для параллельного
программирования многопроцессорных кластеров матричной архи-
тектуры. Применение спецкомментариев данного класса переводит
последовательную программу в ранг параллельной программы с сох-
ранением единого текста и c предположением об эквивалентности
результатов параллельных и последовательных вычислений.
В свое время В. В. Воеводин [4], говоря о стиле программиро-
вания, приводил пример простого векторного вычисления тремя ва-
риантами алгоритмически эквивалентных циклических конструкций,
которые различаются временем выполнения на порядки. Диапазоны
вариаций времени счета OpenMP программ и ее элементов, объем
используемой оперативной памяти могут расширяться. Поэтому для
эффективного управления динамикой выполнения программы систе-
мой спецкомментариев определены дополнительные механизмы. Од-
нако использование в параллельной программе возможностей полно-
го аппарата спецкомментариев OpenMP не позволяет в ряде случаев
сохранять ее эквивалентность последовательной программе. Поэто-
му предположение о возможности возвращения к последовательно-
му варианту параллельной программы для ее отладки и тем более
о сопровождении только одного варианта программы следует счи-
тать преувеличением возможностей системы OpenMP. Наконец, си-
стема OpenMP обеспечивает параллельное программирование только
для мультипроцессорных систем с общей памятью и не применима
к матричным вычислителям. Система спецкомментариев DVM имеет
средства настройки для оптимального управления динамикой выпол-
нения параллельной версии программы на уровне систем интерпрета-
ции, а не на уровне эталонного языка. Так как этапу внесения в текст
последовательной программы спецкомментариев предшествует рабо-
та по реструктуризации программы для параллельного выполнения,
то разрыв между алгоритмически эквивалентными версиями програм-
мы увеличивается еще больше. Параллельная версия последователь-
ной программы, полученная с помощью спецкомментариев, — все-
гда другая программа. Это не удивительно, так как даже трансляция
последовательной программы с включенным режимом оптимизации
приводит иногда к генерации объектного кода, результаты счета кото-
рого могут не совпадать с результатами счета кода, полученным без
оптимизации.
Система спецкомментариев имеет непосредственное отношение
к эволюции языков программирования. Практика внедрения языков
программирования с широкими новыми возможностями таких, как
Алгол-68, Ада не получила развития, в частности, из-за большого
разрыва между уровнями классических и обобщенных языков для
7