Классификация параллельных систем

Автор работы: Пользователь скрыл имя, 02 Июня 2012 в 11:46, реферат

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

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

Содержание

Введение ……………………………………………………………………………… 3
Классификация Флинна ……………………………………………………….... 4
Классификация Хокни ………………………………………………………….. 5
Классификация Фенга …………………………………………………………. .7
Классификация Хедлера ……………………………………………………...... 8
Классификация Шнайдера …………………………………………………….. 11
Классификация Скилликорна …………………………………………………. 13
Классификация Шора ………………………………………………………….. 16
Классификация Джонсона …………………………………………………….. 18
Классификация Базу …………………………………………………………… 19
Классификация Кришнамарфи ……………………………………………….. 21
Классификация Дазгупты ……………………………………………………... 23
Классификация Дункана ………………………………………………………. 26

Заключение ………………………………………………………………………….. 29

Список литературы …………………………………………………………………. 30

Вложенные файлы: 1 файл

парал прогр.docx

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

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

Итак, автор предлагает следующую иерархию категорий:

  1. Самый низкий уровень - категория КЭШ-процессора с памятью MCP (memory-cache processor). Классами этой категории являются всевозможные различные архитектуры. Соответствующую архитектуре формулу можно рассматривать как имя класса.
  2. Более высокий уровень - категория КЭШ-процессора (СP). Множество классов этой категории получается путем удаления из классов категории CP составляющих, описывающих память.
  3. Самый высокий уровень - категория процессора (P). Классы получают удалением кэш-составляющих из классов категории CP.

На  каждом уровне описание архитектуры  задается формулой, отображающей те свойства архитектуры, которые являются существенными для данной категории.

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

Две архитектуры принадлежат к одному классу в CP категории, если совпадают  их описания процессоров и кэш-памяти. Если две архитектуры сходны только по описанию процессоров команд, то они попадают в один класс процессорной категории.

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

 

12. Классификация Дункана

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

  • Из класса параллельных машин должны быть исключены те, в которых параллелизм заложен лишь на самом низком уровне, включая:
    • конвейеризацию на этапе подготовки и выполнения команды (instruction pipelining), т.е. частичное перекрытие таких этапов, как дешифрация команды, вычисление адресов операндов, выборка операндов, выполнение команды и сохранение результата;
    • наличие в архитектуре нескольких функциональных устройств, работающих независимо, в частности, возможность параллельного выполнения логических и арифметических операций;
    • наличие отдельных процессоров ввода/вывода, работающих независимо и параллельно с основными процессорами.

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

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

Учитывая вышеизложенные требования, Дункан дает неформальное определение параллельной архитектуры, причем именно неформальность дала ему возможность включить в данный класс компьютеры, которые ранее не вписывались в систематику Флинна. Итак, параллельная архитектура - это такой способ организации вычислительной системы, при котором допускается, чтобы множество процессоров (простых или сложных) могло бы работать одновременно, взаимодействуя по мере надобности друг с другом. Следуя этому определению, все разнообразие параллельных архитектур Дункан систематизирует так, как показано на рисунке:

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

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

Гибридные MIMD/SIMD архитектуры, dataflow, reduction и wavefront вычислительные системы осуществляют параллельную обработку информации на основе асинхронного управления, как и MIMD системы. Но они выделены в отдельную группу, поскольку все имеют ряд специфических особенностей, которыми не обладают системы, традиционно относящиеся к MIMD.

MIMD/SIMD - типично гибридная архитектура. Она предполагает, что в MIMD системе можно выделить группу процессоров, представляющую собой подсистему, работающую в режиме SIMD (PASM, Non-Von). Такие системы отличаются относительной гибкостью, поскольку допускают реконфигурацию в соответствии с особенностями решаемой прикладной задачи.

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

Модель вычислений, применяемая  в reduction машинах, иная и состоит в следующем: команда становится доступной для выполнения тогда и только тогда, когда результат ее работы требуется другой, доступной для выполнения, команде в качестве операнда.

Wavefront array архитектура объединяет в себе идею систолической обработки данных и модель вычислений, используемой в dataflow. В данной архитектуре процессоры объединяются в модули и фиксируются связи, по которым процессоры могут взаимодействовать друг с другом. Однако, в противоположность ритмичной работе систолических массивов, данная архитектура использует асинхронный механизм связи с подтверждением (handshaking), из-за чего "фронт волны" вычислений может менять свою форму по мере прохождения по всему множеству процессоров.

Заключение

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

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

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

 

Список литературы

    1. Бэбб Р., Мак-Гроу Дж. и др. Программирование на параллельных вычислительных системах. М.: Мир. 1991. 376 С.
    2. Головкин Б.А. Параллельные вычислительные системы. М.: Наука. 1980. 520 С.
    3. Высокоскоростные вычисления. Архитектура, производительность, прикладные алгоритмы и программы Супер ЭВМ /Под ред. Ковалика Я.- М.: Радио и связь. 1988. 432 С.
    4. Валях Е. Последовательно-параллельные вычисления. М.: Мир. 1985. 456 С.
    5. Супер ЭВМ. Аппаратная и программная организация. /Под ред. Фернбаха C.- М.: Радио и связь. 1991. 320 С.
    6. http://www.parallel.ru/computers/taxonomy/
    7. http://citforum.ru/hardware/svk/glava_11.shtml

 


Информация о работе Классификация параллельных систем