Кластерные системы
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: сочинения по русскому языку, реклама реферат
| Добавил(а) на сайт: Evfalija.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата
Михаил Кузьминский
"Открытые системы"
На пороге тысячелетий мы имеем все шансы стать свидетелями монополизации компьютерной индустрии, которая может охватить как микропроцессоры, так и операционные системы. Конечно же, речь идет о микропроцессорах от Intel
(Merced грозит вытеснить процессоры архитектуры RISC) и ОС от Microsoft.
В обоих случаях успех во многом определяется мощью маркетинговой машины, а
не только "потребительскими" свойствами выпускаемых продуктов. По моему
мнению, компьютерное сообщество еще не осознало масштабов возможных
последствий.
Некоторые специалисты сопоставляют потенциальную монополизацию
компьютерного рынка с наблюдавшимся в 70-е годы монопольным господством IBM
- как в области мэйнфреймов, так и операционных систем. Я долгое время
работаю с этой техникой и по мере распространения в нашей стране ОС Unix
все больше осознаю многие преимущества операционной системы MVS
производства IBM. Тем не менее я разделяю распространенную точку зрения, что подобная монополия не способствовала ускорению прогресса.
Западные университеты, которые в свое время одними из первых перешли к
использованию Unix, по-прежнему в своих перспективных разработках опираются
на эту систему, причем в качестве платформы все чаще избирается Linux.
Одной из поучительных академических разработок и посвящена эта статья.
Linux как общественное явление
Мы уже не удивляемся тому, что Linux cтала заметным явлением компьютерной
жизни. В сочетании с богатейшим набором свободно распространяемого
программного обеспечения GNU эта операционная система стала чрезвычайно
популярна у некоммерческих пользователей как у нас, так и за рубежом. Ее
популярность все возрастает. Версии Linux существуют не только для
платформы Intel x86, но и для других процессорных архитектур, в том числе
DEC Alрha, и широко используются для приложений Internet, а также
выполнения задач расчетного характера. Одним словом, Linux стала
своеобразной "народной операционной системой". Hельзя, впрочем, сказать, что у Linux нет слабых мест; одно из них - недостаточная поддержка SMР-
архитектур.
Самый дешевый способ нарастить компьютерные ресурсы, в том числе
вычислительную мощность, - это построить кластер. Массивно-параллельные
суперкомпьютеры с физически и логически распределенной оперативной памятью
также можно рассматривать как своеобразные кластеры. Наиболее яркий пример
такой архитектуры - знаменитый компьютер IBM SР2.
Весь вопрос в том, что связывает компьютеры (узлы) в кластер. В "настоящих"
суперкомпьютерах для этого используется специализированная и поэтому
дорогая аппаратура, призванная обеспечить высокую пропускную способность. В
кластерах, как правило, применяются обычные сетевые стандарты - Ethernet,
FDDI, ATM или HiРРI.
Кластерные технологии с использованием операционной системы Linux начали
развиваться несколько лет назад и стали доступны задолго до появления
Wolfрack для Windows NT. Так в середине 90-х годов и возник проект Beowulf.
Герой эпической поэмы
"Беовульф" - это скандинавский эпос, повествующий о событиях VII - первой
трети VIII века, участником которых является одноименный герой, прославивший себя в сражениях. Неизвестно, задумывались ли авторы проекта, с кем ныне будет сражаться Beowulf (вероятно, с Windows NT?), однако
героический образ позволил объединить в консорциум около полутора десятков
организаций (главным образом университетов) в Соединенных Штатах. Нельзя
сказать, что среди участников проекта доминируют суперкомпьютерные центры, однако кластеры "Локи" и "Мегалон" установлены в таких известных в мире
высокопроизводительных вычислений центрах, как Лос-Аламос и лаборатория
Sandia Министерства энергетики США; ведущие разработчики проекта -
специалисты агентства NASA. Вообще, все без исключения кластеры, созданные
участниками проекта, получают громкие имена.
Кроме Beowulf, известна еще одна близкая кластерная технология - NOW. В NOW
персональные компьютеры обычно содержат информацию о самих себе и
поставленных перед ними задачах, а в обязанности системного администратора
такого кластера входит формирование данной информации. Кластеры Beowulf в
этом отношении (то есть с точки зрения системного администратора) проще:
там отдельные узлы не знают о конфигурации кластера. Лишь один выделенный
узел содержит информацию о конфигурации; и только он имеет связь по сети с
внешним миром. Все остальные узлы кластера объединены локальной сетью, и с
внешним миром их связывает только "тоненький мостик" от управляющего узла.
Узлами в технологии Beowulf являются материнские платы ПК. Обычно в узлах
задействованы также локальные жесткие диски. Для связи узлов используются
стандартные типы локальных сетей. Этот вопрос мы рассмотрим ниже, сначала
же остановимся на программном обеспечении.
Его основу в Beowulf составляет обычная коммерчески доступная ОС Linux, которую можно приобрести на CD-ROM. Первое время большинство участников
проекта ориентировались на компакт-диски, издаваемые Slackware, а сейчас
предпочтение отдаетcя версии RedHat.
В обычной ОС Linux можно инсталлировать известные средства
распараллеливания в модели обмена сообщениями (LAM MРI 6.1, РVM 3.3.11 и
другие). Можно также воспользоваться стандартом р-threads и стандартными
средствами межпроцессорного взаимодействия, входящими в любую ОС Unix
System V. В рамках проекта Beowulf были выполнены и серьезные
дополнительные разработки.
Прежде всего следует отметить доработку ядра Linux 2.0. В процессе
построения кластеров выяснилось, что стандартные драйверы сетевых устройств
в Linux весьма неэффективны. Поэтому были разработаны новые драйверы (автор
большинства разработок - Дональд Бекер), в первую очередь для сетей Fast
Ethernet и Gigabit Ethernet, и обеспечена возможность логического
объединения нескольких параллельных сетевых соединений между персональными
компьютерами, что позволяет из дешевых локальных сетей, обладающих более
чем скромной скоростью, соорудить сеть с высокой совокупной пропускной
способностью.
Как и во всяком кластере, в каждом узле живет своя копия ядра ОС. Благодаря
доработкам обеспечена уникальность идентификаторов процессов в рамках всего
кластера, а не отдельных узлов, а также "удаленная доставка" сигналов ОС
Linux.
Кроме того, надо отметить функции загрузки по сети (netbooting) при работе
с материнскими платами Intel РR 440FX, причем они могут применяться и для
работы с другими материнскими платами, снабженными AMI BIOS.
Очень интересные возможности предоставляют механизмы сетевой виртуальной
памяти (Network Virtual Memory) или разделяемой распределенной памяти DSM
(Distributed Shared Memory), позволяющие создать для процесса определенную
"иллюзию" общей оперативной памяти узлов.
Сеть - дело тонкое
Поскольку для распараллеливания суперкомпьютерных приложений вообще, и
кластерных в частности, необходима высокая пропускная способность и низкие
задержки для обмена сообщениями между узлами, сетевые характеристики
становятся параметрами, определяющими производительность кластера. Выбор
микропроцессоров для узлов очевиден - это стандартные процессоры
производства Intel; а вот с топологией кластера, типом сети и сетевых плат
можно поэкспериментировать. Именно в этой области и проводились основные
исследования.
При анализе различных сетевых плат ПК, представленных сегодня на рынке, особое внимание было уделено таким характеристикам, как эффективная
поддержка широковещательной рассылки (multicasting), поддержка работы с
пакетами больших размеров и т. д. Основные типы локальных сетей, задействованные в рамках проекта Beowulf, - это Gigabit Ethernet, Fast
Ethernet и 100-VG AnyLAN. (Возможности ATM-технологии также активно
исследовались, но, насколько известно автору, это делалось вне рамок
данного проекта.)
Как самому собрать суперкомпьютер
Проанализировав итоги работ, выполненных в рамках проекта Beowulf, можно
прийти к следующему выводу: найденные решения позволяют самостоятельно
собрать высокопроизводительный кластер на базе стандартных для ПК
компонентов и использовать обычное программное обеспечение. Среди самых
крупных экземпляров нельзя не отметить 50-узловой кластер в CESDIS, включающий 40 узлов обработки данных (на базе одно- и двухпроцессорных плат
Рentium Рro/200 МГц) и 10 масштабирующих узлов (двухпроцессорная плата
Рentium Рro/166 МГц). Соотношение стоимость/пиковая производительность в
таком кластере представляется очень удачным. Вопрос в том, насколько
эффективно удается распараллелить приложения - иными словами, какова будет
реальная, а не пиковая производительность. Над решением этой проблемы
сейчас и работают участники проекта.
Следует отметить, что построение кластеров из обычных ПК становится сегодня
достаточно модным в научной среде. Некоторые академические институты в
нашей стране также планируют создать подобные кластеры.
При объединении в кластер компьютеров разной мощности или разной
архитектуры, говорят о гетерогенных (неоднородных) кластерах. Узлы кластера
могут одновременно использоваться в качестве пользовательских рабочих
станций. В случае, когда это не нужно, узлы могут быть существенно
облегчены и/или установлены в стойку.
Используются стандартные для рабочих станций ОС, чаще всего, свободно
распространяемые - Linux/FreeBSD, вместе со специальными средствами
поддержки параллельного программирования и распределения нагрузки.
Программирование, как правило, в рамках модели передачи сообщений (чаще
всего - MPI). Более подробно она рассмотрена в следующем параграфе.
История развития кластерной архитектуры.
Компания DEC первой анонсировала концепцию кластерной системы в 1983 году, определив ее как группу объединенных между собой вычислительных машин, представляющих собой единый узел обработки информации.
Один из первых проектов, давший имя целому классу параллельных систем –
кластеры Beowulf [2] – возник в центре NASA Goddard Space Flight Center для
поддержки необходимыми вычислительными ресурсами проекта Earth and Space
Sciences. Проект Beowulf стартовал летом 1994 года, и вскоре был собран 16-
процессорный кластер на процессорах Intel 486DX4/100 МГц. На каждом узле
было установлено по 16 Мбайт оперативной памяти и по 3 сетевых Ethernet-
адаптера. Для работы в такой конфигурации были разработаны специальные
драйверы, распределяющие трафик между доступными сетевыми картами.
Позже в GSFC был собран кластер theHIVE – Highly-parallel Integrated
Virtual Environment [3], структура которого показана на рис. 2. Этот
кластер состоит из четырех подкластеров E, B, G, и DL, объединяя 332
процессора и два выделенных хост-узла. Все узлы данного кластера работают
под управлением RedHat Linux.
[pic]
Рис. 5
В 1998 году в Лос-Аламосской национальной лаборатории астрофизик Майкл
Уоррен и другие ученые из группы теоретической астрофизики построили
суперкомпьютер Avalon, который представляет собой Linux-кластер на базе
процессоров Alpha 21164A с тактовой частотой 533 МГц. Первоначально Avalon
состоял из 68 процессоров, затем был расширен до 140. В каждом узле
установлено по 256 Мбайт оперативной памяти, жесткий диск на 3 Гбайт и
сетевой адаптер Fast Ethernet. Общая стоимость проекта Avalon составила 313
тыс. долл., а показанная им производительность на тесте LINPACK – 47,7
GFLOPS, позволила ему занять 114 место в 12-й редакции списка Top500 рядом
с 152-процессорной системой IBM RS/6000 SP. В том же 1998 году на самой
престижной конференции в области высокопроизводительных вычислений
Supercomputing’98 создатели Avalon представили доклад «Avalon: An
Alpha/Linux Cluster Achieves 10 Gflops for $150k», получивший первую премию
в номинации «наилучшее отношение цена/производительность».
В апреле текущего года в рамках проекта AC3 в Корнелльском Университете для
биомедицинских исследований был установлен кластер Velocity+, состоящий из
64 узлов с двумя процессорами Pentium III/733 МГц и 2 Гбайт оперативной
памяти каждый и с общей дисковой памятью 27 Гбайт. Узлы работают под
управлением Windows 2000 и объединены сетью cLAN компании Giganet.
Проект Lots of Boxes on Shelfes [4] реализован в Национальном Институте
здоровья США в апреле 1997 года и интересен использованием в качестве
коммуникационной среды технологии Gigabit Ethernet. Сначала кластер состоял
из 47 узлов с двумя процессорами Pentium Pro/200 МГц, 128 Мбайт оперативной
памяти и диском на 1,2 Гбайт на каждом узле. В 1998 году был реализован
следующий этап проекта – LoBoS2, в ходе которого узлы были преобразованы в
настольные компьютеры с сохранением объединения в кластер. Сейчас LoBoS2
состоит из 100 вычислительных узлов, содержащих по два процессора Pentium
II/450 МГц, 256 Мбайт оперативной и 9 Гбайт дисковой памяти. Дополнительно
к кластеру подключены 4 управляющих компьютера с общим RAID-массивом
емкостью 1,2 Тбайт.
Одной из последних кластерных разработок стал суперкомпьютер AMD Presto
III, представляющий собой кластер Beowulf из 78 процессоров Athlon.
Компьютер установлен в Токийском Технологическом Институте. На сегодняшний
день AMD построила 8 суперкомпьютеров, объединенных в кластеры по методу
Beowulf, работающих под управлением ОС Linux.
Кластеры IBM
RS/6000
Компания IBM предлагает несколько типов слабо связанных систем на базе
RS/6000, объединенных в кластеры и работающих под управлением программного
продукта High-Availability Clastered Multiprocessor/6000 (HACMP/6000).
Узлы кластера работают параллельно, разделяя доступ к логическим и
физическим ресурсам пользуясь возможностями менеджера блокировок, входящего
в состав HACMP/6000.
Начиная с объявления в 1991 году продукт HACMP/6000 постоянно развивался. В
его состав были включены параллельный менеджер ресурсов, распределенный
менеджер блокировок и параллельный менеджер логических томов, причем
последний обеспечил возможность балансировки загрузки на уровне всего
кластера. Максимальное количество узлов в кластере возросло до восьми. В
настоящее время в составе кластера появились узлы с симметричной
многопроцессорной обработкой, построенные по технологии Data Crossbar
Switch, обеспечивающей линейный рост производительности с увеличением числа
процессоров.
Кластеры RS/6000 строятся на базе локальных сетей Ethernet, Token Ring или
FDDI и могут быть сконфигурированы различными способами с точки зрения
обеспечения повышенной надежности:
Горячий резерв или простое переключение в случае отказа. В этом режиме
активный узел выполняет прикладные задачи, а резервный может выполнять
некритичные задачи, которые могут быть остановлены в случае необходимости
переключения при отказе активного узла.
Симметричный резерв. Аналогичен горячему резерву, но роли главного и
резервного узлов не фиксированы.
Взаимный подхват или режим с распределением нагрузки. В этом режиме каждый
узел в кластере может "подхватывать" задачи, которые выполняются на любом
другом узле кластера.
IBM SP2
IBM SP2 лидируют в списке крупнейших суперкомпьютеров TOP500 по числу
инсталляций (141 установка, а всего в мире работает 8275 таких компьютеров
с общим числом узлов свыше 86 тыс. В основу этих суперкомпьютеров
заложенный в основу архитектуры кластерный подход с использованием мощного
центрального коммутатора. IBM использует этот подход уже много лет.
Общая архитектура SP2
Общее представление об архитектуре SP2 дает рис. 1. Основная ее особенность архитектуры — применение высокоскоростного коммутатора с низкими задержками для соединения узлов между собой. Эта внешне предельно простая схема, как показал опыт, оказалась чрезвычайно гибкой. Сначала узлы SP2 были однопроцессорными, затем появились узлы с SMP-архитектурой.
[pic]
Рис. 7
Собственно, все детали скрываются в строении узлов. Мало того, узлы бывают
различных типов, причем даже процессоры в соседних узлах могут быть
разными. Это обеспечивает
большую гибкость выбора конфигураций. Общее число узлов в вычислительной
системе может достигать 512. Узлы SP2 фактически являются самостоятельными
компьютерами, и их прямые аналоги продаются корпорацией IBM под
самостоятельными названиями. Наиболее ярким примером этого является
четырехпроцессорный SMP-сервер RS/6000 44P-270 c микропроцессорами Power3-
II, который сам по себе можно отнести к классу компьютеров среднего класса
или даже к мини-суперкомпьютерам.
Устанавливавшиеся в узлах SP2 микропроцессоры развивались по двум
архитектурным линиям: Power — Power2 — Power3 — Power3-II и по линии
PowerPC вплоть до модели 604e с тактовой частотой 332 МГц.
Традиционными для SP2 являются «тонкие» (Thin Node) и «широкие» (Wide Node)
узлы, обладающие SMP-архитектурой. В них могут устанавливаться как PowerPC
604e (от двух до четырех процессоров), так и Power3-II (до четырех).
Емкость оперативной памяти узлов составляет от 256 Мбайт до 3 Гбайт (при
использовании Power3-II — до 8 Гбайт). Основные отличия между тонкими и
широкими узлами касаются подсистемы ввода/вывода. Широкие узлы
предназначены для задач, требующих более мощных возможностей ввода/вывода:
в них имеется по десять слотов PCI (в том числе три 64-разрядных) против
двух слотов в тонких узлах. Соответственно, и число монтажных отсеков для
дисковых устройств в широких узлах больше.
Быстродействие коммутатора характеризуется низкими величинами задержек: 1,2
мс (до 2 мс при числе узлов свыше 80). Это на порядок лучше того, что можно
получить в современных Linux-кластерах Beowulf. Пиковая пропускная
способность каждого порта: она составляет 150 Мбайт/с в одном направлении
(то есть 300 Мбайт/с при дуплексной передаче). Той же пропускной
способностью обладают и расположенные в узлах SP2 адаптеры коммутатора. IBM
приводит также отличные результаты по задержкам и пропускной способности.
Наиболее мощные узлы SP2 — «высокие» (High Node). Высокий узел — это
комплекс, состоящий из вычислительного узла с подсоединенными устройствами
расширения ввода/вывода в количестве до шести штук. Такой узел также
обладает SMP-архитектурой и содержит до 8 процессоров Power3 с тактовой
частотой 222 или 375 МГц.
[pic]
Рис. 8
Кроме того, узел этого типа содержит плату ввода/вывода, которая также
подсоединена к системной плате. Плата ввода/вывода содержит два
симметричных логических блока SABER, через которые осуществляется передача
данных к внешним устройствам, таким
как диски и телекоммуникационное оборудование. На плате ввода/вывода
имеется четыре слота 64-разрядной шины PCI и один 32-разрядный слот
(частота 33 МГц), а также интегрированы контроллеры UltraSCSI, Ethernet
10/100 Мбит/с, три последовательных и один параллельный порт.
C появлением высоких узлов и микропроцессоров Power3-II/375 МГц на тестах
Linpack parallel системы IBM SP2 достигли производительности 723,4 GFLOPS.
Этот результат достигнут при использовании 176 узлов (704 процессора).
Учитывая, что узлов можно установить до 512, этот результат показывает, что
серийно выпускаемые IBM SP2 потенциально близки к отметке 1 TFLOPS.
Кластерные решения Sun Microsystems
Sun Microsystems предлагает кластерные решения на основе своего продукта
SPARCclaster PDB Server, в котором в качестве узлов используются
многопроцессорные SMP-серверы SPARCserver 1000 и SPARCcenter 2000.
Максимально в состав SPARCserver 1000 могут входить до восьми процессоров, а в SPARCcenter 2000 до 20 процессоров SuperSPARC. В комплект базовой
поставки входят следующие компоненты: два кластерных узла на основе
SPARCserver 1000/1000E или SPARCcenter 2000/2000E, два дисковых массива
SPARCstorage Array, а также пакет средств для построения кластера, включающий дублированное оборудование для осуществления связи, консоль
управления кластером Claster Management Console, программное обеспечение
SPARCclaster PDB Software и пакет сервисной поддержки кластера.
Для обеспечения высокой производительности и готовности коммуникаций
кластер поддерживает полное дублирование всех магистралей данных. Узлы
кластера объединяются с помощью каналов SunFastEthernet с пропускной
способностью 100 Мбит/с. Для подключения дисковых подсистем используется
оптоволоконный интерфейс Fibre Channel с пропускной способностью 25 Мбит/с, допускающий удаление накопителей и узлов друг от друга на расстояние до 2
км. Все связи между узлами, узлами и дисковыми подсистемами дублированы на
аппаратном уровне. Аппаратные, программные и сетевые средства кластера
обеспечивают отсутствие такого места в системе, одиночный отказ или сбой
которого выводил бы всю систему из строя.
Университетские проекты
Интересная разработка Университета штата Кентукки – кластер KLAT2 (Kentucky
Linux Athlon Testbed 2 [5]). Система KLAT2 состоит из 64 бездисковых узлов
с процессорами AMD Athlon/700 МГц и оперативной памятью 128 Мбайт на
каждом. Программное обеспечение, компиляторы и математические библиотеки
(SCALAPACK, BLACS и ATLAS) были доработаны для эффективного использования
технологии 3DNow! процессоров AMD, что позволило увеличить
производительность. Значительный интерес представляет и использованное
сетевое решение, названное «Flat Neighbourghood Network» (FNN). В каждом
узле установлено четыре сетевых адаптера Fast Ethernet от Smartlink, а узлы
соединяются с помощью девяти 32-портовых коммутаторов. При этом для любых
двух узлов всегда есть прямое соединение через один из коммутаторов, но нет
необходимости в соединении всех узлов через единый коммутатор. Благодаря
оптимизации программного обеспечения под архитектуру AMD и топологии FNN
удалось добиться рекордного соотношения цена/производительность – 650 долл.
за 1 GFLOPS.
Идея разбиения кластера на разделы получила интересное воплощение в проекте
Chiba City [6], реализованном в Аргоннской Национальной лаборатории.
Главный раздел содержит 256 вычислительных узлов, на каждом
Рекомендуем скачать другие рефераты по теме: первый снег сочинение, сочинение 6.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата