Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Кластерные системы

сков, системные ресурсы будут исчерпаны, и  для  увеличеия
производительности  придется  создавать  новую   систему   или   существенно
перерабатывать  старую.  Кластерная  система  также  допускает  вертикальную
масштабируемость. Таким образом, за  счет  вертикального  и  горизонтального
масштабирования кластерная модель обеспечивает большую гибкость  и  простоту
увеличения производительности систем.



Проект Beowulf


                                          Beowulf - это скандинавский эпос,
                                          повествующий  о  событиях  VII  -
                                          первой    трети    VIII     века,
                                          участником    которых    является
                                          одноименный  герой,  прославивший
                                          себя в сражениях.

Одним из примеров реализации кластерной  системы  такой  структуры  являются
кластеры  Beowulf.  Проект  Beowulf  объединил   около   полутора   десятков
организаций (главным образом университетов) в  Соединенных  Штатах.  Ведущие
разработчики проекта - специалисты агентства NASA. В данном  виде  кластеров
можно выделить следующие основные особенности:
 - кластер Beowulf состоит из нескольких отдельных  узлов,  объединенных  в
   общую сеть, общие ресурсы узлами кластера не используются;
 - оптимальным считается построение кластеров на базе двухпроцессорных  SMP
   систем;
 -  для  уменьшения  накладных  расходов  на  взаимодействие  между  узлами
   применяют полнодуплексный 100 MB Fast Ethernet  (реже  используют  SCI),
   создают несколько сетевых сегментов или соединяют  узлы  кластера  через
   коммутатор;
 - в качестве программного обеспечения  применяют  ОС  Linux,  и  бесплатно
   распространяемые коммуникационные библиотеки (PVM и MPI);
 Также


История проекта Beowulf

Проект начался летом 1994 года  в научно-космическом центре NASA  -  Goddard
Space Flight Center (GSFC), точнее в созданном на его основе CESDIS  (Center
of Excellence in Space Data and Information Sciences).
Первый Beowulf-кластер был создан на основе  компьютеров  Intel  архитектуры
под ОС Linux. Это была  система,  состоящая  из  16  узлов  (на  процессорах
486DX4/100MHz,  16MB  памяти  и  3  сетевых  адаптера  на  каждом  узле,   3
"параллельных" Ethernet-кабеля по 10Mbit). Он создавался как  вычислительный
ресурс проекта "Earth and Space Sciences Project" (ESS).
Далее в GSFC и других подразделениях NASA были собраны другие, более  мощные
кластеры. Например,  кластер  theHIVE  (Highly-parallel  Integrated  Virtual
Environment) содержит 64 узла по  2  процессора  Pentium  Pro/200MHz  и  4GB
памяти в  каждом,  5  коммутаторов  Fast  Ethernet.  Общая  стоимость  этого
кластера  составляет  примерно  $210  тыс.  В  рамках  проекта  Beowulf  был
разработан   ряд   высокопроизводительных   и   специализированных   сетевых
драйверов (в  частности,  драйвер  для  использования  нескольких  Ethernet-
каналов одновременно).


Архитектура Beowulf

Узлы кластера.
Это или однопроцессорные ПК, или SMP-сервера с небольшим числом  процессоров
(2-4,  возможно  до  6).  По  некоторым   причинам   оптимальным   считается
построение кластеров на базе двухпроцессорных систем, несмотря на то, что  в
этом случае настройка кластера  будет  несколько  сложнее  (главным  образом
потому,  что  доcтупны  относительно  недорогие  материнские  платы  для   2
процессоров Pentium  II/III).  Стоит  установить  на  каждый  узел  64-128MB
оперативной памяти (для двухпроцессорных систем 64-256MB).
Одну из машин  следует  выделить  в  качестве  центральной  (головной)  куда
следует установить достаточно большой жесткий диск,  возможно  более  мощный
процессор и больше памяти, чем на  остальные  (рабочие)  узлы.  Имеет  смысл
обеспечить (защищенную) связь этой машины с внешним миром.
При комплектации рабочих узлов вполне возможно отказаться от жестких  дисков
- эти узлы будут загружать ОС через сеть с центральной  машины,  что,  кроме
экономии средств, позволяет сконфигурировать ОС и все необходимое ПО  только
1  раз  (на  центральной  машине).  Если  эти  узлы  не  будут  одновременно
использоваться в качестве пользовательских рабочих мест,  нет  необходимости
устанавливать на них видеокарты  и  мониторы.  Возможна  установка  узлов  в
стойки (rackmounting), что позволит уменьшить место, занимаемое  узлами,  но
будет стоить несколько дороже.
Возможна организация  кластеров  на  базе  уже  существующих  сетей  рабочих
станций, т.е. рабочие станции пользователей могут использоваться в  качестве
узлов кластера ночью и в выходные дни. Системы такого типа  иногда  называют
COW (Cluster of Workstations).
Количество узлов  следует  выбирать  исходя  из  необходимых  вычислительных
ресурсов и доступных финансовых средств. Следует понимать, что  при  большом
числе узлов придется также устанавливать более  сложное  и  дорогое  сетевое
оборудование.
Сеть
Основные типы локальных сетей, задействованные в рамках проекта  Beowulf,  -
это Gigabit Ethernet, Fast Ethernet и 100-VG  AnyLAN.  В  простейшем  случае
используется один  сегмент  Ethernet  (10Mbit/sec  на  витой  паре).  Однако
дешевизна такой сети, вследствие коллизий оборачивается большими  накладными
расходами на межпроцессорные обмены;  а  хорошую  производительность  такого
кластера следует ожидать только на  задачах  с  очень  простой  параллельной
структурой и при очень редких взаимодействиях  между  процессами  (например,
перебор вариантов).
Для получения хорошей производительности межпроцессорных обменов  используют
полнодуплексный Fast Ethernet на 100Mbit/sec. При этом для уменьшения  числа
коллизий или устанавливают несколько "параллельных" сегментов Ethernet,  или
соединяют узлы кластера через коммутатор (switch).
Более дорогостоящим, но также популярным  вариантом  являются  использование
коммутаторов типа Myrinet (1.28Gbit/sec, полный дуплекс).
Менее популярными, но также реально используемыми при  построении  кластеров
сетевыми технологиями являются технологии сLAN, SCI и Gigabit Ethernet.
Иногда для связи между  узлами  кластера  используют  параллельно  несколько
физичеких каналов связи  -  так  называемое  «связывание  каналов»  (channel
bonding), которое обычно применяется для технологии Fast Ethernet. При  этом
каждый узел подсоединяется к  коммутатору  Fast  Ethernet  более  чем  одним
каналом. Чтобы достичь этого, узлы  оснащаются   либо  несколькими  сетевыми
платами, либо многопортовыми платами Fast  Ethernet.  Применение  связывания
каналов в узлах под управлением ОС Linux позволяет организовать  равномерное
распределение нагрузки приема/передачи между соответствующими каналами.



Системное ПО

Операционная  система.  Обычно  используется  система   Linux   в   версиях,
специально  оптимизированных  под  распределенные  параллельные  вычисления.
Была проведена доработку ядра Linux 2.0.  В  процессе  построения  кластеров
выяснилось, что  стандартные  драйверы  сетевых  устройств  в  Linux  весьма
неэффективны. Поэтому были разработаны новые драйверы, в первую очередь  для
сетей  Fast  Ethernet  и  Gigabit   Ethernet,   и   обеспечена   возможность
логического объединения нескольких  параллельных  сетевых  соединений  между
персональными компьютерами (аналогично  аппаратному  связыванию  каналов)  ,
что позволяет из  дешевых  локальных  сетей,  обладающих  низкой  пропускной
способностью, соорудить сеть с высокой совокупной пропускной способностью.
Как и в любом кластере, на каждом узле кластера исполняется своя копия  ядра
ОС. Благодаря доработкам обеспечена уникальность  идентификаторов  процессов
в рамках всего кластера, а не отдельных узлов.


Коммуникационные   библиотеки.   Наиболее    распространенным    интерфейсом
параллельного программирования в модели  передачи  сообщений  является  MPI.
Рекомендуемая бесплатная реализация  MPI  -  пакет  MPICH,  разработанный  в
Аргоннской Национальной  Лаборатории.  Для  кластеров  на  базе  коммутатора
Myrinet разработана система HPVM, куда также входит реализация MPI.
Для эффективной организации параллелизма внутри одной  SMP-cистемы  возможны
два варианта:
   1. Для каждого процессора в SMP-машине порождается отдельный MPI-процесс.
      MPI-процессы  внутри  этой  системы  обмениваются  сообщениями   через
      разделяемую  память  (необходимо   настроить   MPICH   соответствующим
      образом).
   2. На каждой машине запускается только один MPI-процесс.  Внутри  каждого
      MPI-процесса производится распараллеливание в модели  "общей  памяти",
      например с помощью директив OpenMP.
После  установки  реализации  MPI  имеет   смысл   протестировать   реальную
производительность сетевых пересылок.
Кроме   MPI,   есть   и   другие   библиотеки   и   системы    параллельного
программирования, которые могут быть использованы на кластерах.

Пример реализации кластера Beowulf - Avalon

В 1998 году в Лос-аламосской  национальной  лаборатории  астрофизик  Michael
Warren  и  другие  ученые  из  группы  теоретической  астрофизики  построили
суперкомпьютер Avalon, который представляет  из  себя  Beowulf  -кластер  на
базе процессоров  DEC  Alpha/533MHz.  Avalon  первоначально  состоял  из  68
процессоров, затем был расширен до 140.  В  каждом  узле  установлено  256MB
оперативной памяти, EIDE-жесткий диск на 3.2GB, сетевой адаптер от  Kingston
(общая стоимость узла - $1700). Узлы соединены  с  помощью  4-х  36-портовых
коммутаторов  Fast  Ethernet  и  расположенного  "в   центре"   12-портового
коммутатора Gigabit Ethernet от 3Com.
Общая стоимость Avalon - $313 тыс.,  а  его  производительность  по  LINPACK
(47.7 GFLOPS) позволила ему занять 114 место в 12-й редакции  списка  Top500
(рядом с 152-процессорной системой IBM  SP2).  70-процессорная  конфигурация
Avalon по многим  тестам 
12345След.
скачать работу

Кластерные системы

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ