- •Алгоритм выхода из тупиковой ситуации с минимальной ценой
- •Алгоритмы защиты от взаимных блокировок. Классификация алгоритмов защиты.
- •Асинхронные параллельные процессы. Проблема «производитель-потребитель».
- •Асинхронные параллельные процессы. Проблемы синхронизации параллельных процессов.
- •Высокопроизводительный Фортран hpf. Общая характеристика.
- •Задача предотвращения тупиков. Алгоритм банкира.
- •1. Некоторые процессы бесконечно ожидают освобождения требуемых ресурсов, не производя никакой полезной работы
- •2. Процессы удерживают некоторые ресурсы не выполняя никакой полезной работы, и система без внешнего воздействия не может выйти из этого состояния.
- •Задача предотвращения тупиков. Алгоритм упорядоченных классов.
- •1. Некоторые процессы бесконечно ожидают освобождения требуемых ресурсов, не производя никакой полезной работы
- •2. Процессы удерживают некоторые ресурсы не выполняя никакой полезной работы, и система без внешнего воздействия не может выйти из этого состояния.
- •Конструктор массивов в языке Фортран 90.
- •Непроцедурный язык Норма. Понятие сетки. Понятие области.
- •Оператор полагать в языке норма.
- •Операторы языка Фортран 90
- •Операции над массивами в языке Фортран 90.
- •Организация ввода и вывода в языке норма.
- •Понятия критического ресурса и критической секции.
- •Проблема «Производитель-потребитель». Общие семафоры.
- •Проблема взаимных блокировок (тупиков).
- •Программирование пространственно-временных структур на языке оккам.
- •Секции массивов в языке фортран 90.
- •19. Система программирования pvm (Parallel Virtual Machine).
- •20. Система параллельного программирования dvm(Distributed Virtual Machine).
- •21. Система параллельного программирования mpi.
- •22. Структура программы на языке норма. Оператор итерация.
- •23. Условные области в языке норма.
- •24. Язык фортран 90. Общая характеристика.
- •25,26. Язык оккам. Общая характеристика. Операторы языка оккам.
-
Высокопроизводительный Фортран hpf. Общая характеристика.
High Performance Fortran или HPF — это расширение языка Fortran 90 для параллельных вычислительных систем. В текст, написанный на обычном FORTRAN, вставляются директивы, которые с точки зрения FORTRAN являются комментариями. В директивах, в конечном счете, содержатся указания, как данные и операции над ними должны быть распределены по ОЗУ и процессорам. Главной целью при проектировании HPF было сформулировать такой язык, который позволил бы получить max производительность на параллельных компьютерах, и не ограничивал переносимость программ. HPF был разработан на HPF форуме в начале 90-х гг.
Отсутствует понятие процесса, явная передача сообщений и явная синхронизация. В этой модели данные последовательной программы распределяют по процессам параллельной машины. Последовательная программа преобразуется компилятором в параллельную, которая выполняется в модели передачи сообщений. Принцип собственных вычислений → процессор вычисляет только свои данные.
Преимущества: естественный параллелизм, в модели параллелизма по данным сохраняется последовательный стиль программирования и программист не должен представлять программу на низком уровне. Распределение вычисления данных между процессорами является способом повышения локализации данных, т.е. минимизируется передача данных между процессами. HPF упрощает написание программ, но от компилятора требуется повышенный уровень интеллекта. HPF расширяет возможности Фортрана 90: 1)распределение данных; 2)параллельная обработка данных; 3)встроенные и стандартные функции; 4)внешние функции.
Расширения HPF затрагивают следующие стороны Фортрана:
-
Директивы → являются комментариями, которые предлагают компилятору стратегию реализации программы. Они воздействуют на производительность программы, но не изменяют вычисляемый ею результат.
-
Cинтаксис →Введены оператор FORALL и несколько встроенных функций. Они определены как языковые конструкции, а не как комментарии, поскольку они влияют на интерпретацию программы.
-
Библиотечные процедуры → HPF библиотека стандартных функций включает ряд подпрограмм, которые необходимы для высоко эффективных вычислений, Это доп. функции редукции, префиксные и суффиксные функции, функции сортировки.
-
Изменения и ограничения языка → Введены ограничения на динамическое выделение памяти, на манипулирование ею.
В HPF существует директива ALIGN с помощью которой осуществляется распределение данных между процессорами. С помощью Distribute происходит отображение данных на реальные процессоры, после чего запускается параллельная программа. В HPF реализован параллелизм конструкций Fortran 90. Реализовано распараллеливание циклов и конструкций for all. Достоинства HPF:
-
автоматизируется работа по распараллеливанию;
-
в тексте четко разделены действия, составляющие алгоритм, и действия по его оптимизации; запись алгоритма не теряет наглядности;
-
обратная совместимость со стандартным Fortran 90;
-
директивы HPF влияют не на результат работы, а только на скорость его получения, т.е. не способны превратить программу в неработающую.