- •Алгоритм выхода из тупиковой ситуации с минимальной ценой
- •Алгоритмы защиты от взаимных блокировок. Классификация алгоритмов защиты.
- •Асинхронные параллельные процессы. Проблема «производитель-потребитель».
- •Асинхронные параллельные процессы. Проблемы синхронизации параллельных процессов.
- •Высокопроизводительный Фортран 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. Язык оккам. Общая характеристика. Операторы языка оккам.
22. Структура программы на языке норма. Оператор итерация.
Норма - полностью отечественная разработка. Относится к непроцедурным языкам. НОРМА - предназначен для решения систем дифференциальных уравнений в частных производных методом сеток.
Отличительной особенностью непроцедурных языков является отсутствие в программе явно описанной процедуры вычислений. Вместо этого программист должен написать соотношения между входными и выходными величинами и области применения этих соотношений. Здесь транслятор понимается как препроцессор.
Формирование процедур для вычислений возлагается на транслятор, который должен по написанным соотношениям определить не только прядок вычислений, но и возможность параллельного счета. Отсюда следует, что программа на языке НОРМА, представляющая собою последовательность описаний, сначала обрабатывается специальным препроцессором, который на выходе формирует программу на одном из известных языков программирования (Си, Фортран, Ассемблер), которые обрабатываются стандартными трансляторами.
Такие языки могут существовать для достаточно узкого класса задач. Был разработан приблизительно в конце 70-х, начале 80-х и ориентирован на решение задач интегрирования СДУ в частных производных методом сеток.
В языке НОРМА основополагающими понятиями являются: ОБЛАСТЬ и оператор ПОЛАГАТЬ: ДЛЯ <область> ПОЛАГАТЬ <список соотношений>
Оператор присваивания “:” служит для транслятора основой для определения порядка счета и не требует немедленного выполнения.
Простое выражение может включать в себя только специальные величины: параметры. Все параметры должны получить своё значение.
Вводится в рассмотрение пространственно-временная сетка, которая представляет собою совокупность целочисленных наборов, каждый из которых представляет отдельный узел сетки. Сетку можно описать, именовать и производить над ней некоторые простые операции.
Сетка представляет собой векторное N-мерное пространство, в котором определены N направлений, и с каждым таким направлением связано уникальное имя, называемое индексом направления.
Любая область является некоторой ограниченной частью такой сетки.
23. Условные области в языке норма.
Различают два типа условных областей: условные подобласти и предикатные подобласти. Для получения уловных подобластей используются две функции, имеющие один аргумент:
ЛЕВ() и
ПРАВ().
Пример:
SN1:S/SI ЛЕВ(2)+ПРАВ(1) необходимо вернуться к одномерным областям.
В этом описании формируется условная подоблость SN1, которая получается из исходной области S путем исключения из составляющей области SI слева двух точек и добавления справа одной точки.
Предикатная подобласть получается из исходной области путем включения в нее точек, для которых логическое выражение над заданными в узлах сетки переменными истинно.
Пример:
Если S: (S1: (I=2…N) ; S2: (Y=1…M))
SA, SB : S/X + Y[I,J] – Z[J+1] > 0 (для SA – истина, SB – ложно)
В этом примере описываются две предикатные подобласти SA и SB. Переменные X, Y и Z должны быть заданы в узлах сетки. К подобласти SA относятся те узлы области S, для которых выполняется указанное неравенство. К подобласти SB относятся все остальные узлы.
Очевидно, что
SA SB = 0
SA SB = S