Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по сетям ЭВМ2.doc
Скачиваний:
33
Добавлен:
02.05.2014
Размер:
392.7 Кб
Скачать

Раздел: «Распределенное вычисление» Организация кластеров

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

  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)-американский стандарт шифрования. Система все-таки была взломана и это положило стартBPGrid.

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

  1. Медицина.

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

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

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

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

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

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

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

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

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

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

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

Чтобы обратиться к критической секции нужно сделать 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) распараллеливание данных(dataparallel)

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

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

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

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

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

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

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

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

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

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

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

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

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

Минусы:

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

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

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

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

  1. Message Passing Interface(MPS).

  2. PVM.

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

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

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

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

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

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

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

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

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

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

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

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