Файл: Мультипроцессоры (Конвейерная и векторная обработка).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 26.05.2023

Просмотров: 560

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

Глава 1. МУЛЬТИПРОЦЕССОРЫ И МУЛЬТИМАШИНЫ

Мультипроцессоры

Конвейерная и векторная обработка

Машины типа SIMD

Машины типа MIMD

МПС с SIMD-процессорами

Глава 2. РАСПРЕДЕЛЕННАЯ ОБРАБОТКА ДАННЫХ

Что называют распределенной обработкой данных

Формы взаимодействия между программами

Системы с массовым параллелизмом

Цели распределенной обработки данных

Распределение и параллелизм

Прозрачность

ГЛАВА 3. ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ И АППАРАТНЫЕ СРЕДСТВА МУЛЬТИПРОЦЕССОРНЫХ СИСТЕМ

Тематика высокопроизводительных вычислений и мультипроцессорных систем 

Основные результаты суперкомпьютерной программы «СКИФ» 

Мультипроцессорные компьютеры

Перспективы развития суперкомпьютерного направления работ в ИЦМС ИПС РАН

Глава 4. ОДНОКРИСТАЛЬНЫЕ МУЛЬТИПРОЦЕССОРЫ

Гомогенные однокристальные мультипроцессоры

Гетерогенные однокристальные мультипроцессоры

ЗАКЛЮЧЕНИЕ

БИБЛИОГРАФИЯ

ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ

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

1) рост мощи станций, оснащаемых человеко-машинными интерфейсами;

2) появление процессоров, предназначенных для специальных видов обработки данных;

3) расширение возможностей в области хранения информации;

4) появление средств, облегчающих доступ к ресурсам, распределенным по сети.

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

  • распределение или разделение;
  • возможность взаимодействия;
  • прозрачность;
  • модель "клиент-сервер".

Цель темы моей курсовой работы заключается в описании мультипроцессорных систем и их классификации с различной архитектурой.

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

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

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

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

Глава 1. МУЛЬТИПРОЦЕССОРЫ И МУЛЬТИМАШИНЫ

Мультипроцессоры

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


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

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

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

Мультипроцессорные машины подразделяются на два типа:

  • Жестко связанные мультипроцессоры (еще их называют жестко соединенные), в которых процессоры связаны через общую память (рис.1):

Рис 1. Жестко связанные мультипроцессоры[1]

  • Слабо связанные мультипроцессоры (второе название – слабо соединенные), в которых процессоры связаны через средство связи (как правило, шину), отличное от общей памяти (рис.2.):

Рис. 2 Слабо связанные процессы[2]

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

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

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


Конвейерная и векторная обработка

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

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

Машины типа SIMD

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

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

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

Машины типа MIMD

Термин "мультипроцессор" покрывает большинство машин типа MIMD и часто используется в качестве синонима для машин типа MIMD.

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

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

МПС с SIMD-процессорами

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


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

Многопроцессорные системы за годы развития вычислительной техники прошли ряд этапов своего развития. Исторически первой стала осваиваться технология SIMD. Но в настоящее время наметился устойчивый интерес к архитектурам MIMD. Этот интерес главным образом определяется двумя факторами[4]:

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

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

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

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

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


Поэтому существующие МПС распадаются на две основные группы.

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

При наличии у процессоров КЭШ-памяти достаточного объема высокопроизводительная шина и общая память могут удовлетворить обращения к памяти, поступающие от нескольких процессоров. Из-за того, что имеется единственная память с одним и тем же временем доступа, эти МПС иногда называют – Uniform Memory Access. Сокращенно: UMA Такой способ организации со сравнительно небольшой разделяемой памятью в настоящее время является наиболее популярным.

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

Глава 2. РАСПРЕДЕЛЕННАЯ ОБРАБОТКА ДАННЫХ

Что называют распределенной обработкой данных

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

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

Распределенная обработка данных (РОД) характерна для сетей ПЭВМ и создаваемых на их основе АРМ РОД и позволяет решать сложные задачи с использованием схемы распараллеливания вычислительного процесса. РОД характеризуется децентрализацией обработки информации с помощью рассредоточенных микро - ЭВМ, которые соединены линиями связи и имеют программно-информационную совместимость. РОД позволяет строить системы, в которых гибко сочетаются достоинства централизации и децентрализации. При разделении вычислительного потенциала системы между несколькими подразделениями предприятия предоставляется возможность локального решения отдельных задач[6].