Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВС13 / ЛабРаб / Диплом.doc
Скачиваний:
41
Добавлен:
17.03.2015
Размер:
1.48 Mб
Скачать

1.5.2 Коммуникационная технология Myrinet

Сетевую технологию Myrinet представляет компания Myricom, которая впервые предложила свою коммуникационную технологию в 1994 году, а на сегодняшний день имеет уже более 1000 инсталляций по всему миру.

Узлы в Myrinet соединяются друг с другом через коммутатор (до 16 портов). Максимальная длина линий связи варьируется в зависимости от конкретной реализации. На данный момент наиболее распространены реализации сетей LAN и SAN. В последнем случае, при использовании в рамках вычислительной системы, длина кабеля не может превышать 3-х метров, а в LAN – 10,7 метра. Линки между узлами и коммутатором являются полнодуплексными и имеют пропускную способность 160 Мбайт/с по каждому направлению. При использовании узлов на базе Alpha и 64-разрядной шины PCI, в рамках TCP/IP и MPI была продемонстрирована скорость до 140 Мбайт/c, латентность от 13 до 21 мкс. При использовании узлов на базе процессоров Pentium II с 32-разрядной шиной реально достигается скорость не более 40 Мбайт/c. Существует специальная реализация Myrinet для оптоволоконного канала с использованием конвертеров, позволяющая увеличить расстояние между узлами до 10 км. Для этой технологии поддерживается большое количество платформ – Intel, MIPS, PowerPC, UltraSPARC, Alpha под управлением операционных систем FreeBSD, Linux, IRIX, Windows NT, Solaris, Tru64 UNIX, VxWorks.

Стоимость необходимого сетевого оборудования для 16-узловой конфигурации: сетевые платы, 16-портовый коммутатор и кабели равна 25,5 тыс. долл.[1]

1.6 Системы программирования для кластеров

Основными средствами программирования для многопроцеccорных систем являются две библиотеки, оформленные как стандарты: библиотека OpenMP для систем с общей памятью (для SMP-систем) и библиотека MPI для систем с индивидуальной памятью.

Определенное распространение получила и библиотека PVM (Parallel Virtual Machine), которая также предназначена для параллельных вычислений на машинах с индивидуальной памятью [10]. Она близка по значению и набору функций к библиотеке MPI, однако спецификация PVM не регламентируется каким-либо из общепринятых стандартов, поэтому PVM не используется в крупных проектах.

1.6.1 СтандартOpenMp

Библиотека OpenMP является стандартом для программирования на масштабируемых SMP-системах. В стандарт входят описания набора директив компилятора, переменных среды и процедур. За счет идеи «инкрементального распараллеливания» OpenMP идеально подходит для разработчиков, желающих быстро распараллелить свои вычислительные программы с большими параллельными циклами. Разработчик не создает новую параллельную программу, а просто добавляет в текст последовательной программы директивы OpenMP.

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

В OpenMP любой процесс состоит из нескольких нитей управления, которые имеют общее адресное пространство, но разные потоки команд и раздельные стеки. В простейшем случае процесс состоит из одной нити. [16]