ЭВМ и суперкомпьютеры

Автор работы: Пользователь скрыл имя, 07 Октября 2009 в 16:09, Не определен

Описание работы

Курсовая работа

Файлы: 1 файл

КУрсовая по информатике.doc

— 175.50 Кб (Скачать файл)

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

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

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

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

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

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

       Что касается скалярной обработки, то соответствующая  подсистема команд в японских суперкомпьютерах Fujitsu и Hitachi совместима с IBM/370, что имеет очевидные преимущества. При этом для буферизации скалярных данных используется традиционная кэш-память. Напротив, компания Cray Research, начиная с Сгау-1, отказалась от применения кэш-памяти. Вместо этого в ее компьютерах используются специальные программно-адресуемые буферные В- и Т-регистры. И лишь в последней серии, Cray T90, была введена промежуточная кэш-память для скалярных операций. Отметим, что на тракте оперативная память - векторные регистры промежуточная буферная память отсутствует, что вызывает необходимость иметь высокую пропускную способность подсистемы оперативной памяти: чтобы поддерживать высокую скорость вычислений, необходимо быстро загружать данные в векторные регистры и записывать результаты обратно в память.

       Но  некоторые векторные суперЭВМ, например, IBM ES/9000, работают с операндами-векторами, расположенными непосредственно в оперативной памяти. Скорее всего, такой подход является менее перспективным с точки зрения производительности, в частности, потому, что для поддержания высокого темпа вычислений для каждой векторной команды требуется быстрая выборка векторных операндов из памяти и запись результатов обратно.

       Многопроцессорные векторные суперкомпьютеры (MIMD)

       Все упомянутые векторные суперкомпьютеры  выпускаются в многопроцессорных конфигурациях, которые относятся уже к классу MIMD.

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

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

       Многопроцессорные SMP-серверы на базе микропроцессоров RISC-архитектуры [MIMD]

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

       Наиболее  известные суперкомпьютерные серверы, имеющие подобную SMP-архитектуру - DEC AlphaServer 8200/8400  и SGI POWER CHALLENGE . Для них характерно применение высокопроизводительной системной шины, в слоты которой вставляются модули трех типов - процессорные, оперативной памяти и ввода-вывода. Обычные, более медленные шины ввода-вывода, например, PCI или VME64, подсоединяются уже к модулям ввода-вывода. Очевидно, что подобная конструкция обладает высокой степенью модульности и легко позволяет производить наращивание конфигурации, которое ограничивается только доступным числом слотов системной шины и ее производительностью.

       В модулях памяти обычно используется технология DRAM, что позволяет достигнуть больших объемов памяти при относительно низкой цене. Однако скорость обмена данными между процессорами и памятью в таких серверах во много раз ниже, чем пропускная способность аналогичного тракта в векторных суперЭВМ, где оперативная память строится на более дорогой технологии ЯВАМ. В этом состоит одно из основных отличий в подходах к суперкомпьютерным вычислениям, применяемым для многопроцессорных векторных ЭВМ и SMP-серверов. Во первых обычно имеется относительно небольшое число векторных регистров, поэтому, как уже отмечалось, для поддержания высокой производительности необходимо быстро загружать в них данные или, наоборот, записывать из них информацию в оперативную память. Таким образом, требуется высокая производительность тракта процессор-память.

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

       Кластеры [MIMD]

       Кластеры  являются самым дешевым способом наращивания производительности уже инсталлированных компьютеров. Фактически кластер представляет собой набор из нескольких ЭВМ, соединенных через некоторую коммуникационную инфраструктуру. В качестве такой структуры может выступать обычная компьютерная сеть, однако из соображений повышения производительности желательно иметь высокоскоростные соединения (FDDI/ATM/HiPPI и т.п.). Кластеры могут быть образованы как из различных компьютеров, так и из одинаковых (гомогенные кластеры). Очевидно, что все такие системы относятся к классу MIMD. Кластеры являются классическим примером слабо связанных систем.

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

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

       МРР-системы (MIMD)

       Основным  признаком, по которому систему относят  к архитектуре MPP, является число  процессоров (n). Строгой границы  не существует, но обычно считается, что  при n >= 128 - это уже МРР, а при n <= 32 - еще нет.

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

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

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

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

       Самой эффективной была бы топология, в  которой любой узел мог бы напрямую связаться с любым другим узлом. Однако в MPP-системах это технически трудно реализуемо.

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

Информация о работе ЭВМ и суперкомпьютеры