Реферат: Кластерные системы

Московский ГосударственныйИнженерно-Физический Институт

(Технический Университет)

/> <td/> />
кафедра 29«Управляющие Интеллектуальные Системы»

Реферат на тему:

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

   

                                                                                                        Выполнил:

                                                                                                       студент группы К9-292

                                                                                                       Попов И.А

МОСКВА 2001

Оглавление:

1. Введение

2. Основные классы современныхпараллельных компьютеров

3. Кластернаяархитектура параллельных компьютеров

4. Целисоздания кластерных систем

5.Отказоустойчивые кластеры

6.Высокопроизводительные кластеры

7. Проект Beowulf

8. Заключение

9. Литература


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

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

Кластерные системы возникли какболее дешевое решение проблемы недостатка вычислительных ресурсов, иосновываются на использовании в своей архитектуре широко распространенных иотносительно дешевых технологий, аппаратных ипрограммных средств, таких как PC, Ethernet, Linux и т.д.Использование массовых технологии в кластерных системах стало возможнымблагодаря значительному прогрессу в развитии компонентов обычных вычислительныхсистем, таких как центральные процессоры, операционные системы,коммуникационные среды.

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

Производительность персональныхкомпьютеров на базе процессоров Intel в последние годы также значительновыросла. Такие компьютеры стали создавать серьезную конкуренцию рабочимстанциям на базе  более дорогих и мощных RISC процессоров.Одновременно стала приобретать все большую популярность ОС Linux- бесплатно распространяемая версия UNIX. При этом в научныхорганизациях и университетах, где и разрабатывается большинство кластерныхсистем, как правило, имеются специалисты по ОС Linux.

Высокую степеньразвития кластерных систем на сегоднящний день показывает тот факт, что всписке самых мощных суперкомпьютеров мира Top500 – числится 11 кластерныхустановок.


Основные классы современных параллельных компьютеров

Кластерные системы являютсяразвитием параллельных систем. Чтобы проказать место кластерных систем средиостальных типов параллельных архитектур вычислительных систем нужно привести ихклассификацию. Параллельные системы могут быть класифицированы по различнымкритериям.

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

Симметричные мультипроцессорные системы

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

/>

рис.1

Каждая операция доступа к памятиинтерпретируется как транзакция по шине процессоры-память. Когерентность кэшейподдерживается аппаратными средствами.

В SMP каждый процессор имеет покрайней мере одну собственную кэш-память (а возможно, и несколько).

Можно сказать,что SMP система — это один компьютер снесколькими равноправными процессорами. Все остальное — в одном экземпляре:одна память, одна подсистема ввода/вывода, одна операционная система. Слово«равноправный» означает, что каждый процессорможет делать все, что любой другой. Каждый процессор имеет доступ ко всейпамяти, может выполнять любую операцию ввода/вывода, прерывать другиепроцессоры и т.д.

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

Массивно-параллельные системы

Массивно-параллельная система MPP состоитиз однородных вычислительных узлов,включающих в себя:

один или несколько центральных процессоров (обычно RISC) локальную память (прямой доступ к памяти других узлов невозможен) коммуникационный процессор или сетевой адаптер жесткие диски и/или другие устройства В/В

К системе могут быть добавленыспециальные узлы ввода-вывода и управляющие узлы. Узлы связаны через некоторуюкоммуникационную среду (высокоскоростная сеть, коммутатор и т.п.)

Системы с неоднородным доступом к памяти NUMA

NUMA (nonuniform memory access) вотличие от привычной SMP архитектуры с разделяемой памятью представляет собойнесколько отдельных процессоров, каждый из которых, кроме собственного кэша,обладает также локальной памятью:

/>

рис.2

В подобной архитектуре процессори модули памяти тесно интегрированы, следовательно, скорость доступа клокальной памяти гораздо выше, чем к памяти “соседнего” процессора. Подсистемыввода-вывода могут быть частью каждого узла или консолидированы на выделенныхузлах ввода-вывода. Если во всей системе поддерживается когерентность кэшей, тотакую архитектуру называют cc-NUMA.

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

Кластерная архитектура

Рассмотрим место кластернойархитектуры вычислительных систем в данной классификации.

Кластер — это связанный наборполноценных компьютеров, используемый в качестве единого ресурса. Под понятием«полноценный компьютер» понимается завершенная компьютерная система,обладающая всем, что требуется для ее функционирования, включая процессоры,память, подсистему ввода/вывода, а также операционную систему, подсистемы,приложения и т.д. Обычно для этого годятся персональные компьютеры илипараллельные системы, которые могут обладать архитектурой SMP и даже NUMA.Кластеры являются слабосвязанными системами,  связи узлов используется одна изстандартных сетевых технологий (Fast/Gigabit Ethernet, Myrinet) на базе шиннойархитектуры или коммутатора. Поэтому они являются более дешевой в построениимодификацией MPP архитектуры.

Кластерная архитектура параллельных компьютеровОбщие принципы

Как уже было сказано раньшевычислительный кластер — это совокупность компьютеров, объединенных в рамкахнекоторой сети для решения одной задачи (рис.3), которая для пользователяпредставляется в качестве единого ресурса. Такую концепцию кластера впервыепредложила и реализовала в начале 80-х корпорация Digital Equipment, которая ипо сей день развивает эту технологию

Понятие «единый ресурс»означает наличие программного обеспечения, дающего возможность пользователям,администраторам и прикладным программам считать, что имеется только однасущность, с которой они работают — кластер. Например, система пакетнойобработки кластера позволяет послать задание на обработку кластеру, а некакому-нибудь отдельному компьютеру. Более сложным примером являются системыбаз данных. Практически у всех производителей систем баз данных имеются версии,работающие в параллельном режиме на нескольких машинах кластера. В результатеприложения, использующие базу данных, не должны заботиться о том, гдевыполняется их работа. СУБД отвечает за синхронизацию параллельно выполняемыхдействий и поддержание целостности базы данных.

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

/>

рис.3

В качестве вычислительных узлов вкластере обычно используются однопроцессорные персональные компьютеры, двух-или четырехпроцессорные SMP-серверы. Каждый узел работает под управлением своейкопии операционной системы, в качестве которой чаще всего используютсястандартные операционные системы: Linux, NT, Solaris и т.п. Состав и мощностьузлов может меняться даже в рамках одного кластера, давая возможность создаватьнеоднородные системы. Выбор конкретной коммуникационной среды определяетсямногими факторами: особенностями класса решаемых задач, необходимостьюпоследующего расширения кластера и т.п. Возможно включение в конфигурациюспециализированных компьютеров, например, файл-сервера, и, как правило,предоставлена возможность удаленного доступа на кластер через Internet.

Из определенияархитектуры кластерных систем следует, что она включает в себя очень широкийспектр систем. Рассматривая крайние точки, кластером можно считать какпару ПК, связанных локальной 10-мегабитной сетью Ethernet, так и вычислительнуюсистему, создаваемую в рамках проекта Cplant в Национальной лаборатории Sandia:1400 рабочих станций на базе процессоров Alpha, связанных высокоскоростнойсетью Myrinet.

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

Коммуникационные технологии построения кластеров

Кластеры могут стоится как наоснове специализированных высокоскоростных шин передачи данных, так и на основемассовых сетевых технологий. Среди массовых коммуникационных стандартов сейчасчаще всего используется сеть Ethernet или более ее производительный вариант — Fast Ethernet, как правило, на базе коммутаторов. Однако большие накладныерасходы на передачу сообщений в рамках Fast Ethernet приводят к серьезнымограничениям на спектр задач, которые можно эффективно решать на таком кластере.Если от кластера требуется большая производительность и универсальность, тонеобходимо применять более скоростные и специализированные технологии. К нимотносятся SCI, Myrinet, cLAN, ServerNet и др. Сравнительная характеристикапараметров этих технологий приведена в
таблице 1.

SCI

Myrinet

CLAN

ServerNet

Fast Ethernet

Латентность (MPI)

5,6 мкс 17 мкс 30 мкс 13 мкс 170 мкс

Пропускная способность(MPI)

80 Мбайт/c 40 Мбайт/c 100Мбайт/c 180 Мбайт/c 10 Мбайт/c

Пропускная способность (аппаратная)

400 Мбайт/c 160 Мбайт/c 150 Мбайт/c н/д 12,5 Мбайт/c

Реализация MPI

ScaMPI HPVM, MPICH-GM и др. MPI/Pro MVICH MPICH

Таблица 1.

 

Производительностькоммуникационных сетей в кластерных системах определяется несколькими числовымихарактеристиками. Основных характеристик две: латентность – время начальнойзадержки при посылке сообщений и пропускная способность сети, определяющаяскорость передачи информации по каналам связи. При этом важны не столькопиковые характеристики, заявленные в стандарте, сколько реальные, достигаемыена уровне пользовательских приложений, например, на уровне MPI-приложений. Вчастности, после вызова пользователем функции посылки сообщения Send()сообщение последовательно пройдет через целый набор слоев, определяемыхособенностями организации программного обеспечения и аппаратуры, прежде, чемпокинуть процессор – поэтому существует существенный разбром по стандартамзначений латентности. Наличие латентности приводит к тому, что максимальнаяскорость передачи по сети не может быть достигнута на сообщениях с небольшойдлиной.

Скорость передачи данных по сетив рамках технологий Fast Ethernet и Scalable Coherent Interface (SCI) зависитот длины сообщения. Для Fast Ethernet характерна большая величина латентности –160-180 мкс, в то время как латентность для SCI это величина около 5,6 мкс.Максимальная скорость передачи для этих же технологий 10 Мбайт/c и 80 Мбайт/ссоответственно.

Цели создания кластерных систем

Разработчики архитектуркластерных систем приследовали различные цели при  их создании. Первой былафирма Digital Equipment с кластерами VAX/VMS. Целью созданияэтой машины было повышение надежности работы системы, обеспечение высокойготовности и отказоустойчивости системы. В настоящее время существует множествоаналогичных по архитектуре систем от других производителей.

Другой целью создания  кластерныхсистем является создание дешевых высокопроизводительных параллельныхвычислительных систем. Один из первых проектов, давший имя целому классупараллельных систем – кластер Beowulf [2] – возник в центре NASA Goddard SpaceFlight Center для поддержки необходимыми вычислительными ресурсами проектаEarth and Space Sciences. Проект Beowulf начался летом 1994 года, и вскоре былсобран 16-процессорный кластер на процессорах Intel 486DX4/100 МГц. На каждомузле было установлено по 16 Мбайт оперативной памяти и по 3 сетевыхEthernet-адаптера. Эта система оказалась очень удачной по отношениюцена/производительность, поэтому такую архитектуру  стали развивать и широкоиспользовать в других научных организациях и институтах.

Для каждого класса кластеровхарактерны свои особенности архитекуры и применяемые аппаратные средства.Рассмотрим их более подробно.

Отказоустойчивые кластерыПринципы построения

Для обеспечениянадежности и отказоустойчивости вычислительных систем применяетсямножество различных аппаратурных и программных решений. Например, в системеможет дублироваться все подверженные отказам элементы — источники питания,процессоры, оперативная и внешняя память. Такие отказоустойчивые системы с резервированием компонентов применяются для решения задач, вкоторых недостаточно надежности обычных вычислительных систем, оцениваемой внастоящий момент вероятностью безотказной работы 99%. В таких задачах требуетсявероятность 99,999% и выше. Такую надежность можно достичь применяя отличные отприведенного выше методы повышения отказоустойчивости. В зависимости отуровня готовности вычислительной системы к использованию выделяют четыре типанадежности:

Уровень готовности, %

Мaкс. время простоя

Тип системы

99,0 3,5 дня в год Обычная (Conventional) 99,9 8,5 часов в год Высокая надежность (High Availability) 99,99 1 час в год Отказоустойчивая (Fault Resilient) 99,999 5 минут в год Безотказная (Fault Tolerant)

Таблица 2.

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

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

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

Кластеры могут иметь разделяемуюпамять на внешних дисках, как правило, на дисковом массиве RAID. Дисковыймассив RAID — это серверная подсистема ввода- вывода для хранения данныхбольшого объема. В массивах RAID значительное число дисков относительно малойемкости используется для хранения крупных объемов данных, а также дляобеспечения более высокой надежности и избыточности. Подобный массиввоспринимается компьютером как единое логическое устройство.

Восстановление после сбоев можетподдерживаться как для узла в целом, так и для отдельных его компонентов —приложений, дисковых томов и т.д. Эта функция автоматически инициируется вслучае системного сбоя, а также может быть запущена администратором, если ему,например, необходимо отключить один из узлов для реконфигурации.

Узлы кластера контролируютработоспособность друг друга и обмениваются специфической «кластерной»информацией, например, о конфигурации кластера, а также передавать данные междуразделяемыми накопителями и координировать их использование. Контроль работоспособностиосуществляется с помощью специального сигнала, который узлы кластера передаютдруг другу, для того чтобы подтвердить свое нормальное функционирование.Прекращение подачи сигналов с одного из узлов сигнализирует кластерномупрограммному обеспечению о произошедшем сбое и необходимости перераспределитьнагрузку на оставшиеся узлы. В качестве примера рассмотрим отказоустойчивыйкластер VAX/VMS.

Кластера VAX/VMS

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

VAX-кластер обладает следующимисвойствами:

Разделение ресурсов.Компьютеры VAX в кластере могут разделять доступ к общим ленточным и дисковымнакопителям. Все компьютеры VAX в кластере могут обращаться к отдельным файламданных как к локальным.

Высокая готовность. Еслипроисходит отказ одного из VAX-компьютеров, задания его пользователейавтоматически могут быть перенесены на другой компьютер кластера. Если всистеме имеется несколько контроллеров HSC и один из них отказывает, другиеконтроллеры HSC автоматически подхватывают его работу.

Высокая пропускная способность.Ряд прикладных систем могут пользоваться возможностью параллельного выполнениязаданий на нескольких компьютерах кластера.

Удобство обслуживания системы.Общие базы данных могут обслуживаться с единственного места. Прикладныепрограммы могут инсталлироваться только однажды на общих дисках кластера иразделяться между всеми компьютерами кластера.

Расширяемость. Увеличениевычислительной мощности кластера достигается подключением к нему дополнительныхVAX-компьютеров. Дополнительные накопители на магнитных дисках и магнитныхлентах становятся доступными для всех компьютеров, входящих в кластер.

Работа VAX-кластера определяетсядвумя главными компонентами. Первым компонентом является высокоскоростноймеханизм связи, а вторым — системное программное обеспечение, котороеобеспечивает клиентам прозрачный доступ к системному сервису. Физически связивнутри кластера реализуются с помощью трех различных шинных технологий сразличными характеристиками производительности.

Основные методы связи вVAX-кластере представлены на рис. 4.

/>

Рис. 4VAX/VMS-кластер

Шина связи компьютеров CI(Computer Interconnect) работает со скоростью 70 Мбит/с и используется длясоединения компьютеров VAX и контроллеров HSC с помощью коммутатора StarCoupler. Каждая связь CI имеет двойные избыточные линии, две для передачи и дведля приема, используя базовую технологию CSMA, которая для устранения коллизийиспользует специфические для данного узла задержки. Максимальная длина связи CIсоставляет 45 метров. Звездообразный коммутатор Star Coupler может поддерживатьподключение до 32 шин CI, каждая из которых предназначена для подсоединениякомпьютера VAX или контроллера HSC. Контроллер HSC представляет собойинтеллектуальное устройство, которое управляет работой дисковых и ленточныхнакопителей.

Компьютеры VAX могут объединятьсяв кластер также посредством локальной сети

Ethernet, используя NI — NetworkInterconnect (так называемые локальные VAX-кластеры), однако производительностьтаких систем сравнительно низкая из-за необходимости делить пропускнуюспособность сети Ethernet между компьютерами кластера и другими клиентами сети.

Также кластера могут стоиться наоснове шины DSSI (Digital Storage System Interconnect). На шине DSSI могутобъединяться до четырех компьютеров VAX нижнего и среднего класса. Каждыйкомпьютер может поддерживать несколько адаптеров DSSI. Отдельная шина DSSI работаетсо скоростью 4 Мбайт/с (32 Мбит/с) и допускает подсоединение до 8 устройств.Поддерживаются следующие типы устройств: системный адаптер DSSI, дисковыйконтроллер серии RF и ленточный контроллер серии TF. DSSI ограничиваетрасстояние между узлами в кластере 25 метрами.

Системное программноеобеспечение VAX-кластеров

Для гарантии правильноговзаимодействия процессоров друг с другом при обращениях к общим ресурсам,таким, например, как диски, компания DEC использует распределенный менеджерблокировок DLM (Distributed Lock Manager). Очень важной функцией DLM являетсяобеспечение когерентного состояния дисковых кэшей для операций ввода/выводаоперационной системы и прикладных программ. Например, в приложениях реляционныхСУБД DLM несет ответственность за поддержание согласованного состояния междубуферами базы данных на различных компьютерах кластера.

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

Работа с DLM связана созначительными накладными расходами. Накладные расходы в среде VAX/VMS могутбыть большими, требующими передачи до шести сообщений по шине CI для однойоперации ввода/вывода. Накладные расходы могут достигать величины 20% длякаждого процессора в кластере.

Высокопроизводительные кластерыПринципы построения

Архитектура высокопроизводительныхкластеров появилась как развитие принципов построения систем MPPна менее производительных и массовых компонентах, управляемых операционнойситемой общего назначения. Кластеры также как и MPP системы состоят из слабосвязанныхузлов, которые могут быть как однородными, так и, в отличие от MPP, различнымиили гетерогенными. Особое внимание при проектировании высокопроизводительнойкластерной архутектуры уделяется обеспечению высокой эффективностикоммуникационной шины, связывающей узлы кластера. Так как в кластерах нередкоприменяются массовые относительно низкопроизводительные шины, то приходитсяпринимать ряд мер по исключению их низкой пропускной способности напроизводительность кластеров и организацию эффективного распараллеливанияв кластере. Так например пропускная способность однойиз самых высокоскоростных технологий Fast Ethernet на порядки ниже, чем умежсоединений в современных суперкомпьютерах МРР-архитектуры.

Для решенияпроблем  низкой производительности сети применяют несколько методов:

-     кластер разделяется на несколько сегментов, впределах которых узлы соединены высокопроизводительной шиной типа Myrinet, а связь между узлами разных сегментов осуществляетсянизкопроизводительными сетями типа Ethernet/Fast Ethernet. Этопозволяет вместе с сокращением расходов на коммуникационную среду существенноповысить производительность таких кластеров при решении задач с интенсивнымобменом данными между процессами.

-     применение так называемого «транкинга», т.е. объединение несколькихканалов Fast Ethernet в один общий скоростной канал, соединяющий несколькокоммутаторов. Очевидным недостатком такого подхода является «потеря» частипортов, задействованных в межсоединении коммутаторов.

-     для повышения производительности создаются специальные протоколыобмена информацией по таким сетям, которые позволяют более эффективноиспользовать пропускную способность каналов и снимают некоторые ограничениянакладываемые стандартными протоколами (TCP/IP,IPX). Такой метод часто используют в ситемах класса Beowulf.

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

Проект 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 andInformation 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 в версиях, специально оптимизированных подраспределенные параллельные вычисления. Была проведена доработку ядра Linux2.0. В процессе построения кластеров выяснилось, что стандартные драйверысетевых устройств в Linux весьма неэффективны. Поэтому были разработаны новыедрайверы, в первую очередь для сетей Fast Ethernet и Gigabit Ethernet, иобеспечена возможность логического объединения нескольких параллельных сетевыхсоединений между персональными компьютерами (аналогично аппаратному связываниюканалов), что позволяет из дешевых локальных сетей, обладающих низкойпропускной способностью, соорудить сеть с высокой совокупной пропускнойспособностью.

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

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

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

Для каждого процессора в SMP-машине порождается отдельный MPI-процесс. MPI-процессы внутри этой системы обмениваются сообщениями через разделяемую память (необходимо настроить MPICH соответствующим образом). На каждой машине запускается только один 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 по многим тестам показала такую жепроизводительность, как 64-процессорная система SGI Origin2000/195MHz стоимость которойпревышает $1 млн.

В настоящее время Avalon активноиспользуется в астрофизических, молекулярных и других научных вычислениях. На конференции SC'98создатели Avalon представили доклад, озаглавленный «Avalon: An Alpha/LinuxCluster Achieves 10 Gflops for $150k» и заслужили премию по показателюцена/производительность («1998 Gordon Bell Price/Performance Prize»).

Заключение

Ведущие производителимикропроцессоров: Sun Microsystems, Dell и IBM придерживаются одинаковой точкизрения на будущее отрасли суперкомпьютеров: на смену отдельным, независимымсуперкомпьютерам должны прийти группы высокопроизводительных серверов,объединяемых в кластер. Уже сегодня распределенные кластерные системы опережаютсовременные классические суперкомпьютеры по производительности: самый мощный на сегодняшний день компьютер в мире — IBMASCI White — обладает производительностью в 12 ТераФЛОП, производительностьсети SETI@Home оценивается примерно в 15 ТераФЛОП. При этом, IBM ASCI White былпродан за 110 миллионов долларов, а за всю историю существования SETI@Home былопотрачено около 500 тысяч долларов.

Проанализировав итоги работ,выполненных в рамках проекта Beowulf, можно прийти к следующему выводу:найденные решения позволяют самостоятельно собрать высокопроизводительныйкластер на базе стандартных для ПК компонентов и использовать обычноепрограммное обеспечение. Среди самых крупных экземпляров нельзя не отметить50-узловой кластер в CESDIS, включающий 40 узлов обработки данных (на базеодно- и двухпроцессорных плат Рentium Рro/200 МГц) и 10 масштабирующих узлов(двухпроцессорная плата Рentium Рro/166 МГц). Соотношение стоимость/пиковаяпроизводительность в таком кластере представляется очень удачным. Вопрос в том,насколько эффективно удается распараллелить приложения — иными словами, каковабудет реальная, а не пиковая производительность. Над решением этой проблемысейчас и работают участники проекта.

 

Литература

1.    www.citforum.ru/hardware/svk/glava_12.shtml

2.    www.beowulf.com

3.    newton.gsfc.nasa.gov/thehive/

4.    LoBoS,www.lobos.nih.gov

5.    parallel.ru/news/kentucky_klat2.html

6.    parallel.ru/news/anl_chibacity.html

7.    parallel.ru/cluster/

8.    www.ptc.spbu.ru


Resources

MIMD компьютеры

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


/>

MIMD архитектуры далее классифицируются в зависимости отфизической организации памяти, то есть имеет ли процессор свою собственнуюлокальную память и обращается к другим блокам памяти, используя коммутирующуюсеть, или коммутирующая сеть подсоединяет все процессоры к общедоступнойпамяти. Исходя из организации памяти, различают следующие типы параллельныхархитектур:

Компьютеры с распределенной памятью (Distributed memory)
Процессор может обращаться к локальной памяти, может посылать и получать сообщения, передаваемые по сети, соединяющей процессоры. Сообщения используются для осуществления связи между процессорами или, что эквивалентно, для чтения и записи удаленных блоков памяти. В идеализированной сети стоимость посылки сообщения между двумя узлами сети не зависит как от расположения обоих узлов, так и от трафика сети, но зависит от длины сообщения.

/>

Компьютеры с общей (разделяемой) памятью (True shared memory)
Все процессоры совместно обращаются к общей памяти, обычно, через шину или иерархию шин. В идеализированной PRAM (Parallel Random Access Machine — параллельная машина с произвольным доступом) модели, часто используемой в теоретических исследованиях параллельных алгоритмов, любой процессор может обращаться к любой ячейке памяти за одно и то же время. На практике масштабируемость этой архитектуры обычно приводит к некоторой форме иерархии памяти. Частота обращений к общей памяти может быть уменьшена за счет сохранения копий часто используемых данных в кэш-памяти, связанной с каждым процессором. Доступ к этому кэш-памяти намного быстрее, чем непосредственно доступ к общей памяти.

/>

Компьютеры с виртуальной общей (разделяемой) памятью (Virtual shared memory)
Общая память как таковая отсутствует. Каждый процессор имеет собственную локальную память и может обращаться к локальной памяти других процессоров, используя «глобальный адрес». Если «глобальный адрес» указывает не на локальную память, то доступ к памяти реализуется с помощью сообщений, пересылаемых по коммуникационной сети.

Примером машин с общей памятью могут служить:

Sun Microsystems (многопроцессорные рабочие станции) Silicon Graphics Challenge (многопроцессорные рабочие станции) Sequent Symmetry Convex Cray 6400.

Следующие компьютеры относятся к классу машин сраспределенной памятью

IBM-SP1/SP2 Parsytec GC CM5 (Thinking Machine Corporation) Cray T3D Paragon (Intel Corp.) KSR1 nCUBE Meiko CS-2 AVX (Alex Parallel Computers) IMS B008

MIMD архитектуры с распределенной памятью можно так же классифицироватьпо пропускной способности коммутирующей сети. Например, в архитектуре, вкоторой пары из процессора и модуля памяти (процессорный элемент) соединенысетью с топологий реш§тка, каждый процессор имеет одно и то же числоподключений к сети вне зависимости от числа процессоров компьютера. Общаяпропускная способность такой сети растет линейно относительно числапроцессоров. С другой стороны в архитектуре, имеющей сеть с топологий гиперкуб,число соединений процессора с сетью является логарифмической функцией от числапроцессоров, а пропускная способность сети растет быстрее, чем линейно поотношению к числу процессоров. В топологии клика каждый процессор долженбыть соединен со всеми другими процессорами.

/>
Сеть с топологией 2D реш§тка(тор)


 

/>

Сеть с топологией 2D тор

/>
Сеть с топологией клика

Национального Центра Суперкомпьютерных Приложений(университет шт. Иллинойс, Urbana-Champaign)

MPI: The Message Passing Interface

Название «интерфейс передачи сообщений», говоритсамо за себя. Это хорошо стандартизованный механизм для построения параллельныхпрограмм в модели обмена сообщениями. Существуют стандартные«привязки» MPI к языкам С/С++, Fortran 77/90. Существуют бесплатные икоммерческие реализации почти для всех суперкомпьютерных платформ, а также длясетей рабочих станций UNIX и Windows NT. В настоящее время MPI — наиболеешироко используемый и динамично развивающийся интерфейс из своего класса.

Beowulf — кластеры на базеОС Linux

Михаил Кузьминский

«Открытые системы»

На пороге тысячелетиймы имеем все шансы стать свидетелями монополизации компьютерной индустрии,которая может охватить как микропроцессоры, так и операционные системы. Конечноже, речь идет о микропроцессорах от 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 весьма неэффективны. Поэтому были разработаны новые драйверы(автор большинства разработок — Дональд Бекер), в первую очередь для сетей FastEthernet и 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-процессорный кластер на процессорах Intel486DX4/100 МГц. На каждом узле было установлено по 16 Мбайт оперативной памятии по 3 сетевых Ethernet-адаптера. Для работы в такой конфигурации былиразработаны специальные драйверы, распределяющие трафик между доступнымисетевыми картами.

Позже в GSFC был собран кластерtheHIVE – Highly-parallel Integrated Virtual Environment [3], структура которогопоказана на рис. 2. Этот кластер состоит из четырех подкластеров E, B, G, и DL,объединяя 332 процессора и два выделенных хост-узла. Все узлы данного кластераработают под управлением RedHat Linux.

/>

Рис. 5

В 1998 году в Лос-Аламосскойнациональной лаборатории астрофизик Майкл Уоррен и другие ученые из группытеоретической астрофизики построили суперкомпьютер Avalon, который представляетсобой Linux-кластер на базе процессоров Alpha 21164A с тактовой частотой 533МГц. Первоначально Avalon состоял из 68 процессоров, затем был расширен до 140.В каждом узле установлено по 256 Мбайт оперативной памяти, жесткий диск на 3Гбайт и сетевой адаптер Fast Ethernet. Общая стоимость проекта Avalon составила313 тыс. долл., а показанная им производительность на тесте LINPACK – 47,7GFLOPS, позволила ему занять 114 место в 12-й редакции списка Top500 рядом с152-процессорной системой IBM RS/6000 SP. В том же 1998 году на самойпрестижной конференции в области высокопроизводительных вычисленийSupercomputing’98 создатели Avalon представили доклад «Avalon: An Alpha/LinuxCluster Achieves 10 Gflops for $150k», получивший первую премию в номинации«наилучшее отношение цена/производительность».

В апреле текущего года в рамкахпроекта AC3 в Корнелльском Университете для биомедицинских исследований былустановлен кластер Velocity+, состоящий из 64 узлов с двумя процессорамиPentium III/733 МГц и 2 Гбайт оперативной памяти каждый и с общей дисковойпамятью 27 Гбайт. Узлы работают под управлением Windows 2000 и объединены сетьюcLAN компании Giganet.

Проект Lots of Boxes on Shelfes[4] реализован в Национальном Институте здоровья США в апреле 1997 года иинтересен использованием в качестве коммуникационной среды технологии GigabitEthernet. Сначала кластер состоял из 47 узлов с двумя процессорами PentiumPro/200 МГц, 128 Мбайт оперативной памяти и диском на 1,2 Гбайт на каждом узле.В 1998 году был реализован

следующий этап проекта – LoBoS2,в ходе которого узлы были преобразованы в настольные компьютеры с сохранениемобъединения в кластер. Сейчас LoBoS2 состоит из 100 вычислительных узлов,содержащих по два процессора Pentium II/450 МГц, 256 Мбайт оперативной и 9Гбайт дисковой памяти. Дополнительно к кластеру подключены 4 управляющихкомпьютера с общим RAID-массивом емкостью 1,2 Тбайт.

Одной изпоследних кластерных разработок стал суперкомпьютер AMD PrestoIII, представляющий собой кластер Beowulf из 78 процессоров Athlon. Компьютерустановлен в Токийском Технологическом Институте. На сегодняшний день AMDпостроила 8 суперкомпьютеров, объединенных в кластеры по методу Beowulf,работающих под управлением ОС Linux.

Кластеры IBM

RS/6000

Компания IBM предлагает несколькотипов слабо связанных систем на базе RS/6000, объединенных в кластеры иработающих под управлением программного продукта High-Availability ClasteredMultiprocessor/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-архитектурой.

/>

Рис. 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 МГц.

/>

Рис. 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 PDBSoftware и пакет сервисной поддержки кластера.

Для обеспечения высокойпроизводительности и готовности коммуникаций кластер поддерживает полноедублирование всех магистралей данных. Узлы кластера объединяются с помощьюканалов SunFastEthernet с пропускной способностью 100 Мбит/с. Для подключениядисковых подсистем используется оптоволоконный интерфейс Fibre Channel спропускной способностью 25 Мбит/с, допускающий удаление накопителей и узловдруг от друга на расстояние до 2 км. Все связи между узлами, узлами и дисковымиподсистемами дублированы на аппаратном уровне. Аппаратные, программные исетевые средства кластера обеспечивают отсутствие такого места в системе,одиночный отказ или сбой которого выводил бы всю систему из строя.

Университетские проекты

Интересная разработкаУниверситета штата Кентукки – кластер KLAT2 (Kentucky Linux Athlon Testbed 2 [5]). Система KLAT2 состоит из 64 бездисковых узлов спроцессорами AMD Athlon/700 МГц и оперативной памятью 128 Мбайт на каждом.Программное обеспечение, компиляторы и математические библиотеки (SCALAPACK,BLACS и ATLAS) были доработаны для эффективного использования технологии 3DNow!процессоров AMD, что позволило увеличить производительность. Значительныйинтерес представляет и использованное сетевое решение, названное «FlatNeighbourghood Network» (FNN). В каждом узле установлено четыре сетевыхадаптера Fast Ethernet от Smartlink, а узлы соединяются с помощью девяти32-портовых коммутаторов. При этом для любых двух узлов всегда есть прямоесоединение через один из коммутаторов, но нет необходимости в соединении всехузлов через единый коммутатор. Благодаря оптимизации программного обеспеченияпод архитектуру AMD и топологии FNN удалось добиться рекордного соотношенияцена/производительность – 650 долл. за 1 GFLOPS.

Идея разбиения кластера наразделы получила интересное воплощение в проекте Chiba City [6], реализованномв Аргоннской Национальной лаборатории. Главный раздел содержит 256вычислительных узлов, на каждом

из которых установлено двапроцессора Pentium III/500 МГц, 512 Мбайт оперативной памяти и локальный дискемкостью 9 Гбайт. Кроме вычислительного раздела в систему входят разделвизуализации (32 персональных компьютера IBM Intellistation с графическимиплатами Matrox Millenium G400, 512 Мбайт оперативной памяти и дисками 300Гбайт), раздел хранения данных (8 серверов IBM Netfinity 7000 с процессорамиXeon/500 МГц и дисками по 300 Гбайт) и управляющий раздел (12 компьютеров IBMNetfinity 500). Все они объединены сетью Myrinet, которая используется дляподдержки параллельных приложений, а также сетями Gigabit Ethernet и FastEthernet для управляющих и служебных целей. Все разделы делятся на «города»(town) по 32 компьютера. Каждый из них имеет своего «мэра», который локальнообслуживает свой «город», снижая нагрузку на служебную сеть и обеспечиваябыстрый доступ к локальным ресурсам.

Кластерные проекты в России

В России всегда была высокапотребность в высокопроизводительных вычислительных ресурсах, и относительнонизкая стоимость кластерных проектов послужила серьезным толчком к широкомураспространению подобных решений в нашей стране. Одним из первых появилсякластер «Паритет», собранный в ИВВиБД и состоящий из восьми процессоров PentiumII, связанных сетью Myrinet. В 1999 году вариант кластерного решения на основесети SCI был апробирован в НИЦЭВТ, который, по сути дела, и был пионеромиспользования технологии SCI для построения параллельных систем в России.

Высокопроизводительный кластер набазе коммуникационной сети SCI, установлен в Научно-исследовательскомвычислительном центре Московского государственного университета [7]. Кластер НИВЦ включает 12 двухпроцессорных серверов«Эксимер» на базе Intel Pentium III/500 МГц, в общей сложности 24 процессора ссуммарной пиковой производительностью 12 млрд. операций в секунду. Общаястоимость системы – около 40 тыс. долл. или примерно 3,33 тыс. за 1 GFLOPS.

Вычислительные узлы кластерасоединены однонаправленными каналами сети SCI в двумерный тор 3x4 иодновременно подключены к центральному серверу через вспомогательную сеть FastEthernet и коммутатор 3Com Superstack. Сеть SCI – это ядро кластера, делающееданную систему уникальной вычислительной установкой суперкомпьютерного класса,ориентированной на широкий класс задач. Максимальная скорость обмена данными посети SCI в приложениях пользователя составляет более 80 Мбайт/с, а времялатентности около 5,6 мкс. При построении данного вычислительного кластераиспользовалось интегрированное решение Wulfkit, разработанное компаниямиDolphin Interconnect Solutions и Scali Computer (Норвегия).

Основным средством параллельногопрограммирования на кластере является MPI (Message Passing Interface) версииScaMPI 1.9.1. На тесте LINPACK при решении системы линейных уравнений сматрицей размера 16000х16000 реально полученная производительность составилаболее 5,7 GFLOPS. На тестах пакета NPB производительность кластера сравнима, аиногда и превосходит производительность суперкомпьютеров семейства Cray T3E стем же самым числом процессоров.

Основная область применениявычислительного кластера НИВЦ МГУ – это поддержка фундаментальных научныхисследований и учебного процесса.

Из других интересных проектовследует отметить решение, реализованное в Санкт-Петербургском университете набазе технологии Fast Ethernet [8]: собранные кластеры могут использоваться икак полноценные независимые учебные классы, и как единая вычислительная установка,решающая единую задачу. В Самарском научном центре

пошли по пути созданиянеоднородного вычислительного кластера, в составе которого работают компьютерына базе процессоров Alpha и Pentium III. В Санкт-Петербургском техническомуниверситете собирается установка на основе процессоров Alpha и сети Myrinetбез использования локальных дисков на вычислительных узлах. В Уфимскомгосударственном авиационном техническом университете проектируется кластер набазе двенадцати Alpha-станций, сети Fast Ethernet и ОС Linux.

еще рефераты
Еще работы по информатике, программированию