Смекни!
smekni.com

Кластерные системы (стр. 5 из 7)


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.