Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_Trsipv_Ch_1.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.7 Mб
Скачать

14 Основные понятия распределенных вычислений

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

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

С взаимодействующими процессами могут быть сопоставлены некоторые каналы передачи, то есть канал – это средство идентификации взаимодействующих процессов.

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

Модели реализации взаимодействия распределенных процессов:

  1. «Производитель-потребитель».

  2. «Взаимодействующие равные» (двунаправленный канал).

  3. «Клиент-сервер» (двунаправленный канал). Клиент формирует запрос на данные, сервер формирует и передает требуемую информацию.

  4. «Удаленный вызов процедур». Процесс запрашивает и получает доступ к общему вычислительному ресурсу, передает ему данные, получает результат. Возможны различные механизмы синхронизации доступа к общему ресурсу.

14.1 Основные понятия передачи сообщений по каналам

Канал – идентификатор процесса. Канал – это очередь передаваемых сообщений. Передача не блокирующая, так как предполагается очередь неограниченной длины. Очередь идентифицируется соответствующим приемником сообщений.

Рисунок 14.1 – Схема реализации очереди

Задание идентификатора канала при обмене сообщениями предполагает определение очереди сообщений к соответствующему приемнику, в который выставляются данные.

14.2 Схемы «Взаимодействующие равные» при обмене между процессами

«Взаимодействующие равные» предполагает использование каналов при передаче сообщений в обоих направлениях.

Пример: имеется n процессов, каждый из которых формирует одно значение локальной переменной. Необходимо определить минимальное и максимальное значение из совокупности данных.

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

Процесс Р0 последовательно опрашивает каналы (очереди) на наличие в них данных. При готовности данных определяется результат, который распределяется между процессами Р1- Р3. Задержка при обработке связана с готовностью данных от источника. При формировании результата, P0 широковещательно рассылает его между источниками.

  1. Распределенное («симметричное ») решение

Каждый процесс взаимодействует с остальными при получении от них данных. Каждый процесс независимо от других вычисляет минимальные и максимальные совокупности. Выполняется параллельная реализация программ. Данная схема – аналог схемы ОКМД (много экземпляров одной программы обрабатывают распределенные данные). Недостаток – избыточность в передаче сообщений.

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