Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

khor32

.pdf
Скачиваний:
26
Добавлен:
29.02.2016
Размер:
8.16 Mб
Скачать

7.7. Вычислительные системы семейства МВС

Рис. 7.28. Структура 128-машинной ВС семейства МВС:

БВБ - базовый вычислительный блок; 0- коммуникационный процессор

БВБ смонтирован на типовой многослойной плате. Вес стойки

200 кг,

потребляемая мощность 4 кВт.

В многомашинных конфигурациях ВС используется несколько сто-

ек. Так, для достижения производительности ВС порядка 1 TFLOPS требу-

ется 512 ЭМ, следовательно, система должна быть размещена в восьми стоиках.

Для обеспечения доступа к ВС извне, для управления множеством

процессоров и внешними устройствами используется хост-компьютер.

В качестве хост-компьютера могут служить рабочая станция A1phaStation c процессором Alpha или персональный компьютер c архитектурой IBM РС.

7.7.3. Программное обеспечение вычислительных систем семейства МВС

Операционная система выполняет функции по оптимальному использованию ресурсов ВС (коллектива ЭМ, средств ввода-вывода информации)

и обеспечивает доступ пользователей. Операционные системы Digital Unix (Тгиб4 Unix) для AlphaStation и Linux для ЭВМ РС устанавливаются в хост-

компьютерах.

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

ляторами FORTRAN 77, C и C++.

Коммуникационное ПО в ВС семейства МВС (генерации МВС-1000)

строится на основе специализированной «транспортной службы» Router+. B

частности, на базе Router+ реализована адаптированная к МВС-1000 библио-

373

7. Вычислительные системы c программируемой структурой

тека интерфейса параллельного программирования MPI (Мessage Passing Interface). Аналогичные реализации допустимы , iля интерфейсов PVM, GNS,

DVM, HPF и др. Функции Router+ доступны из п ользовательских программ.

Для задач визуaлизации разработана специализированная библиотека

GraphLib.

B вычислительных системах генерации N [В С-1000 реализован много-

., ., ., пользовательскии режим и удаленный доступ через специальный промежу-

точный компьютер (Gateway). Для пользователей обеспечивается Unix-

совместимая среда компиляции и запуска программ.

7.7.4. Области применfшия вычислительной системы семейства МВС

Вычислительные системы семейства МВС масштабируемые, следовательно, спектр областей их применения дотаточно широк. Для каждой прикладной области может быть выбрана адекватная по составу и техниче-

ским параметрам конфигурация ВС. Системы предназначены прежде всего для решения сложных задач.

Приведем список задач, параллельные а лгоритмы решения которых эффективно реализуются на ВС семейства МВС :

1)задачи расчета аэродинамики летателi ных аппаратов, в том числе интерференции при групповом движении;

2)расчет трехмерных нестационарных течiжий вязкосжимаемого газа;

3)расчет течений c локальными тепловьпии неоднородностями в потоке;

4)квантовая статистика поведения вед цества при экстремальных

условиях;

5)структурообразование биологических макромолекул;

6)моделирование динамики молекулярны: к и биомолекулярных систем;

7)дифференциальные игры, динамические задачи конфликтов

управления;

8)механика деформируемых твердых тем t (c учетом процессов разру-

шения).

Данный список охватывает области факт ического применения ВС генераций МВС-100 и МВС-1000.

Вычислительные системы генерации МВС-1000 используются для оснащения суперкомпьютерных центров России. Одна из первых 96-машин- ных систем МВС-1000 c производительностью 200 GFLOPS была установ-

лена в Москве в Межведомственном суперкс мпьютерном центре (МСЦ). Центр был открыт 5 ноября 1999 г.

374

7.8.Анализ вычислительных систем c программируемой структурой

Всоответствии c планами развития МСЦ в 2001 г. была установлена система МВС-1000М c 768 процессорами, имеющая производительность

1 тFLOPS.

Вычислительная система МВС-1000М по своей архитектуре и функциональной структуре принципиально отличается от МВС-1000. Система МВСэтокластер,-1000Мкомпонуемый из 2-процессорнхы вычислитель-

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

процессоров Alpha 21264 c тактовой частотой 667 МГц, оперативной памяти

емкостью 2 Гбайт и внешней памяти на жестком диске. Узлы связаны между

собой коммyникационной сетью Myrinet и работают под управлением ОС RedHat Linux б.2. В качестве управляющей сети в МВС-1000М используется Fast Ethernet. Имеется реализация интерфейса MPI MPICH-GM.

Вычислительная система МВС-1000М собрана в 18 стойках; потребляемая мощность 120 кВт; стоимость системы 10 млн долл.

C 2006 г. в МСЦ эксплуатируется кластерная вычислительная система МВС-15000 ВМ, состоящая из 1148 процессоров и имеющая пиковую про-

изводительность 10,1 TFLOPS (производительность на тесте LINPACK составляeт 6,646 TFLOPS).

В основу архитектуры и функциональной структуры системы МВС15000 ВМ заложена платформа ЭВМ PowerPC. Для формирования ВС использованы микропроцессоры PowerPC 970 c тактовой частотой 2,2 ГГц и межпроцессорная коммуникационная сеть Myrinet.

В списке самых мощных компьютеров мира (Тор500) вычислительная система МВС-15000 ВМ в 2006 г. (в 28-й редакции) занимала 99 позицию, a в 2007 г. (в 29-й редакции) переместилась на 187 место.

7.8. Анализ вычислительных систем c программируемой структурой

1. Вычислительные системы c программируемой структурой

гиб-

кий класс средств обработки информации c архитектурой MIMD. Архитектура таких систем не имеет принципиальных ограничений на пути ко все

более полному воплощению в реализациях принципов модели коллектива вычислителей как на макроуровне (на уровне системы в целом), так и на микроуровне (на уровне одной ЭМ). Концепция ВС c программируемой структурой свидетельствует o революционном отходе от классической архитектуры ЭВМ Дж. фон Неймана.

2. Накоплен опыт создания ВС c программируемой структурой

(«Mинск-222 », МИНИМАКС, СУММА, МИКРОС-1, МИКРОС-2, МИК-

375

7. Вычислительные системы c программируемой структурой

РОС-Т, МВС-100, МВС-1000 и др.). Реализованы мультитранспьютерные живучие ВС c программируемой структурой М: АКРОС-Т и МВС-100 и высокопроизводительные системы МВС-1000; распределенные децентрализованные ОС, инвариантные к структуре сети мед машинных связей и количе-

ству ЭМ; языки параллельного программирования; комплексы отказоустойчивых прикладных параллельных программ.

Результаты многолетней эксплуатации сом ;данных систем показывают высокую эффективность архитектурных решений, присущих концепции ВС c программируемой структурой. Эта концепция позволяет в условиях современных ограничении в производстве средств микропроцессорнои техники (в технологии БИС) строить промышленные ВС, множество конфигураций которых составляют семейства (ряды) сов: иiестимых экономичных моделен для широкого диапазона по производительности, надежности и живучести. Примером служит ВС МИКРОС, подход в реализации которой допускает формирование требуемых сосредот оченных и распределенных моделей из серийных средств микропроцессор: мой техники и обеспечивает на многие годы возможность эволюционного совершенствования системы в

соответствии c развитием технологии БИС.

3. Вычислительные системы c программируемой структурой это коллектив ЭМ, количество которых и структур; а сети связей между которыми допускают варьирования в широких пределах. Рост производительности таких ВС обеспечивается увеличением количества ЭМ и расширением конфигураций каждой из них.

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

8. TPAHCПЬЮTEPHЫE

ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ

Развитие средств обработки информации всегда основывалось на перспективныx технико-экономически обоснованных архитектурных и структурных решениях и на технологических достижениях в области элементной базы. Ярким примером гармонического сочетания этих факторов могут служить высокопроизводительные средства (1980-e годы), получившие название «Транспьютерные вычислительные системы». Такие ВС нашли применение во многих областях науки, техники и экономики, они внедрили в технику обработки данных архитектурные принципы модели коллектива

вычислителеи.

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

B данной главе будут даны понятие o транспьютерных ВС и описания архи-

тектур транспьютеров семейств Т200, Т400, Т800 и Т9000 фирмы Inmos Ltd. (Великобритания).

8.1.Понятие o транспьютерных вычислительных системах

8.1.1.Предпосылки создания транспьютерных вычислительных систем

Совершенствование параллельных средств обработки информации — ВС — базируется главным образом на достижениях в области архитектуры. При этом развивается и мaкpoapxитeктypa BC (архитектура коллектива вы-

числителей-микропроцессоров), и микpoapxитeктypa (архитектура микропроцессора).

Современная элeмeнтнaя база BT — это мнoгopaзpядныe микропроцессоры c тактовой частотой до 100 ГГц. Эмпирический закон Mypa (Gordon Moore, одного из основателей фирмы Intel) свидетельствует o том, что кaж-

377

8. Транспьютерные вычислительные системы

дые 18 месяцев плотность упаковки транзисторов на кристалле удваивалась и соответственно возрастала эффективность ми кропроцессора. Увеличение

возможностей микропроцессора обеспечивалось не только за счет достиже-

ний технологии, a также и совершенствованием его архитектуры. Современные высокопроизводительные микропроцессоры имеют развитую архитектуру (микроархитектуру), которая существенно отличается от последовательной

фон-неймановской; они основываются на конвей^ ^ризации вычислений.

Совершенно естественно возникла идея создания параллельных ВС как коллективов микропроцессоров, размещенных на одной пластине. Эта идея могла появиться на вполне определенном этапе развития ВТ, который характеризовался достаточно совершенной кре)и1ниевои технологией в производстве микропроцессорных БИС и созданы ем промышленных мультипроцессорных ВС. Этот этап конец 1970-х 1980-e годы. B плане реализации этой идеи и возникли тpанспьютерные ВС.

Работы по тpанспьютерным ВС зародил)4сь и первоначально велись

только в фирме Inmos Ltd. (Великобритания). Фирма Inmos ставила перед

собой цель выйти на микроэлектронные рынки США и Европы. B соответствии c поставленной целью в фирме Inmos и были инициированы работы по построению транспьютерных ВС c быстродействием 2,5 млрд опер./c.

8.1.2. Общие сведения o транспьютерных в>>iчислительных системах

Транспьютерная ВС это ансамбль эг ементарных процессоров транспьютеров, взаимодействующих через регулярную (как правило, двумерную) сеть связи. Все транспьютеры имеют идентичную функциональную структуру. Транспьютер специали: !ированный микропроцессор,

включающий в себя собственно микропроцессор (МП) c архитектурой, поддерживающей параллельные процессы, лом сальную память (ЛП) и липки (Л); липк канал ввода-вывода информации, предназначенный для подключения соседнего транспьютера (рис. 8 1). Работы по транспьютерным ВС первоначально были ориентированы на создание высокоэффективного средства обработки информации в виде полупроводниковой пластины, содержащей несколько сотен элемЕ;нтарных процессоров (см. рис. 8.1 и 6.6).

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

Термин «транспьютер» является синони мом понятия «элементарная машина», если следовать отечественной терминологии (см. § 3.4 и гл. 7). Транспьютер микроэлектpонный элемент для построения распределен-

378

8.1. Понятие o транспьютерных вычислительных системах

256 транспьютеров на пластине

Усовершенствованная КМОП-технология

Память емкостью

1 Мбайт

2,5 млpд опер./c

a

б

Рис. 8.1. Транспьютерная система фирмы Inmos:

a — система; б — транспьютер; МП — микропроцессор; Л — лини; ЛП — локальная память;

1-4 —линии

ньгх ВС c массовым параллелизмом. Название этого элемента служит ктпо- чом к пониманию как его архитектурных возможностей, так и технологии изготовления. B самом деле, ТРАНСПЬЮТЕР это аббревиатура, образо-

ваннaя из слов «транзисторный компьютер» (TRANSPUTER TRANSistor comPUTER). Следовательно, название «транспьютер» указывает на то, что

этот элемент (по мнению разработчиков) должен был стать основой для постpоения нового поколения (не-фон-неймановских) ВС, точно так же, как транзистор послужил базой для создания первых полупроводниковых ЭВМ второго поколения. Первый транспьютер был создан в середине 1983 г. спе-

циaлистами фирмы Inmos.

1980-1990-e годы характеризуются достаточно бурным подъемом тpанспьютерной индустрии. Термин «транспьютерные технологии» использовaли чуть ли не чаще, чем «параллельные вычислительные технологии».

Создание транспьютера потребовало заметных тpудозатpат и финансовых вложений. На разработку первого транспьютера было затрачено

100 человеко-лет (при этом широко использовались средства автоматизированного проектирования).

Транспьютерная вычислительная система наиболее полный вариант технического воплощения на Западе модели коллектива вычислителей (см. § 3.1 и 3.2). Говоря другими словами, тpанспьютернaя ВС является микроэлектронной реализацией концепции ВС c программируемой структурой (см. гл. 7). B самом деле:

• транспьютер это микроэлектронная элементарная машина (простой

конфигурации, без внешних устройств);

379

8.Транспьютерные вычислительн, ые системы

транспьютерная ВС является множеств эм транспьютеров, взаимодействующих друг c другом через сеть связей (л инков);

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

Следовательно, транспьютерные ВС :это разновидность вычислительных систем c программируемой структурой (см. гл. 7 и [5, 6]). Оче-

видно, что ВС на кристалле (Systems-on-Chip) является ближайшей перспек-

тивой в высокопроизводительной индустрии об работки информации.

8.2. Архитектура транспьютеров семейств Т200, Т400 и Т800

8.2.1.Общие сведения об архитектуре транспьютера

иязыке программированг^я Оккам

Транспьютер, если его рассматривать в архитектурном плане, является функционально-структурным элементом длА построения распределенных ВС c массовым параллелизмом. Транспьютер в технологическом плане это программируемая микропроцессорная ВИС. Транспьютер включает в себя собственно МП, реализующий операции с фиксированной запятой, локaльную память для хранения данных и программ, параллельный интерфейс внешней памяти, липки (Links) последовательные двунаправленные канaлы передачи данных для непосредственных связей c другими (соседними) транспьютерами. Транспьютеры выпускаются семействами, в архитектурно

развитых семействах в состав транспьютера в ходит и процессор c плаваю-

., .,

щей запятой.

Архитектура и конструкция транспьютера ориентированы на реализацию специального языка параллельного программирования Оккам (Оссат).

Этот язык был создан фирмой Inmos Ltd. совмсстно c Оксфордским университетом (Oxford University, Великобритания). Свое название он получил в

честь английского философа и логика XIV в. Уильяма Оккама (W. Оскнат,

W. Оссат). Согласно принципу «бритвы Оккама» («Entia non sunt multiplicanda praeter necessitatem») или «сущности не следует умножать без необхо-

димости», или «сущность не должна превышать необходимость», всегда следует стремиться к простоте, т. e. из двух одинаково эффективных решений нужно выбирать более простое. Этим названием разработчики языка, по-видимому, стремились подчеркнуть то, L то он не содержит никаких лишних конструкций.

Язык Оккам основан на теории С5 (Communicating Sequential

Processes) «взаимодействующих последовательных процессов», предложенной в 1978 г. профессором Оксфордского университета Ч.A.P. Хором

380

8.2. Архитектура транспьютеров семейств Т200, Т400 и Т800

(C.A.R. Ноаге). Достоинство языка Оккам заюпочается в объединении двух взaимодейcтвий синхронизации и обмена информацией. Последнее обеспечивает синхронизацию процессов перед любыми обменами информацией

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

в 1982 г. разработчиками был создан простой и элегантный язык Оккам 1, содержащий небольшое число конструкций, он был универсальным и имел эффективные средства для программирования параллельных процессов. в 1986 г. была завершена разработка расширенной версии языка, получившей название Оккам 2. Элегантность языка Оккам, безусловно, делает его привлекательным для изучения основ параллельного программирования.

Отметим концептуальные особенности языка Оккам. B этом языке

процесс (Process) является основным рабом элементом, a канал (Chwinel)

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

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

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

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

381

распределенный харакгтер параллелизма в языке Ок-

8. Транспьютерные вычислительн .,те системы

скольким различным каналам, причем это можЕ -т происходить одновременно c выполнением операции присваивания.

Механизм реализации взаимодействий между процессами основывается на принципе близкодействия (см. рaзд. 3.2 1). Суть любого взаимодей-

ствия обмен сообщениями по двyxточечным . саналам связи (Point-to-Point Communication Channel). Под каналом (Channel) здесь понимается не физи-

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

ции двух каналов (Channels) между процессами языка Оккам (по одному

каналу в каждом направлении).

Использование каналов для организации оЕ менов между параллельными

процессами подчеркивает

кам. Если программа выполняется на множеств е транспьютеров, кaждый из которых имеет свою локальную память, то обмены путем межтранспьютерньх посылок сообщений являются естественными. C другой стороны, если множеcтво параллельных процессов выполняется на щ;ном транспьютере (в режиме разделения времени), то естественны были бы обмены через общую память. Однако последнее не разрешено в Оккаме: одна и та же модель параллелизма используется как внутри транспьютера, так и ме: жду транспьютерами. Это позволяeт, во-первых, устранить ошибки программирования, связанные c использованием общих данных; во-вторых, облегчить псреносимость программ на ВС c произвольными конфигурациями; в-третьих, параллельные программы, пред- назначенные для мультитранспьютерной ВС, можно оттранслировать, протестировать и вьшолнить на однотранспьютернои си стеме.

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

Применение двyxточечных языковых и физических каналов (Channels and Links), a также синхронных связей между процессами существенно уп-

рощают построение мультитpанспьютерных систем. Такой подход в сравнении c шинными мультипроцессорными ВС о^5ладает рядом преимуществ, среди которых:

простота аппаратypной реализации двyx' точечного канала (здесь имеется только один источник сообщения и один адресат, a в шинных структурах множества указанных объектов);

рост пропускной способности сети ме>. странспьютерных связей ВС при увеличении числа транспьютеров (в шинных мультипроцессорных системах имеет место обратная зависимость);

382

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]