Многомашинные и многопроцессорные вычислительные системы реферат

Обновлено: 02.07.2024

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

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

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

Анализ технического задания

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

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

Третьим пунктом я выбрал Классификацию систем параллельной обработки, потому как знание такой классификации упрощает работу с такими системами.

Четвертым пунктом я избрал Модели связи и архитектуру памяти, т.к. это дает общее представление о процессах происходящих на физическом уровне.

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

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

2.1 Описание многопроцессорных систем

2.2 Общие требования, предъявляемые к многопроцессорным

Отношение стоимость / производительность. Появление любого нового направления в вычислительной технике определяется требованиями компьютерного рынка. Поэтому у разработчиков компьютеров нет одной единственной цели. Большая универсальная вычислительная машина (мейнфрейм) или суперкомпьютер стоят дорого. Для достижения поставленных целей при проектировании высокопроизводительных конструкций приходится игнорировать стоимостные характеристики. Суперкомпьютеры фирмы Cray Research и высокопроизводительные мейнфреймы компании IBM относятся именно к этой категории компьютеров. Другим крайним примером может служить низкостоимостная конструкция, где производительность принесена в жертву для достижения низкой стоимости. К этому направлению относятся персональные компьютеры различных клонов IBM PC. Между этими двумя крайними направлениями находятся конструкции, основанные на отношении стоимость/ производительность, в которых разработчики находят баланс между стоимостными параметрами и производительностью. Типичными примерами такого рода компьютеров являются миникомпьютеры и рабочие станции.

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

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

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

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

Рубрика Программирование, компьютеры и кибернетика
Вид лекция
Язык русский
Дата добавления 25.12.2015
Размер файла 75,7 K

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

Лекция 5. Многопроцессорные и многомашинные ВС. Суперкомпьютеры

Причины развития и распространения комплексных ВС

· Кризис идей. Все те принципы, которые лежали в основе классической архитектуры ЭВМ, на сегодняшний день исчерпали себя.

· Достижение физических пределов в области микроэлектроники (плотность расположения элементов на кристалле, скорость передачи данных - ограничена скоростью света).

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

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

Виды Вычислительных Систем

· Одномашинные (вычислительные машины);

· Многомашинные (например, вычислительные сети);

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

· Процессоров - через регистры процессорной памяти, это требует наличия специального программного обеспечения в ОС каждой ЭВМ;

· Оперативной памяти - через программную реализацию общего поля в оперативной памяти, реализуется средствами ОС;

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

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

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

Некоторые специалисты (особенно практики) дают понятие однородности вычислительных сетей, отличное от понятия однородности вычислительной системы. Однородность вычислительной сети в этом случае предполагает наличие программной совместимости ее узлов. То есть локальная сеть, в которой объединено несколько персональных компьютеров, управляемых разными ОС (например, Unix и Windows), является, по их мнению, неоднородной вычислительной сетью. Поэтому при указании однородности/неоднородности вычислительной системы/сети об этом нужно помнить и точно выяснять что имеется в виду в данном конкретном случае.

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

· С централизованным управлением (имеется выделенный компьютер или процессор, управляющей всей системой в целом);

· С децентрализованным управлением (узлы системы - равноправны и могут брать управление на себя) Примеры: Глобальные вычислительные сети, вычислительные системы с перестраиваемой структурой.

· Распределенные (вычислительные сети).

· Структурно одноуровневые - имеется один общий уровень обработки данных;

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

· Децентрализация хранения и обработки данных (Пример: распределенные БД);

Принципы построения ВС

· Возможность работы в разных режимах;

· Модульность структуры технических и программных средств, что позволяет совершенствовать и модернизировать ВС без их коренных переделок;

· Унификация и стандартизация технических и программных решений;

· Иерархическая организация управления процессами;

· Способность систем к адаптации, самонастройке и самоорганизации;

· Обеспечение пользователей необходимым сервисом при выполнении вычислений.

Основные архитектуры вычислительных систем

В основу классификации заложено два возможных вида параллелизма: независимость потоков заданий и независимость потоков данных. Отсюда возникает 4 возможных архитектуры ВС:

Структура многопроцессорных вычислительных систем

Вычислительные системы с векторной и матричной архитектурой принято разделять на сильносвязанные (tightly-coupled) ислабосвязанные (loosely-coupled).

Сильносвязанные вычислительные системы характеризуются наличием общей разделяемой памяти, через которую происходит обмен данными. В настоящее время для организации разделяемой памяти используются технологии SMP (Shared Memory multiProcessing) и NUMA (Non-Uniform Memory Access). Обе технологии предусматривают логически единое адресное пространство, однако физическая структура памяти у них различается. В первом случае оперативная память имеет простую структуру и является общей для всех исполняющих устройств. (рис. 5.1). Во втором - предполагается иерархическая структура памяти, в соответствии с которой у каждого вычислителя (или группы вычислителей) имеется собственная (локальная) оперативная память и возможность удаленного доступа к оперативной памяти других вычислителей. Удаленный доступ к данным осуществляется через высокоскоростной коммутатор, объединяющий все модули памяти в единую сеть (рис. 5.2).

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

вычислительный система оперативный матричный

Рис. 5.1. Структура оперативной памяти для технологии SMP

Рис. 5.1. Структура оперативной памяти для технологии NUMA

Суперкомпьютер - это компьютер, который на момент выпуска лидирует по своим вычислительным возможностям.

Впервые термин “Super Computing” появился в 1920 году в одной из нью-йоркских газет в статье, описывающей новую модификацию электромеханической машины Холлерита.

Подобные документы

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

реферат [70,1 K], добавлен 30.05.2008

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

дипломная работа [1,4 M], добавлен 29.01.2009

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

курсовая работа [36,0 K], добавлен 21.07.2012

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

контрольная работа [118,1 K], добавлен 02.06.2014

Историческое развитие средств вычислений. Структурные схемы вычислительных систем. Развитие элементной базы и развитие архитектуры самих систем. Основные классы вычислительных машин. Каналы передачи данных. Требования к составу периферийных устройств.

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

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

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

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

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

Под общим полем понимается равнодоступность устройств. Так, общее поле памяти означает, что все модули ОП доступны всем процессорам и каналам ввода-вывода (или всем периферийным устройствам в случае наличия общего интерфейса); общее поле ВЗУ означает, что образующие его устройства доступны любому процессору и каналу.

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

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

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

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

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

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

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

Используются следующие способы организации межмодульных (межустройственных) связей:

  • регулярные связи между модулями;
  • многоуровневые связи, соответствующие иерархии интерфейсов ЭВМ;
  • многовходовые модули (в частности, модули памяти);
  • коммутатор межмодульных связей (“Эльбрус” Рис.6.2);
  • общая шина (“СМ ЭВМ” Рис.6.3).

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

2. Данилов А.М. Математическое и компьютерное моделирование сложных систем; Пензенский государственный университет архитектуры и строительства, ЭБС АСВ, 2011. – 181 с.

3. Федоров С.Е. Компьютерное моделирование и исследование систем автоматического управления: учебно-методическое пособие для вузов / С.Е. Федоров. - М.: Русайнс, 2018. - 256 c.

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

1. весь период развития средств электронной вычислительной техники отмечен доминирующей ролью классической структуры ЭВМ (структуры фон Неймана), основанной на методах последовательных вычислений;

2. основным направлением совершенствования ЭВМ является неуклонный рост производительности (быстродействия) и интеллектуальности вычислительных средств;

3. совершенствование ЭВМ осуществлялось в комплексе (элемент­но-конструкторская база, структурно-аппаратные решения, системно-программный и пользовательский, алгоритмический уровни);

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

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

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

Многомашинные вычислительные системы

Вычислительные системы можно разделить на два класса: многомашинные и многопроцессорные вычислительные системы. В нашем случае рассматривается первый вариант.

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


Рисунок 1 - Пример технической структуры машинной вычислительной системы

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

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


Рисунок 2 - Пример многомашинной обработки


Рисунок 3 - Модель многомашинной обработки

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

Принципы организации, построения и управления работой таких систем

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

2. оперативной памяти (ОП);

3. каналов связи.

При непосредственном взаимодействии процессоров друг с другом информационная связь реализуется через регистры процессорной памяти и требует наличия в ОС весьма сложных специальных программ. Взаимодействие на уровне ОП сводится к программной реализации общего поля оперативной памяти, что несколько проще, но также требует существенной модификации ОС. На уровне каналов связи взаимодействие организуется наиболее просто, и может быть достигнуто внешними по отношению к операционной системе программами-драйверами, обеспечивающими доступ от каналов связи одной машины к внешним устройствам других (формируется общее поле внешней памяти и общий доступ к устройствам ввода-вывода). Ввиду сложности организации информационного взаимодействия на 1-м и 2-м уровнях в большинстве многомашинных ВС используется 3-й уровень, хотя и динамические характеристики (в первую очередь быстродействие), и показатели надежности таких систем существенно ниже [3].

Организация ВМС в нашем случае основывается на архитектуре ОКМД (одиночный поток команд - множественный поток данных (ОКМД), или Single Instruction Multiple Data (SIMD) — одиночный поток инструкций - одиночный поток данных). Архитектура ОКМД предполагает создание структур векторной или матричной обработки. Системы этого типа обычно строятся как однородные, т.е. процессорные, элементы, входящие в систему, идентичны, и все они управляются одной и той же последовательностью команд. Однако каждый процессор обрабатывает свой поток данных. Под эту схему хорошо подходят задачи обработки матриц или векторов (массивов), задачи решения систем линейных и нелинейных, алгебраических и дифференциальных уравнений, задачи теории поля и др. В структурах данной архитектуры желательно обеспечивать соединения между процессорами, соответствующие реализуемым математическим зависимостям [4]. Как правило, эти связи напоминают матрицу, в которой каждый процессорный элемент связан с соседними элементами (рис. 4).


Рисунок 4 - Структурная схема архитектуры ОКМД

Классификация многомашинных вычислительных систем

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

По составу ЭВМ и выполняемых ими функций многомашинные вычислительные системы делятся на два класса:

Однородные многомашинные вычислительные системы состоят

из нескольких взаимосвязанных однотипных ЭВМ. Однотипность ЭВМ обеспечивает:

1. простоту технического обслуживания;

2. простоту эксплуатации вычислительной системы;

3. простоту сопряжения ЭВМ между собой.

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

1. косвенно - или слабосвязанные;

2. прямосвязанные или связанные;

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

1. связь через общее оперативно-запоминающее устройство;

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

Примеры применения системы в промышленности

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

Кроме этого, многомашинные вычислительные системы нашли широкое применение во многих отраслях промышленности:

1. химическая и нефтехимическая промышленность;

2. машиностроение и металлообработка;

3. топливная промышленность;

5. медицинская промышленность.

Непосредственную роль, данная моделируемая система играет и в направлении "Автоматизация технологических процессов и производств". Такие компании – гиганты как: "Газпром", "Транснефть", "Лукойл", "СоГаз, “Медицина", "Медси", "СпикомЭнерго" активно используют в своем производственном процессе многомашинные вычислительные системы.

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

Аннотация: Цель лекции: рассмотреть способы организации и области применения многопроцессорных и многомашинных вычислительных систем.

Многопроцессорные и многомашинные вычислительные системы

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

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

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

SISD , MISD , SIMD , MIMD .

SISD ( sINgle INsTRuction sTReam / sINgle data sTReam ) - одиночный поток команд и одиночный поток данных . К этому классу относятся прежде всего классические последовательные машины, или, иначе, машины фон-неймановского типа. В таких машинах есть только один поток команд , все команды обрабатываются последовательно друг за другом и каждая команда инициирует одну операцию с одним потоком данных. Не имеет значения тот факт, что для увеличения скорости обработки команд и скорости выполнения арифметических операций процессор может использовать конвейерную обработку . В таком понимании машины данного класса фактически не относятся к параллельным системам.

SIMD ( sINgle INsTRuction sTReam / multIPle data sTReam ) - одиночный поток команд и множественный поток данных . Применительно к одному микропроцессору этот подход реализован в MMX - и SSE - расширениях современных микропроцессоров. Микропроцессорные системы типа SIMD состоят из большого числа идентичных процессорных элементов , имеющих собственную память . Все процессорные элементы в такой машине выполняют одну и ту же программу. Это позволяет выполнять одну арифметическую операцию сразу над многими данными - элементами вектора. Очевидно, что такая система, составленная из большого числа процессоров, может обеспечить существенное повышение производительности только на тех задачах, при решении которых все процессоры могут делать одну и ту же работу.

MISD (multIPe INsTRuction sTReam / sINgle data sTReam ) - множественный поток команд и одиночный поток данных . Определение подразумевает наличие в архитектуре многих процессоров, обрабатывающих один и тот же поток данных. Ряд исследователей к данному классу относят конвейерные машины.

MIMD (multIPe INsTRuction sTReam / multIPle data sTReam ) - множественный поток команд и множественный поток данных . Базовой моделью вычислений в этом случае является совокупность независимых процессов, эпизодически обращающихся к разделяемым данным . В такой системе каждый процессорный элемент выполняет свою программу достаточно независимо от других процессорных элементов . Архитектура MIMD дает большую гибкость: при наличии адекватной поддержки со стороны аппаратных средств и программного обеспечения MIMD может работать как однопользовательская система, обеспечивая высокопроизводительную обработку данных для одной прикладной задачи, как многопрограммная машина, выполняющая множество задач параллельно, и как некоторая комбинация этих возможностей. К тому же архитектура MIMD может использовать все преимущества современной микропроцессорной технологии на основе строгого учета соотношения стоимость / производительность . В действительности практически все современные многопроцессорные системы строятся на тех же микропроцессорах, которые можно найти в персональных компьютерах, рабочих станциях и небольших однопроцессорных серверах.

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

В этом случае выделяют следующие 4 класса систем:

  • системы с симметричной мультипроцессорной обработкой ( symmeTRic multIProcessINg ), или SMP -системы;
  • системы, построенные по технологии неоднородного доступа к памяти (non-un IForm memory access ), или NUMA -системы;
  • кластеры;
  • системы вычислений с массовым параллелизмом ( massively parallel processor ), или MPP -системы.

Самым высоким уровнем интеграции ресурсов обладает система с симметричной мультипроцессорной обработкой, или SMP-система (рис. 13.1).

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

Система с симметричной мультипроцессорной обработкой

С точки зрения прикладной задачи, SMP-система представляет собой единый вычислительный комплекс с вычислительными ресурсами, пропорциональными количеству процессоров. Распараллеливание вычислений обеспечивается операционной системой, установленной на одном из процессоров. Вся система работает под управлением единой ОС (обычно UNIX-подобной, но для Intel-платформ поддерживается WINdows NT).

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

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

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

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

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

Так, для обеспечения возможности работы на общую магистраль каждый микропроцессор фирмы Intel начиная с Pentium Pro имеет встроенную поддержку двухразрядного идентификатора процессора - APIC ( Advanced Programmable INTerrupt ConTRoller ). По умолчанию CPU с самым высоким номером идентификатора становится процессором начальной загрузки. Такая идентификация облегчает арбитраж шины данных в SMP-системе. Подобные средства мы видели и в МП Power4, где на аппаратном уровне поддерживается создание микросхемного модуля MCM из 4 микропроцессоров, включающего в совокупности 8 процессорных ядер.

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

Остальные будут простаивать до высвобождения критической области .

Естественно, при этом резко снижается производительность приложений реального времени.

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

Система, построенная по технологии NUMA, представляет собой набор узлов, каждый из которых, по сути, является функционально законченным однопроцессорным или SMP -компьютером. Каждый имеет свое локальное пространство оперативной памяти и ввода/вывода. Но с помощью специальной логики каждый имеет доступ к пространству оперативной памяти и ввода/вывода любого другого узла (рис. 13.2). Физически отдельные устройства памяти могут адресоваться как логически единое адресное пространство - это означает, что любой процессор может выполнять обращения к любым ячейкам памяти, в предположении, что он имеет соответствующие права доступа . Поэтому иногда такие системы называются системами с распределенной разделяемой памятью ( DSM - disTRibuted shared memory ).

Система, построенная по технологии неоднородного до ступа к памяти

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

При использовании наиболее распространенного сейчас варианта cc-NUMA (cache- coherent NUMA - неоднородный доступ к памяти с согласованием содержимого кэш-памяти) обеспечивается кэширование данных оперативной памяти других узлов.

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

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

Так что полной функциональностью SMP-систем NUMA-компьютеры на сегодняшний день не обладают. Однако среди систем общего назначения NUMA-системы имеют один из наиболее высоких показателей по масштабируемости и, соответственно, по производительности. На сегодня максимальное число процессоров в cc-NUMA -системах может превышать 1000 (серия OrigIN3000). Один из наиболее производительных суперкомпьютеров - Tera 10 - имеет производительностью 60 Тфлопс и состоит из 544 SMP -узлов, в каждом из которых находится от 8 до 16 процессоров Itanium 2.

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

Читайте также: