Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
10.12.2013
Размер:
60.93 Кб
Скачать

Организация кластеров

Для параллельной работы выделяют три технологии:

  1. SMP (симметричные микропроцессорные системы)

Этот механизм встроен в UNIX системах

Config – smp(autoconf)

  1. Grid (кластерные распределенные вычислительные системы)

Узлы находятся внутри этой сети

Технология Grid завязана на сетевое взаимодействие. Grid дешевле чем SMP.

Компьютеры CRAI

Представляет собой золотую пластину на которой 1млн. процессоров.

Кластерные вычисления – необходима сбалансированная нагрузка между узлами.

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

Известен сервер Apache который может работать и на одном процессоре, а так же на группе процессоров.

Майкрософт работает на таком же принципе.

СУБД: MySQL, Oracle могут работать на много процессорной распределенной вычислительной среде.

Для такого взаимодействия должны использоваться различные библиотеки или системы программирования архитектуры:

  1. MPI(Message Passin Interface)

  2. PVM()

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

Beowulf.

На сегодняшний день Интернет сообщество которое занимается распределенными вычислениями.

Distributed.net

Была поставлена задача NASA, кто переберет 65 битный ключ RCS(RCA)-американский стандарт шифрования. Система все-таки была взломана и это положило старт BP Grid.

Эти проекты выложены в Интернете:

  1. Медицина.

  2. Семантические направления.

  3. Анализ экономических факторов. Финансируется крупными банками и прогнозируется экономическое положение стран.

  4. Группа по поиску неземных цивилизаций.

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

Виды алгоритмов распределенных вычислительных систем.

  1. Централизованный алгоритм.

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

  1. Распределенный алгоритм.

Распределенный алгоритм может физически находиться на разных машинах, а централизованный алгоритм на одной машине.

  1. Token ring. Все процессы в распределительной системе образуют логическое кольцо. Очередность доступа идет по кольцу: Каждый процесс знает какой у него номер и когда он может обратиться к критической секции.

Этот алгоритм наименее надежен из всех, но один из самых быстрых, т.к. нет обмена с координатором.

Чтобы обратиться к критической секции нужно сделать n-1 запрос координатору, где n – это процесс и получить n-1 разрешений, таким образом затраты составляют 2(n-1).

Для выполнения распределенного алгоритма, то же самое, но объему передаваемых данных больше в 2-3 раза. Тем не менее при грамотном расположении машин прикладные расходы окупятся производителями серверов.

Сравнительная характеристика протоколов TCP и UDP для применения их в РВ.

TCP – надежный громоздкий, КПД достигает 15-20%, а UPD более 60%.

UPD – быстрый и ненадежный, контроль ошибок делается на уровне приложений. Заголовок TCP составляет 41 байт, а UDP менее 10 байт. Можно просчитать прикладные расходы в два конца.

Обратное возвращение за 200 мс.

Параллельный вычислительные системы.

Архитектура параллельных систем.

На сегодняшний день выделяют две модели программирования:

  1. последовательная (Pascal, C++)

  2. параллельная. Ее появление связано с появлением векторных компьютеров.

В параллельном программировании выделяют две концепции:

1) распараллеливание данных(data parallel)

2) распараллеливание задач, алгоритмов(message passing(обмен сообщениями)).

В основе подходов лежат распараллеленные нагрузки по вычислительным процессам.

Задача просуммировать массив.

Все Интернет проекты работают по подходу №1.

Языки: HP Fortran в нем есть особенности параллельного программирования и С*.

Особенности:

  1. Наличие единого алгоритма который распространяется на каждый из вычислительных узлов.

  2. Наличие единого глобального поля данных.

Минусы: Слабая синхронизация процессов.

Вторая концепция. Распараллеливание задач.

Возьмем три процессора.

Для каждого вычислительного узла нужно писать свою часть алгоритма.

Плюсы: Повышенная гибкость такого подхода.

Минусы:

  1. Повышенная сложность разработки программ для каждого узла, необходимость в отладке сразу трех программ.

  2. На программиста ложится ответственность за равномерную загрузку процессора.

  3. В виду большого межпроцессорного обмена сообщениями разработчику приходиться его минимизировать.

Для работы таких систем существуют отлаженные библиотеки:

  1. Message Passing Interface(MPS).

  2. PVM.

Обе библиотеки работают по принципу распараллеливания задач.

Плюсы: Здесь можно использовать обычный С++ и Fortran.

Программа строится линейно:

- открываем критическую секцию

- посылаем данные

- закрываем критическую секцию

Архитектура вычислительных систем для высокопроизводительных вычислений.

  1. Архитектура компьютера – описание компонент компьютера и их взаимодействие.

  2. Организация компьютера – описание конкретной реализации архитектуры или реализация идей в конкретном железе.

Допустим мы строим многопроцессорную систему.

  1. Схема вычисления системы.

Проектировщик спроектировал и отдает электронщику.