Многопроцессорные системы
Изм.
Лист
№ Документа_
Подпись_
_Дата_
Лист_
Министерство по науке и образованию РФ
ФГБОУ ВПО
Тульский государственный университет
Кафедра автоматики и телемеханики
Контрольно – курсовая работа
по курсу:
«Операционные системы»
«Многопроцессорные системы»
Выполнил: ст. гр. 220491
Салимов А.С.
Проверил: доц. каф. АТМ
Сулимова В.В.
Тула 2012
Содержание
Введение 3
1. Многопроцессорные системы 4
2. Архитектура многопроцессорных вычислительных систем 5
2.1. Классификация архитектур по параллельной обработке данных 5
2.2. SMP архитектура 7
2.3. MPP архитектура 9
2.4. Гибридная архитектура (NUMA) Организация когерентности многоуровневой иерархической памяти. 11
2.5. PVP архитектура 13
2.6. Кластерная архитектура 15
3. Требования к компонентам МВС 18
3.1. Отношение стоимость/производительность 1
3.2. Масштабируемость 19
3.3. Совместимость и мобильность программного обеспечения 20
4. Надежность и отказоустойчивость МВС 22
5. Назначение, область применения многопроцессорных вычислительных систем 25
Заключение 27
Список использованных источников 28
Введение
В настоящее время сфера
Потребность решения сложных прикладных
задач с большим объемом
Многопроцессорные системы
Вычислительная техника в
Чтобы дать более полное
представление о
Понятие архитектуры
высокопроизводительной системы является
достаточно широким, поскольку под
архитектурой можно понимать и способ
параллельной обработки данных, используемый
в системе, и организацию памяти,
и топологию связи между
______________________________
1. Многомашинные и многопроцессорные
вычислительные комплексы [электронный
ресурс] URL: http://www.icmm.ru/~masich/
2. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 8.
Архитектура многопроцессорных вычислительных систем
Классификация архитектур по параллельной обработке данных
В 1966 году М.Флинном (Flynn) был предложен чрезвычайно удобный подход к классификации архитектур вычислительных систем. В основу было положено понятие потока, под которым понимается последовательность элементов, команд или данных, обрабатываемая процессором. Соответствующая система классификации основана на рассмотрении числа потоков инструкций и потоков данных и описывает четыре архитектурных класса:
SISD = Single Instruction Single Data
MISD = Multiple Instruction Single Data
SIMD = Single Instruction Multiple Data
MIMD = Multiple Instruction Multiple Data )
SISD (single instruction stream / single data stream) - одиночный поток команд и одиночный поток данных. К этому классу относятся последовательные компьютерные системы, которые имеют один центральный процессор, способный обрабатывать только один поток последовательно исполняемых инструкций. В настоящее время практически все высокопроизводительные системы имеют более одного центрального процессора, однако, каждый из них выполняют несвязанные потоки инструкций, что делает такие системы комплексами SIMD-систем, действующих на разных пространствах данных. Для увеличения скорости обработки команд и скорости выполнения арифметических операций может применяться конвейерная обработка. В случае векторных систем векторный поток данных следует рассматривать как поток из одиночных неделимых векторов. Примерами компьютеров с архитектурой SISD являются большинство рабочих станций Compaq, Hewlett-Packard и Sun Microsystems.
MISD (multiple instruction stream / single data stream) - множественный поток команд и одиночный поток данных. Теоретически в этом типе машин множество инструкций должно выполнятся над единственным потоком данных. До сих пор ни одной реальной машины, попадающей в данный класс, не было создано. В качестве аналога работы такой системы, по-видимому, можно рассматривать работу банка. С любого терминала можно подать команду и что-то сделать с имеющимся банком данных. Поскольку база данных одна, а команд много, то мы имеем дело с множественным потоком команд и одиночным потоком данных1.
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 8.
SIMD (single instruction stream / multiple data stream)
- одиночный поток команд и
множественный поток данных. Эти
системы обычно имеют большое
количество процессоров, в
MIMD
(multiple instruction stream / multiple data stream) - множественный
поток команд и множественный
поток данных. Эти машины параллельно
выполняют несколько потоков
инструкций над различными
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 9.
В
основе векторных компьютеров лежит
концепция конвейеризации, т.е. явного
сегментирования
SMP архитектура
SMP архитектура (symmetric multiprocessing) - cимметричная многопроцессорная архитектура. Главной особенностью систем с архитектурой SMP является наличие общей физической памяти, разделяемой всеми процессорами.
Схематический вид SMP-архитектуры.
Память является
способом передачи сообщений между
процессорами, при этом все вычислительные
устройства при обращении к ней
имеют равные права и одну и
ту же адресацию для всех ячеек
памяти. Поэтому SMP архитектура называется
симметричной. Последнее обстоятельство
позволяет очень эффективно обмениваться
данными с другими
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 9.
Основные преимущества SMP-систем:
• простота и универсальность для программирования. Архитектура SMP не накладывает ограничений на модель программирования, используемую при создании приложения: обычно используется модель параллельных ветвей, когда все процессоры работают абсолютно независимо друг от друга - однако, можно реализовать и модели, использующие межпроцессорный обмен. Использование общей памяти увеличивает скорость такого обмена, пользователь также имеет доступ сразу ко всему объему памяти. Для SMP-систем существуют сравнительно эффективные средства автоматического распараллеливания.
• легкость в эксплуатации. Как правило, SMP-системы используют систему охлаждения, основанную на воздушном кондиционировании, что облегчает их техническое обслуживание.
• относительно невысокая цена.
Недостатки:
• системы с общей памятью, построенные на системной шине, плохо масштабируемы .
Этот важный недостаток
SMP-системы не позволяет
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 10.
MPP архитектура
MPP архитектура (massive parallel
processing) - массивно-параллельная
Схематический вид архитектуры с раздельной памятью
Главное преимущество:
Главным преимуществом систем с раздельной памятью является хорошая масштабируемость: в отличие от SMP-систем в машинах с раздельной памятью каждый процессор имеет доступ только к своей локальной памяти, в связи с чем не возникает необходимости в потактовой синхронизации процессоров. Практически все рекорды по производительности на сегодняшний день устанавливаются на машинах именно такой архитектуры, состоящих из нескольких тысяч процессоров (ASCI Red, ASCI Blue Pacific)1.
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 11.
Недостатки:
• отсутствие общей памяти
заметно снижает скорость межпроцессорного
обмена, поскольку нет общей среды
для хранения данных, предназначенных
для обмена между процессорами. Требуется
специальная техника
• каждый процессор может использовать
только ограниченный объем локального
банка памяти.
• вследствие указанных архитектурных
недостатков требуются значительные усилия
для того, чтобы максимально использовать
системные ресурсы. Именно этим определяется
высокая цена программного обеспечения
для массивно-параллельных систем с раздельной
памятью.
Системами с раздельной памятью являются суперкомпьютеры МВС-1000, IBM RS/6000 SP, SGI/CRAY T3E, системы ASCI, Hitachi SR8000, системы Parsytec.
Машины последней серии
CRAY T3E от SGI, основанные на базе процессоров
Dec Alpha 21164 с пиковой производительностью
1200 Мфлопс/с (CRAY T3E-1200), способны масштабироваться
до 2048 процессоров.
При работе с MPP системами используют так
называемую Massive Passing Programming Paradigm - парадигму
программирования с передачей данных
(MPI, PVM, BSPlib)1.
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 12.
Гибридная архитектура (NUMA) Организация когерентности мног
оуровневой иерархической памяти.
Гибридная архитектура NUMA (nonuniform memory access). Главная особенность такой архитектуры - неоднородный доступ к памяти.
Гибридная архитектура воплощает
в себе удобства систем с общей
памятью и относительную
Структурная схема компьютера с гибридной сетью: четыре процессора связываются между собой при помощи кроссбара в рамках одного SMP узла. Узлы связаны сетью типа "бабочка" (Butterfly):
Впервые идею гибридной архитектуры предложил Стив Воллох и воплотил в системах серии Exemplar. Вариант Воллоха - система, состоящая из 8-ми SMP узлов. Фирма HP купила идею и реализовала на суперкомпьютерах серии SPP1.
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 12.
Идею подхватил Сеймур Крей (Seymour R.Cray) и добавил новый элемент - когерентный кэш, создав так называемую архитектуру cc-NUMA (Cache Coherent Non-Uniform Memory Access), которая расшифровывается как "неоднородный доступ к памяти с обеспечением когерентности кэшей". Он ее реализовал на системах типа Origin.
Организация когерентности многоуровневой иерархической памяти.
Понятие когерентности кэшей описывает тот факт, что все центральные процессоры получают одинаковые значения одних и тех же переменных в любой момент времени. Действительно, поскольку кэш-память принадлежит отдельному компьютеру, а не всей многопроцессорной системе в целом, данные, попадающие в кэш одного компьютера, могут быть недоступны другому. Чтобы избежать этого, следует провести синхронизацию информации, хранящейся в кэш-памяти процессоров.
Для обеспечения подобной когерентности кэшей существуют несколько возможностей:
• Использовать механизм отслеживания
шинных запросов (snoopy bus protocol), в котором
кэши отслеживают переменные, передаваемые
к любому из центральных процессоров
и, при необходимости, модифицируют
собственные копии таких
• Выделять специальную часть памяти,
отвечающую за отслеживание достоверности
всех используемых копий переменных.
Наиболее известными системами архитектуры cc-NUMA являются: HP 9000 V-class в SCA-конфигурациях, SGI Origin3000, Sun HPC 15000, IBM/Sequent NUMA-Q 2000. На настоящий момент максимальное число процессоров в cc-NUMA-системах может превышать 1000 (серия Origin3000). Обычно вся система работает под управлением единой ОС, как в SMP. Возможны также варианты динамического "подразделения" системы, когда отдельные "разделы" системы работают под управлением разных ОС. При работе NUMA-системами, также как с SMP, используют так называемую парадигму программирования с общей памятью (shared memory paradigm)1.
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 13.
PVP архитектура
PVP (Parallel Vector Process) - параллельная
архитектура с векторными
Основным признаком PVP-систем
является наличие специальных векторно-конвейерных
процессоров, в которых предусмотрены
команды однотипной обработки векторов
независимых данных, эффективно выполняющиеся
на конвейерных функциональных устройствах.
Как правило, несколько таких процессоров
(1-16) работают одновременно с общей памятью
(аналогично SMP) в рамках многопроцессорных
конфигураций. Несколько таких узлов могут
быть объединены с помощью коммутатора
(аналогично MPP). Поскольку передача данных
в векторном формате осуществляется намного
быстрее, чем в скалярном (максимальная
скорость может составлять 64 Гб/с, что
на 2 порядка быстрее, чем в скалярных машинах),
то проблема взаимодействия между потоками
данных при распараллеливании становится
несущественной. И то, что плохо распараллеливается
на скалярных машинах, хорошо распараллеливается
на векторных. Таким образом, системы PVP
архитектуры могут являться машинами
общего назначения (general purpose systems). Однако,
поскольку векторные процессоры весьма
дороги, эти машины не будут являться общедоступными.
Наиболее популярны 3 машины PVP архитектуры:
1. CRAY SV-2, SMP архитектура. Пиковая производительность
системы в стандартной конфигурации может
составлять десятки терафлопс.
2. NEC SX-6, NUMA архитектура. Пиковая производительность
системы может достигать 8 Тфлопс, производительность
1 процессора составляет 8 Гфлопс. Система
масштабируется до 128 узлов.
3. Fujitsu-VPP5000 (vector parallel processing) ), MPP архитектура.
Производительность 1 процессора составляет
9.6 Гфлопс, пиковая производительность
системы может достигать 1249 Гфлопс, максимальная
емкость памяти - 8 Тб. Система масштабируется
до 512 узлов.
Парадигма программирования
на PVP системах предусматривает векторизацию
циклов (для достижения разумной производительности
одного процессора) и их распараллеливание
(для одновременной загрузки нескольких
процессоров одним приложением)
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 14.
На практике рекомендуют следующие процедуры:
• производить векторизацию
вручную, цель - перевести задачу в
матричную форму. При этом, в соответствии
с длиной вектора, размеры матрицы
должны быть кратны 128 или 256.
• работать с векторами в виртуальном
пространстве, разлагая искомую функцию
в ряд и оставляя число членов ряда, кратное
128 или 256.
За счет большой физической памяти (доли терабайта), даже плохо векторизуемые задачи на PVP системах решаются быстрее, на системах со скалярными процессорами1.
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 14-15.
Кластерная архитектура
Кластер представляет собой
два или больше компьютеров (часто
называемых узлами), объединяемых при
помощи сетевых технологий на базе
шинной архитектуры или коммутатора
и предстающих перед
Кластеризация может быть осуществлена на разных уровнях компьютерной системы, включая аппаратное обеспечение, операционные системы, программы-утилиты, системы управления и приложения. Чем больше уровней системы объединены кластерной технологией, тем выше надежность, масштабируемость и управляемость кластера.
Типы кластеров
Условное деление на классы предложено Язеком Радаевским и Дугласом Эдлайном:
Класс I. Класс машин строится целиком из стандартных деталей, которые продают многие продавцы компьютерных компонент (низкие цены, простое обслуживание, аппаратные компоненты доступны из различных источников).
Класс II. Система имеет эксклюзивные или не широко распространенные детали. Этим можно достичь очень хорошей производительности, но при более высокой стоимости.
Как уже указывалось выше, кластеры могут существовать в различных конфигурациях1.
______________________________
1. Богданов А.В. Архитектура и топологии многопроцессорных вычислительных систем, Учебное издание. Интернет-Университет Информационных Технологий: 2005. – С. 15.
Наиболее употребляемыми
типами кластеров являются:
• Системы высокой надежности.
• Системы для высокопроизводительных
вычислений.
• Многопоточные системы.
Отметим, что границы
между этими типами кластеров
до некоторой степени размыты,
и часто существующий кластер
может иметь такие свойства
или функции, которые выходят
за рамки перечисленных типов.
Более того, при конфигурировании
большого кластера, используемого
как система общего назначения,
приходится выделять блоки,
Кластеры для высокопроизводительных вычислений предназначены для параллельных расчётов. Эти кластеры обычно собраны из большого числа компьютеров. Разработка таких кластеров является сложным процессом, требующим на каждом шаге аккуратных согласований таких вопросов как инсталляция, эксплуатация и одновременное управление большим числом компьютеров, технические требования параллельного и высокопроизводительного доступа к одному и тому же системному файлу (или файлам) и межпроцессорная связь между узлами и координация работы в параллельном режиме. Эти проблемы проще всего решаются при обеспечении единого образа операционной системы для всего кластера. Однако реализовать подобную схему удаётся далеко не всегда и обычно она обычно применяется лишь для не слишком больших систем.
Многопоточные системы используются для обеспечения единого интерфейса к ряду ресурсов, которые могут со временем произвольно наращиваться (или сокращаться) в размере. Наиболее общий пример этого представляет собой группа Веб-серверов.