Автор работы: Пользователь скрыл имя, 07 Октября 2009 в 16:09, Не определен
Курсовая работа
Интересно также упомянуть о принципиально ином направлении в развитии компьютерных архитектур - машинах потоков данных. В середине 80-х годов многие исследователи полагали, что будущее высокопроизводительных ЭВМ связано именно с компьютерами, управляемыми потоками данных, в отличие от всех рассмотренных нами классов вычислительных систем, управляемых потоками команд. В машинах потоков данных могут одновременно выполняться сразу много команд, для которых готовы операнды. Хотя ЭВМ с такой архитектурой сегодня промышленно не выпускаются, некоторые элементы этого подхода нашли свое отражение в современных суперскалярных микропроцессорах, имеющих много параллельно работающих функциональных устройств и буфер команд, ожидающих готовности операндов.
В соответствии с классификацией Флинна, рассмотрение архитектуры суперЭВМ следовало бы начать с класса SISD. Однако все векторно-конвейерные (в дальнейшем - просто векторные) суперЭВМ имеют архитектуру "не меньше" SIMD. Что касается суперкомпьютерных серверов, использующих современные высокопроизводительные микропроцессоры, таких как SGI POWER CHALLENGE на базе R8000 или DEC AlphaServer 8200/8400 на базе Alpha 21164, то их минимальные конфигурации бывают однопроцессорными. Однако, если не рассматривать собственно архитектуру этих микропроцессоров, то все особенности архитектуры собственно серверов следует анализировать в "естественной" мультипроцессорной конфигурации. Поэтому начнем анализ суперкомпьютерных архитектур сразу с класса SIMD.
Векторные суперкомпьютеры [SIMD]
Среди современных суперЭВМ эту архитектуру имеют однопроцессорные векторные суперкомпьютеры. Практически все они выпускаются также в мультипроцессорных конфигурациях, относящихся к классу MIMD. Однако многие особенности архитектуры векторных суперЭВМ можно понять, рассматривая даже однопроцессорные системы.
Типичная
схема однопроцессорного
Конечно, в конкретных реализациях векторной архитектуры в различных суперкомпьютерах имеются свои модификации этой общей схемы. Так, например, в вычислительных системах серии VP компании Fujitsu аппаратно реализована поддержка возможности реконфигурации файла векторных регистров - можно, например, увеличить длину векторных регистров с одновременным пропорциональным уменьшением их числа.
Что касается скалярной обработки, то соответствующая подсистема команд в японских суперкомпьютерах Fujitsu и Hitachi совместима с IBM/370, что имеет очевидные преимущества. При этом для буферизации скалярных данных используется традиционная кэш-память. Напротив, компания Cray Research, начиная с Сгау-1, отказалась от применения кэш-памяти. Вместо этого в ее компьютерах используются специальные программно-адресуемые буферные В- и Т-регистры. И лишь в последней серии, Cray T90, была введена промежуточная кэш-память для скалярных операций. Отметим, что на тракте оперативная память - векторные регистры промежуточная буферная память отсутствует, что вызывает необходимость иметь высокую пропускную способность подсистемы оперативной памяти: чтобы поддерживать высокую скорость вычислений, необходимо быстро загружать данные в векторные регистры и записывать результаты обратно в память.
Но некоторые векторные суперЭВМ, например, IBM ES/9000, работают с операндами-векторами, расположенными непосредственно в оперативной памяти. Скорее всего, такой подход является менее перспективным с точки зрения производительности, в частности, потому, что для поддержания высокого темпа вычислений для каждой векторной команды требуется быстрая выборка векторных операндов из памяти и запись результатов обратно.
Многопроцессорные векторные суперкомпьютеры (MIMD)
Все
упомянутые векторные суперкомпьютеры
выпускаются в
В
архитектуре многопроцессорных
векторных компьютеров можно
отметить две важнейшие характеристики:
симметричность (равноправность) всех
процессоров системы и
Задача распараллеливания является, пожалуй, более сложной, поскольку в ней необходимо организовать синхронизацию параллельно выполняющихся процессов. Практика показала возможности эффективного распараллеливания большого числа алгоритмов для рассматриваемых сильно связанных систем. Соответствующий подход к распараллеливанию на таких компьютерах называется иногда моделью разделяемой общей памяти.
Многопроцессорные SMP-серверы на базе микропроцессоров RISC-архитектуры [MIMD]
Производительность
некоторых современных
Наиболее
известные суперкомпьютерные
В модулях памяти обычно используется технология 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-компьютера.