Суперкомпьютеры и их применение

Автор работы: Пользователь скрыл имя, 27 Ноября 2013 в 19:46, курсовая работа

Краткое описание

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

Содержание

Введение 5
1 Сферы применения суперкомпьютеров 7
2 Суперкомпьютеры 10
2.1 Параллельная обработка. 10
2.2 Конвейерная обработка. 11
3 История развития суперкомпьютеров. 13
3.1 Матричные суперкомпьютеры 14
4 Архитектура современных суперЭВМ 18
4.1 Векторные суперкомпьютеры [SIMD] 19
4.2 Многопроцессорные векторные суперкомпьютеры (MIMD) 21
4.3 Многопроцессорные SMP-серверы на базе микропроцессоров RISC-архитектуры [MIMD] 21
4.4 Кластеры [MIMD] 23
4.5 МРР-системы (MIMD) 24
4.6 Транспьютеры 25
5 Оценки производительности суперЭВМ 26
Заключение 28
Список использованной литературы 29

Прикрепленные файлы: 1 файл

Суперкомпьютеры и их применение.doc

— 165.00 Кб (Скачать документ)

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

3 История развития суперкомпьютеров.

 

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

Все самые первые компьютеры, например, EDSAC, EDVAC, UNIVAC, сначала считывали данные последовательно бит за битом  из памяти, а затем их аналогично обрабатывали в арифметическом устройстве.

1953 г. Первым коммерчески доступным компьютером, использующим разрядно-параллельную память (на CRT) и разрядно-параллельную арифметику, стал компьютер IBM 701. К слову будет сказано, наибольшую популярность в то время получила модель IBM 704 (1955 г.), проданной в количестве 150 экземпляров (!), в которой, помимо упомянутых особенностей, была впервые применена память на ферритовых сердечниках и аппаратное арифметическое устройство с плавающей точкой.

1958г. Процессоры первых компьютеров сами управляли вводом/выводом. Однако скорость работы самого быстрого внешнего устройства, а по тем временам это магнитная лента, была в 1000 раз меньше скорости процессора, поэтому во время операций ввода/вывода процессор фактически простаивал. В 1958г. к компьютеру IBM 704 присоединили 6 независимых процессоров ввода/вывода, которые после получения команд могли работать параллельно с основным процессором, а сам компьютер переименовали в IBM 709. Данная модель получилась удивительно удачной, так как вместе с модификациями было продано около 400 экземпляров, причем последний был выключен в 1975 году - 20 лет существования!

1961г. Создается компьютер IBM STRETCH, имеющий две принципиально важные особенности: опережающий просмотр вперед для выборки команд и расслоение памяти на два банка для согласования низкой скорости выборки из памяти и скорости выполнения операций.

1963г. В Манчестерском университете разработан компьютер ATLAS, использующий конвейерный принцип выполнения команд. Выполнение команд разбито на 4 стадии: выборка команды, вычисление адреса операнда, выборка операнда и выполнение операции, позволившие уменьшить время выполнения команд в среднем с 6 мкс до 1,6 мкс. Справедливости ради надо отметить, что данный компьютер вообще оставил заметный след в истории развития вычислительной техники: помимо сказанного, в нем впервые была использована мультипрограммная операционная система, основанная на использовании виртуальной памяти и системы прерываний.

1964г. Фирма Control Data Corporation (CDC) при непосредственном участии одного из ее основателей, Сеймура Р.Крэя (Seymour R.Cray) выпускает компьютер CDC-6600 - первый компьютер, в котором использовалось несколько независимых функциональных устройств. Для сравнения с сегодняшним днем приведем некоторые параметры компьютера: время такта 100нс, производительность 2-3 млн. операций в секунду, оперативная память разбита на 32 банка по 4096 60-ти разрядных слов, цикл памяти 1мкс, 10 независимых функциональных устройств. Машина имела громадный успех на научном рынке, активно вытесняя машины фирмы IBM.

1969г. CDC выпускает компьютер CDC-7600 с восемью независимыми конвейерными функциональными устройствами - сочетание параллельной и конвейерной обработки.

 

3.1 Матричные суперкомпьютеры

 

В 1967г. группа Слотника, объединенная в Центр передовых вычислительных технологий (Center of Advanced Computation) при Иллинойском университете, приступила к практической реализации проекта векторной суперЭВМ с матричной структурой ILLIAC IV. Работы финансировались Министерством обороны США, а изготовление машины взяла на себя фирма Burroughs Corp. Техническая сторона проекта до сих пор поражает своей масштабностью: система должна была состоять из четырех квадрантов, каждый из которых включал в себя 64 процессорных элемента (ПЭ) и 64 модуля памяти, объединенных коммутатором на базе сети типа гиперкуб. Все ПЭ квадранта обрабатывают векторную инструкцию, которую им направляет процессор команд, причем каждый выполняет одну элементарную операцию вектора, данные для которой сохраняются в связанном с этим ПЭ модуле памяти. Таким образом, один квадрант ILLIAC IV способен одновременно обработать 64 элемента вектора, а вся система из четырех квадрантов - 256 элементов.

В 1972 г., после преодоления значительных проблем, связанных с практической реализацией проекта на аппаратном и программном уровнях, первая система ILLIAC IV была установлена в исследовательском центре NASA в Эймсе. Результаты ее эксплуатации в этой организации получили неоднозначную оценку. С одной стороны, использование суперкомпьютера позволило решить ряд сложнейших задач аэродинамики, с которыми не могли справиться другие ЭВМ. Даже самая скоростная ЭВМ для научных исследований того времени - Control Data CDC 7600, которую, к слову сказать, проектировал "патриарх суперЭВМ" Сеймур Крей (S.Cray), могла обеспечить производительность не более 5 млн. операций с плавающей точкой в секунду (MFLOPS), тогда как ILLIAC IV демонстрировала среднюю производительность примерно в 20 MFLOPS.

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

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

Однако ни в 60-х годах, ни позднее  удовлетворительное и универсальное  решение двух таких принципиальных проблем, как программирование параллельной работы нескольких сотен процессоров  и при этом обеспечение минимума затрат счетного времени на обмен данными между ними, так и не было найдено. Выдвинув пионерскую задачу создания компьютера сверхвысокой производительности, разработчики ILLIAC IV первыми же оказались не в состоянии ответить на эти два принципиальных вопроса. Потребовалось еще примерно 15 лет усилий различных фирм по реализации суперЭВМ с матричной архитектурой, чтобы поставить окончательный диагноз: компьютеры данного типа не в состоянии удовлетворить широкий круг пользователей и имеют весьма ограниченную область применения, часто в рамках одного или нескольких видов задач (например, в системах обработки изображений, как ЭВМ STARAN фирмы Goodyear Aerospace). "Лебединой песней" матричных суперЭВМ стал компьютер BSP производства Burroughs, который проектировался как альтернатива векторно-конвейерным суперЭВМ фирмы Cray Research, но так и не увидел свет из-за очевидной неконкурентоспособности системы. Конечно, было бы большой ошибкой утверждать, что развитие суперЭВМ с матричной архитектурой не дало никаких положительных результатов. Во-первых, удалось доказать возможность практической реализации параллельной сверхскоростной обработки. Во-вторых, на волне интереса к матричным структурам была сформулирована достаточно стройная теоретическая база для построения коммутационных сетей, объединяющих множество процессорных элементов. В-третьих, в прикладной математике сформировалось самостоятельное направление по параллельным вычислениям. По мере освоения средств сверхскоростной обработки данных разрыв между совершенствованием методов векторизации программ, т.е. автоматического преобразования в процессе компиляции последовательных языковых конструкций в векторную форму, и чрезвычайной сложностью программирования коммутации и распределения данных между процессорными элементами привел к достаточно жесткой реакции пользователей в отношении матричных суперЭВМ - широкому кругу программистов требовалась более простая и "прозрачная" архитектура векторной обработки с возможностью использования стандартных языков высокого уровня типа FORTRAN. Решение было найдено в конце 60-х годов, когда фирма Control Data, с которой в то время сотрудничал Крей, представила машину STAR-100, основанную на векторно-конвейерном принципе обработки данных. Отличие векторно-конвейерной технологии от архитектуры матричных ЭВМ заключается в том, что вместо множества процессорных элементов, выполняющих одну и ту же команду над разными элементами вектора, применяется единственный конвейер операций, принцип действия которого полностью соответствует классическому конвейеру автомобильных заводов Форда. Если в матричном компьютере процессорные элементы можно представить как группу рабочих- универсалов, каждый из которых собирает автомобиль от шасси до обивки салона, то векторно-конвейерная обработка ассоциируется с бригадой узких специалистов, один из которых умеет привинчивать колеса, другой - устанавливать двигатель, третий - монтировать корпус, и т.д. Подобно автомобильному конвейеру Форда, векторно-конвейерная обработка способна обеспечить высокий темп выхода готовой продукции - результатов выполняемых операций, если каждый из "рабочих" (т. е. аппаратных блоков конвейера операций) выполняет порученную ему фазу команды с максимальной скоростью. Даже такая архаичная по современным понятиям суперЭВМ, как STAR- 100, показала предельную производительность на уровне 50 MFLOPS, что недоступно для большинства современных мэйнфреймов. При этом существенно, что векторно-конвейерные суперЭВМ значительно дешевле своих матричных "родственников". К примеру, разработка и производство ILLIAC IV обошлись в 40 млн. долл. при расходах на эксплуатацию порядка 2 млн. долл. в год, тогда как рыночная стоимость первых суперкомпьютеров фирм CRAY и Control Data находилась в пределах 10 - 15 млн. долл., в зависимости от объема памяти, состава периферийных устройств и других особенностей конфигурации системы.

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

 В 1972 году С.Крэй покидает CDC и основывает свою компанию Cray Research, которая в 1976г. выпускает первый векторно-конвейерный компьютер CRAY-1: время такта 12.5нс, 12 конвейерных функциональных устройств, пиковая производительность 160 миллионов операций в секунду, оперативная память до 1Мслова (слово - 64 разряда), цикл памяти 50нс. Главным новшеством является введение векторных команд, работающих с целыми массивами независимых данных и позволяющих эффективно использовать конвейерные функциональные устройства.

На этом означенный экскурс  в историю можно смело закончить, поскольку роль параллелизма и его  влияние на развитие архитектуры  компьютеров уже очевидна [3].

 

4 Архитектура современных суперЭВМ

 

Рассмотрим типичные архитектуры суперЭВМ, широко распространенных сегодня, и приведем классическую систематику Флинна.

В соответствии с ней, все компьютеры делятся на четыре класса в зависимости от числа  потоков команд и данных. К первому  классу (последовательные компьютеры фон Неймана) принадлежат обычные  скалярные однопроцессорные системы: одиночный поток команд - одиночный поток данных (SISD). Персональный компьютер имеет архитектуру SISD, причем не важно, используются ли в ПК конвейеры для ускорения выполнения операций.

Второй класс характеризуется  наличием одиночного потока команд, но множественного nomoka данных (SIMD). К этому архитектурному классу принадлежат однопроцессорные векторные или, точнее говоря, векторно-конвейерные суперкомпьютеры, например, Cray-1. В этом случае мы имеем дело с одним потоком (векторных) команд, а потоков данных - много: каждый элемент вектора входит в отдельный поток данных. К этому же классу вычислительных систем относятся матричные процессоры, например, знаменитый в свое время ILLIAC-IV. Они также имеют векторные команды и реализуют векторную обработку, но не посредством конвейеров, как в векторных суперкомпьютерах, а с помощью матриц процессоров.

К третьему классу - MIMD - относятся  системы, имеющие множественный  поток команд и множественный  поток данных. К нему принадлежат  не только многопроцессорные векторные суперЭВМ, но и вообще все многопроцессорные компьютеры. Подавляющее большинство современных суперЭВМ имеют архитектуру MIMD.

Четвертый класс в  систематике Флинна, MISD, не представляет практического интереса,по крайней  мере для анализируемых нами компьютеров. В последнее время в литературе часто используется также термин SPMD (одна программа - множественные данные). Он относится не к архитектуре компьютеров, а к модели распараллеливания программ и не является расширением систематики Флинна. SPMD обычно относится к MPP (т.е. MIMD) - системам и означает, что несколько копий одной программы параллельно выполняются в разных процессорных узлах с разными данными.

Интересно также упомянуть  о принципиально ином направлении  в развитии компьютерных архитектур - машинах потоков данных. В середине 80-х годов многие исследователи полагали, что будущее высокопроизводительных ЭВМ связано именно с компьютерами, управляемыми потоками данных, в отличие от всех рассмотренных нами классов вычислительных систем, управляемых потоками команд. В машинах потоков данных могут одновременно выполняться сразу много команд, для которых готовы операнды. Хотя ЭВМ с такой архитектурой сегодня промышленно не выпускаются, некоторые элементы этого подхода нашли свое отражение в современных суперскалярных микропроцессорах, имеющих много параллельно работающих функциональных устройств и буфер команд, ожидающих готовности операндов. В качестве примеров таких микропроцессоров можно привести HP РА-8000  и Intel Pentium Pro.

В соответствии с классификацией Флинна, рассмотрение архитектуры суперЭВМ следовало бы начать с класса SISD. Однако все векторно-конвейерные (в  дальнейшем - просто векторные) суперЭВМ имеют архитектуру "не меньше" SIMD. Что касается суперкомпьютерных серверов, использующих современные высокопроизводительные микропроцессоры, таких как SGI POWER CHALLENGE на базе R8000 или DEC AlphaServer 8200/8400 на базе Alpha 21164, то их минимальные конфигурации бывают однопроцессорными. Однако, если не рассматривать собственно архитектуру этих микропроцессоров, то все особенности архитектуры собственно серверов следует анализировать в "естественной" мультипроцессорной конфигурации. Поэтому начнем анализ суперкомпьютерных архитектур сразу с класса SIMD.

           

4.1 Векторные суперкомпьютеры [SIMD]

 

Среди современных суперЭВМ эту архитектуру имеют однопроцессорные векторные суперкомпьютеры. Практически  все они выпускаются также  в мультипроцессорных конфигурациях, относящихся к классу MIMD. Однако многие особенности архитектуры векторных суперЭВМ можно понять, рассматривая даже однопроцессорные системы.

Типичная схема однопроцессорного  векторного суперкомпьютера представлена на примере FACOM VP-200 японской фирмы Fujitsu . Похожую архитектуру имеют и  другие векторные суперкомпьютеры, например, фирм Cray Research  и Convex . Общим для всех векторных суперкомпьютеров является наличие в системе команд векторных операций, например, сложение векторов, допускающих работу с векторами определенной длины, допустим, 64 элемента по 8 байт. В таких компьютерах операции с векторами обычно выполняются над векторными регистрами, что, однако, совсем не является обязательным. Наличие регистров маски позволяет выполнять векторные команды не над всеми элементами векторов, а только над теми, на которые указывает маска.

Информация о работе Суперкомпьютеры и их применение