Многопроцессорные ВС

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

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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Курсовая работа по дисциплине "Вычислительные системы"

На тему "Многопроцессорные ВС"

Выполнил студент

Борисов Алексей Алексеевич

Содержание

  • Введение
    • 1. Многопроцессорные системы
  • 2. Классификация многопроцессорных систем
    • 2.1 SMP системы
    • 2.2 MPP системы
    • 2.3 Кластерные системы
  • Заключение
  • Глоссарий
  • Список использованных источников
  • Список сокращений

Введение

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

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

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

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

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

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

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

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

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

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

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

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

Универсальные приборы, эквивалентные по значению транзистору, которые создаются на тонких кремниевых пластинках СБИС, в настоящее время так миниатюрны и дешевы, что чрезвычайно большое число процессоров может быть объединено в единую сеть. В 1978г. 100. 000 элементов было успешно интегрировано в ЗУ объемом 64Кбит. В 1981г. фирма Hewlett-Packard объявила о создании микропроцессорного кристалла, содержащего 450. 000 элементов. Следовательно, многопроцессорные компьютеры "среднего класса" с числом кристаллов от нескольких тысяч и до нескольких миллионов скоро станут реальностью. Т. е. отдельный компьютер может содержать 10 х 10 =10 элементов Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002. Стр. 19.

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

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

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

Самым непосредственным способом реализации параллельной обработки сигналов является простое присоединение ряда процессоров к общей шине. Жаркова А.И. Многопроцессорные системы. - М., 2004. Стр. 66

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

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

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

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

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

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

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

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

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

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

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

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

Развитие магистрально-модульных систем завершает разработка с громким названием Futurebus("магистраль будущего")по стандарту США 1991г.Каган Б.М. Электронные вычислительные машины и системы: Учебное пособие для вузов. - 3-е изд., переработанное и дополненное - М.: Энергоиздат, 2002г. Стр. 71 В этой системе сделано одно принципиальное добавление, учитывающее особенность многопроцессорных компьютеров. В таких системах каждый микропроцессор имеет в своем распоряжении вспомогательную кэш-память. Во время выполнения параллельных программ у одного из процессоров появляется промежуточный результат, необходимый другим процессорам для дальнейшей работы. Этот результат нужно быстро передать в кэш-памяти нуждающихся процессоров. Процедура таких передач как раз и предусмотрена в стандарте Futurebus.

Принцип магистрали общего пользования был отклонен в начале исследований. Решили, что в новой системе узлы следует соединять индивидуальными связями, причем информация должна передаваться по каналам связи только в одном направлении. Узел получает информацию из входного канала в дешифратор адреса. Если сообщение адресовано данному узлу, оно через дешифратор поступает в промежуточную память FIFO с очередью типа "первым вошло-первым вышло" и далее проходит на прикладные схемы узла для обработки, например, микропроцессорами и транспьютерами. Если сообщение адресовано другому узлу, оно через проходную FIFO и переключатель передается в выходной канал к следующему узлу. Если ранее уже началась выдача обработанной информации из выходной FIFO, передача проходящей информации задерживается до окончания выдачи. Можно заметить, что узлы РСИ действуют подобно железнодорожному узлу: если со станции выходит поезд и выходной путь занят, то приходящий поезд направляют на запасной путь для отстоя; если же состав адресован именно этому узлу, то его вагоны сортируют и подают на разгрузочные пути.

Последний из цепочки узлов РСИ соединяется с первым узлом-образуется колечко из нескольких узлов связей.

Еще один пример фундаментальной компьютерной технологии, которая от уникальных вычислительных систем проложила себе путь к относительно массовым и недорогим платформам, используемым в локальных вычислительных сетях, - симметричная многопроцессорная обработка(Symmetric MultiProcessing-SMP). Каган Б.М. Электронные вычислительные машины и системы: Учебное пособие для вузов. - 3-е изд., переработанное и дополненное - М.: Энергоиздат, 2002г. Стр. 107

Выводы:

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

2. Классификация многопроцессорных систем

2.1 SMP системы

Симметричное мультипроцессирование (англ. Symmetric Multiprocessing, сокращённо SMP) -- архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессоров подключаются к общей памяти. Большинство многопроцессорных систем сегодня используют архитектуру SMP. Корнеев В.В. Вычислительные системы. - М.: «Гелиос АРВ», 2009г. Стр. 97

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

SMP часто применяется в науке, промышленности, бизнесе, где программное обеспечение специально разрабатывается для многопоточного выполнения. В то же время большинство потребительских продуктов, таких как текстовые редакторы и компьютерные игры, написаны так, что они не могут получить много пользы от SMP-систем. Корнеев В.В. Вычислительные системы. - М.: «Гелиос АРВ», 2009г. Стр 99 В случае игр это зачастую связано с тем, что оптимизация программы под SMP-системы приведёт к потере производительности при работе на однопроцессорных системах, которые занимают большую часть рынка. В силу природы разных методов программирования для максимальной производительности потребуются отдельные проекты для поддержки одного процессора и SMP-систем. И все же программы, запущенные на SMP-системах, получают незначительный прирост производительности, даже если они были написаны для однопроцессорных систем. Это связано с тем, что аппаратные прерывания, обычно приостанавливающие выполнение программы для их обработки ядром, могут обрабатываться на свободном процессоре. Эффект в большинстве приложений проявляется не столько в приросте производительности, сколько в ощущении, что программа выполняется более плавно. В некоторых приложениях, в частности, программных компиляторах и некоторых проектах распределённых вычислений, повышение производительности будет почти прямо пропорционально числу дополнительных процессоров.

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

При увеличении числа процессоров заметно увеличивается требование к полосе пропускания шины памяти. Это накладывает ограничение на количество процессоров в SMP архитектуре. Современные SMP-системы позволяют эффективно работать при 16 процессорах.

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

Современные системы SMP архитектуры состоят, как правило, из нескольких однородных серийно выпускаемых микропроцессоров и массива общей памяти, подключение к которой производится либо с помощью общей шины, либо с помощью коммутатора (Приложение Б). Жаркова А.И. Многопроцессорные системы. - М., 2004 Стр. 71

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

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

С большим или меньшим успехом эти проблемы решаются в рамках общепринятой в настоящее время архитектуры ccNUMA (cache coherent Non Uniform Memory Access). Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002. Стр. 134 В этой архитектуре память физически распределена, но логически общедоступна. Это, с одной стороны, позволяет работать с единым адресным пространством, а, с другой, увеличивает масштабируемость систем. Когерентность кэш-памяти поддерживается на аппаратном уровне, что не избавляет, однако, от накладных расходов на ее поддержание. В отличие от классических SMP систем память становится трехуровневой:

- кэш-память процессора;

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

- удаленная оперативная память.

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

Перечисленные обстоятельства значительно ограничивают возможности по наращиванию производительности ccNUMA систем путем простого увеличения числа процессоров. Тем не менее, эта технология позволяет в настоящее время создавать системы, содержащие до 256 процессоров с общей производительностью порядка 200 млрд. операций в секунду. Системы этого типа серийно производятся многими компьютерными фирмами как многопроцессорные серверы с числом процессоров от 2 до 128 и прочно удерживают лидерство в классе малых суперкомпьютеров. Типичными представителями данного класса суперкомпьютеров являются компьютеры SUN StarFire 15K, SGI Origin 3000, HP Superdome. Неприятным свойством SMP систем является то, что их стоимость растет быстрее, чем производительность при увеличении числа процессоров в системе. Кроме того, из-за задержек при обращении к общей памяти неизбежно взаимное торможение при параллельном выполнении даже независимых программ.

многопроцессорный система компьютер симметричный

2.2 MPP системы

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

Каждый из узлов состоит из одного или нескольких процессоров, собственной оперативной памяти, коммуникационного оборудования, подсистемы ввода/вывода, т.е. обладает всем необходимым для независимого функционирования. При этом на каждом узле может функционировать либо полноценная операционная система (как в системе RS/6000 SP2), либо урезанный вариант, поддерживающий только базовые функции ядра, а полноценная ОС работает на специальном управляющем компьютере (как в системах Cray T3E, nCUBE2).

Процессоры в таких системах имеют прямой доступ только к своей локальной памяти. Доступ к памяти других узлов реализуется обычно с помощью механизма передачи сообщений. Такая архитектура вычислительной системы устраняет одновременно как проблему конфликтов при обращении к памяти, так и проблему когерентности кэш-памяти. Это дает возможность практически неограниченного наращивания числа процессоров в системе, увеличивая тем самым ее производительность. Успешно функционируют MPP системы с сотнями и тысячами процессоров (ASCI White - 8192, Blue Mountain - 6144). Производительность наиболее мощных систем достигает 10 триллионов оп/сек (10 Tflops). Важным свойством MPP систем является их высокая степень масштабируемости. В зависимости от вычислительных потребностей для достижения необходимой производительности требуется просто собрать систему с нужным числом узлов.

На практике все, конечно, гораздо сложнее. Устранение одних проблем, как это обычно бывает, порождает другие. Для MPP систем на первый план выходит проблема эффективности коммуникационной среды. Легко сказать: "Давайте соберем систему из 1000 узлов". Но каким образом соединить в единое целое такое множество узлов? Самым простым и наиболее эффективным было бы соединение каждого процессора с каждым. Но тогда на каждом узле потребовалось бы 999 коммуникационных каналов, желательно двунаправленных. Очевидно, что это нереально. Различные производители MPP систем использовали разные топологии. В компьютерах Intel Paragon процессоры образовывали прямоугольную двумерную сетку. Для этого в каждом узле достаточно четырех коммуникационных каналов. В компьютерах Cray T3D/T3E использовалась топология трехмерного тора. Соответственно, в узлах этого компьютера было шесть коммуникационных каналов. Фирма nCUBE использовала в своих компьютерах топологию n-мерного гиперкуба. Подробнее на этой топологии мы остановимся в главе 4 при изучении суперкомпьютера nCUBE2. Каждая из рассмотренных топологий имеет свои преимущества и недостатки. Отметим, что при обмене данными между процессорами, не являющимися ближайшими соседями, происходит трансляция данных через промежуточные узлы. Очевидно, что в узлах должны быть предусмотрены какие-то аппаратные средства, которые освобождали бы центральный процессор от участия в трансляции данных. В последнее время для соединения вычислительных узлов чаще используется иерархическая система высокоскоростных коммутаторов, как это впервые было реализовано в компьютерах IBM SP2. Такая топология дает возможность прямого обмена данными между любыми узлами, без участия в этом промежуточных узлов.

Системы с распределенной памятью идеально подходят для параллельного выполнения независимых программ, поскольку при этом каждая программа выполняется на своем узле и никаким образом не влияет на выполнение других программ. Однако при разработке параллельных программ приходится учитывать более сложную, чем в SMP системах, организацию памяти. Оперативная память в MPP системах имеет 3-х уровневую структуру: Антошина И.В. Микропроцессоры и микропроцессорные среды. - М.: «Наука и жизнь», 2005г. Стр. 169

- кэш-память процессора;

- локальная оперативная память узла;

- оперативная память других узлов.

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

2.3 Кластерные системы

Кластерные технологии стали логическим продолжением развития идей, заложенных в архитектуре MPP систем. Если процессорный модуль в MPP системе представляет собой законченную вычислительную систему, то следующий шаг напрашивается сам собой: почему бы в качестве таких вычислительных узлов не использовать обычные серийно выпускаемые компьютеры. Развитие коммуникационных технологий, а именно, появление высокоскоростного сетевого оборудования и специального программного обеспечения, такого как система MPI (см. часть 2), реализующего механизм передачи сообщений над стандартными сетевыми протоколами, сделали кластерные технологии общедоступными. Сегодня не составляет большого труда создать небольшую кластерную систему, объединив вычислительные мощности компьютеров отдельной лаборатории или учебного класса.

Привлекательной чертой кластерных технологий является то, что они позволяют для достижения необходимой производительности объединять в единые вычислительные системы компьютеры самого разного типа, начиная от персональных компьютеров и заканчивая мощными суперкомпьютерами. Широкое распространение кластерные технологии получили как средство создания систем суперкомпьютерного класса из составных частей массового производства, что значительно удешевляет стоимость вычислительной системы. В частности, одним из первых был реализован проект COCOA [4], в котором на базе 25 двухпроцессорных персональных компьютеров общей стоимостью порядка $100000 была создана система с производительностью, эквивалентной 48-процессорному Cray T3D стоимостью несколько миллионов долларов США.

Конечно, о полной эквивалентности этих систем говорить не приходится. Как указывалось в предыдущем разделе, производительность систем с распределенной памятью очень сильно зависит от производительности коммуникационной среды. Коммуникационную среду можно достаточно полно охарактеризовать двумя параметрами: латентностью - временем задержки при посылке сообщения, и пропускной способностью - скоростью передачи информации. Так вот для компьютера Cray T3D эти параметры составляют соответственно 1 мкс и 480 Мб/сек, а для кластера, в котором в качестве коммуникационной среды использована сеть Fast Ethernet, 100 мкс и 10 Мб/сек. Это отчасти объясняет очень высокую стоимость суперкомпьютеров. При таких параметрах, как у рассматриваемого кластера, найдется не так много задач, которые могут эффективно решаться на достаточно большом числе процессоров.

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

Для создания кластеров обычно используются либо простые однопроцессорные персональные компьютеры, либо двух- или четырех-процессорные SMP-серверы. При этом не накладывается никаких ограничений на состав и архитектуру узлов. Каждый из узлов может функционировать под управлением своей собственной операционной системы. Чаще всего используются стандартные ОС: Linux, FreeBSD, Solaris, Tru64 Unix, Windows NT. В тех случаях, когда узлы кластера неоднородны, то говорят о гетерогенных кластерах. Чекмарев Ю. В. Вычислительные системы, сети и коммуникации. - М.Ж «ДМК Прес», 2009г. Стр. 211

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

Разработано множество технологий соединения компьютеров в кластер. Наиболее широко в данное время используется технология Fast Ethernet. Это обусловлено простотой ее использования и низкой стоимостью коммуникационного оборудования.

Выводы:

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

Заключение

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

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

Потенциальные возможности SMP начинают находить применение.

Во-первых, уменьшаются габариты платформы.

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

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

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

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

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

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

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

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

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

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

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

Глоссарий

№ п/п

Понятие

Определение

1

MPI

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

2

Буферная память

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

3

Гиперкуб

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

4

Звезда

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

5

Кольцо

данная топология получается из линейки процессоров соединением первого и последнего процессоров линейки

6

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

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

№ п/п

Понятие

Определение

7

Кэш микропроцессора

кэш, используемый микропроцессором компьютера для уменьшения среднего времени доступа к компьютерной памяти

8

Линейка

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

9

Многопроцессорность

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

10

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

системы, состоящие из взаимосвязанных процессоров с общей оперативной памятью

11

Полный граф

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

№ п/п

Понятие

Определение

12

Решетка

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

Список использованных источников

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

2. Арменский Е. В., Зеленко Г. В. Микропроцессорная техника. Москва: Военное издательство, 1986 г.

3. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002.

4. Жаркова А.И. Многопроцессорные системы. - М., 2004 - 173 с.

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

6. Каган Б.М. Электронные вычислительные машины и системы: Учебное пособие для вузов. - 3-е изд., переработанное и дополненное - М.: Энергоиздат, 2002г.

9. Корнеев В.В. Вычислительные системы. - М.: «Гелиос АРВ», 2009г.

7. Корнеев В.В. Параллельные вычислительные системы. - М.: Нолидж, 1999.

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

10. Чекмарев Ю. В. Вычислительные системы, сети и коммуникации. - М.Ж «ДМК Прес», 2009г.

Список сокращений

Сокращение - Расшифровка

ccNUMA - Cache coherent Non Uniform Memory Access

MPP - Cистемы с массовым параллелизмом

SMP - Симметричное мультипроцессирование (англ. Symmetric Multiprocessing)

АСУ - Автоматизированные системы управления

МВС - Многопроцессорные вычислительные системы

Размещено на Allbest.ru


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

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

    курсовая работа [162,2 K], добавлен 21.06.2013

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

    контрольная работа [910,2 K], добавлен 11.11.2010

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

    курсовая работа [1,7 M], добавлен 27.04.2013

  • Архитектура многопроцессорных систем с общей шиной и с неоднородным доступом к памяти. Структура кэш памяти. Взаимодействие user space с kernel space. Средства синхронизации ядра Linux. Обход каталогов страниц. Инструментация кода средствами Clang.

    дипломная работа [513,7 K], добавлен 14.11.2017

  • Структура, специфика и архитектура многопроцессорных систем; классификация Флинна. Организация взаимного исключения для синхронизации доступа к разделяемым ресурсам. Запрещение прерываний; семафоры с драйверами устройств. Кластеры распределения нагрузки.

    курсовая работа [455,9 K], добавлен 07.06.2014

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

    презентация [1,2 M], добавлен 10.02.2014

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

    курсовая работа [669,3 K], добавлен 07.09.2015

  • Применение многопроцессорных вычислительных систем. Отличительные особенности многопроцессорной вычислительной системы. Cервера серии HP 9000. Структурная схема компьютера с гибридной сетью. Организация когерентности многоуровневой иерархической памяти.

    курсовая работа [440,6 K], добавлен 13.08.2011

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

    курсовая работа [388,7 K], добавлен 24.06.2013

  • Анализ и оценка, производимых в настоящее время, портативных компьютеров, соответствующих операционных систем, в совокупности с экскурсом в историю их появления и развития. Классификация и функции процессоров для ноутбуков. ОС для портативных компьютеров.

    презентация [1,9 M], добавлен 01.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.