41. Примеры организации систем параллельной обработки информации: мультикомпьютеры MPP, кластеры. Кластеры: организация и программное обеспечение.

MPP – процессоры с массовым параллелизмом

MPP (Massively Parallel Processor – процессоры с массовым параллелизмом) – это огромные компьютеры, стоимостью несколько миллионов долларов. Они используются в научных исследованиях и промышленности для выполнения сложных вычислений, для обработки большого числа транзакций, для хранения больших баз данных и управления ими.

В большинстве таких машин используются стандартные процессоры (Pentium, UltraSPARC, DEC Alpha и др.).

Особенности MPP-мультикомпьютеров:

Кластерные вычисления

Обычно он состоит из нескольких сотен персональных компьютеров или рабочих станций, соединенных посредством сетевых плат. Различие между MPP и COW аналогично разнице между большой вычислительной машиной и персональным компьютером. Компоненты одинаковы, но различное быстродействие. Но они управляются и применяются по-разному.

Преимущество систем COW над МРР в том, что COW полностью состоит из компонентов, которые можно купить и цены на которые постоянно падают.

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

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

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

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

Если у отправителя есть данные, нет никакой гарантии, что получатель готов их принять. В большинстве систем с передачей сообщений имеется два примитива send и receive.
Три основных варианта:

  1. Синхронная передача сообщений.
  2. Буферная передача сообщений.
  3. Неблокируемая передача сообщений.

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

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

Неблокируемая передача сообщений. Отправитель может продолжать работу сразу после вызова. Библиотека сообщает ОС, что она сделает вызов позднее, когда у нее будет время. Отправитель вообще не блокируется.