Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОС_ответы.doc
Скачиваний:
43
Добавлен:
27.10.2018
Размер:
21.59 Mб
Скачать

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

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

Оптимальными сетевыми технологиями соединения серверов, а также подсистем хранения в кластере являются SCSI и оптоволокно. Сейчас в высокопроизводительных кластерах все больше начинает применяться Fibre Channel, как наиболее производительная и функциональная технология коммуникации.

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

Специальное программное обеспечение - вот что объединяет серверы в кластеры. Многие современные корпоративные приложения и операционные системы имеют встроенную поддержку кластеризации, но для того чтобы система работала слаженно, а пользователи не испытывали проблем, требуется установить специальное ПО промежуточного уровня, обеспечивающее бесперебойную работу и прозрачность кластера. Это ПО отвечает в первую очередь за слаженную работу всех серверов и обеспечивает формирование и реконфигурацию кластера после сбоев, разрешая возникающие в системе конфликты.

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

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

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

Наиболее распространенным интерфейсом параллельного программирования в модели передачи сообщений является MPI. Рекомендуемая бесплатная реализация MPI - пакет MPICH, разработанный в Аргоннской Национальной Лаборатории.

Для эффективной организации параллелизма внутри одной SMP-cистемы возможны два варианта:

1. Для каждого процессора в SMP-машине порождается отдельный MPI-процесс. MPI-процессы внутри этой системы обмениваются сообщениями через разделяемую память (необходимо настроить MPICH соответствующим образом).

2. На каждой машине запускается только один MPI-процесс. Внутри каждого MPI-процесса производится распараллеливание в модели "общей памяти", например с помощью директив OpenMP.

После установки реализации MPI имеет смысл протестировать реальную производительность сетевых пересылок.

Кроме MPI, есть и другие библиотеки и системы параллельного программирования, которые могут быть использованы на кластерах. Следует понимать, что использование для программирования нестандартных средств ведет к плохой переносимости параллельных программ.

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