Многопроцессорные системы

Автор: Пользователь скрыл имя, 28 Октября 2012 в 18:28, курсовая работа

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

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

Содержание

1. Традиционные однопроцессорные последовательные ЭВМ и многопроцессорные сети 6
2 Многопроцессорные системы 7
2.1 Описание многопроцессорных систем 7
2.2 Общие требования, предъявляемые к многопроцессорным системам 7
3. Архитектура вычислительных систем 13
3.1. МРР архитектура 13
3.2. SMP архитектура 15
3.3. PVP архитектура 17
3.4. Кластерная архитектура 19
3.5. Гибридная архитектура (NUMA) 21
3.6. Мета-компьютинг 22
4. Классификация многопроцессорных систем с различной архитектурой 24
4.1 Многопроцессорные системы с общей памятью 24
4.2 Многопроцессорные системы с локальной памятью 33
5. Сравнительный анализ архитектур SMP и MPP 37
6. Области применения многопроцессорных систем 39
Заключение 45
Литература 47

Работа содержит 1 файл

Курсовая работа Многопроцессорные системы.doc

— 221.50 Кб (Скачать)

- структурная  биология;

- разработка  фармацевтических препаратов;

- генетика;

- квантовая  хромодинамика; 

- астрономия;

- транспортные  задачи;

- гидро- и  газодинамика;

- управляемый  термоядерный синтез;

- эффективность  систем сгорания топлива; 

- геоинформационные  системы; 

- разведка недр;

- наука о  мировом океане;

- распознавание  и синтез речи;

- распознавание  изображений. 

Многопроцессорные вычислительные системы могут существовать в различных конфигурациях. Наиболее распространенными типами МВС являются:

- системы высокой надежности;

-системы для высокопроизводительных вычислений;

-многопоточные системы.

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

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

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

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

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

Многопоточные системы используются для обеспечения единого интерфейса к ряду ресурсов, которые могут со временем произвольно наращиваться (или сокращаться). Типичным примером может служить группа web-серверов.

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

Существует два способа  оценки пиковой производительности компьютера. Один из них опирается на число команд, выполняемых компьютером за единицу времени. Единицей измерения, как правило, является MIPS (Million Instructions Per Second). Производительность, выраженная в MIPS, говорит о скорости выполнения компьютером своих же инструкций. Но, во-первых, заранее не ясно, в какое количество инструкций отобразится конкретная программа, а во-вторых, каждая программа обладает своей спецификой, и число команд от программы к программе может меняться очень сильно. В связи с этим данная характеристика дает лишь самое общее представление о производительности компьютера.

Другой способ измерения  производительности заключается в  определении числа вещественных операций, выполняемых компьютером  за единицу времени. Единицей измерения является Flops (Floating point operations per second) – число операций с плавающей точкой, производимых компьютером за одну секунду. Такой способ является более приемлемым для пользователя, поскольку ему известна вычислительная сложность программы, и, пользуясь этой характеристикой, пользователь может получить нижнюю оценку времени ее выполнения.

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

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

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

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

Наиболее распространенными  тестами, построенными по этому принципу, являются: набор из 24 Ливерморских циклов (The Livermore Fortran Kernels, LFK) и пакет NAS Parallel Benchmarks (NPB), в состав которого входят две группы тестов, отражающих различные стороны реальных программ вычислительной гидродинамики. NAS тесты являются альтернативой LINPACK, поскольку они относительно просты и в то же время содержат значительно больше вычислений, чем, например, LINPACK или LFK. 

Заключение

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

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

Хотя вариантов  многопроцессорных ситем много, однако системы SMP в ближайшем будущем станут основными. Главным доводом, говорящим в пользу этого, является низкая стоимость аппаратного расширения.

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

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

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

разработав  спецификацию МП-архитектуры и добившись  ее популярности у своих ведущих  партнеров-производителей ПК-серверов.

 Словом, основные  тенденции развития многопроцессорных  систем медленно, но верно воплощаются  в жизнь.


Литература

  1. Г.Б. Коробкин, Ю.И. Синещук, А.Г.Чирков' 'Вычислительные системы АСУ'' (часть II) Петродворец 2000 г.

http://www.osp.ru/os/2000/09/178123/

  1. Смирнов А.Д. Архитектура вычислительных систем. – М.: «Наука», 2005 г. – 163 с.

http://ftp.informika.ru/text/teach/topolog/2.htm

  1. Антошина И.В. Микропроцессоры и микропроцессорные среды. – М.: «Наука и жизнь», 2005 г. – 265 с.

http://www.pcweek.ru/idea/article/detail.php?ID=57531

  1. Журнал «Мир ПК», №09, 2004г.

http://msdn.microsoft.com/ru-ru/library/ms178144.aspx

 


Информация о работе Многопроцессорные системы