Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_Svoystva_i_klassifikatsia_protsessov.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
236.54 Кб
Скачать
  1. Распределенное программирование. Схемы взаимодействия

Клиент-сервер

Архитектура клиент-сервер один из вариантов построения систем, состоящих из наборов серверов, предоставляющих определенные сервисы; наборы клиентов, использующие эти сервисы; и средств связи, обеспечивающих передачу информации

Сопоставление программ смониторами и с передачей сообщений

С мониторами

С передачей сообщений

Постоянные переменные

Локальные переменные сервера

Идентефикаторы процедур

Канал запроса

Вызов процедуры

SEND request(); recieve replu

Вход в монитор

Receive reply()

Возврат в процедуру

Сохранение ожидающих запросов

Операция WAIT

Получение и обрабокта ожидающего запроса

Операция SIGNAL

Ветки оператора выбора по видам переменной

Тело процедуры

Взаимодействующие равные. Обмен значениями.

Есть n процессов, имеющих переменную V. Требуется найти min и macx среди этих значений

  • централизованное решение

  • симметричное решение

  1. Централизованное решение

Выделяется процесс который собирает n чисел, находит max и min и рассылает остальные процессы.

  1. Симметричное решение

В этом случае все процессы работают одинаково каждый процесс отправляет свое значение всем остальным, затем все процессы параллельно вычисляют max и min из полученных значений

  1. Кольцевое решение

Процессы замыкаются в логическое колько, каждый процесс получает сообщение от предшественника и отправляет сообщение приемнику

Вычисление происходит в 2 этапа:

  1. процесс получает 2 числа, определячет min и max из них и своего значения и отправляет результаты дальше

  2. Процесс получает глобальное значение min и max и передает результаты дальше

1 процесс выступает как инициатор процесса.

Симметричное решение является самым коротким и его легко программировать, так как все процессы выполняют одни и теже действия с другими строками в нем используется больше всего сообщений (сократить число сообщений можно с помощью микровещательной рассылки).

Сообщения оправляются и передаются параkлельно => надо учитывать характеристики каналов связи (если необходимо ставить задержки)

Чем больше передаются сообщения, тем меньше скорость.

Централизованное и кольцевое решение используют линейное число сообщений но имеют разные схемы взаимодействия:

  • в централизованном решении все сообщения передаются управляющему процессу практически одновременно, поэтому существующую задержку выполнения управляющего процесса может выполнить только первый recieve аналог. Результаты от управления процессами осуществляется без задержек.

  • В кольцевом решении все процессы являются одновременно и производителями и потребителями соединенные в круговой конвенер, т. е. Последний процесс в кольце доолжен рождаться пока кажды процесс получает сообщение выполнит вычисление и отправит результаты другому процессу => оптимизировать это решение путем совмещения передачи сообщений невозможно.

Поэтому это решение непроизвод. Это решение приемлимо в том случае, если каждый процесс выполнит значительное количество вычислений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]