Svinkovod.ru

Бытовая техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Многопроцессорные системы с общей памятью

Многопроцессорные системы с общей памятью

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

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

Главный недостаток систем с общей шиной. Использование матричного коммутатора в схемах. Соединения между процессорами с системах с распределенной памятью. Схема соединений процессоров в компьютере BBN Butterfly. Топологии типа гиперкуб. Архитектура NUMA.

лекция, добавлен 22.10.2014

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

презентация, добавлен 10.02.2014

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

курсовая работа, добавлен 21.06.2013

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

курсовая работа, добавлен 24.06.2013

Особенности технологии параллельного программирования, описание компилятора OpenMP (Open Multi-Processing) и MPI (Message Passing Interface). Постановка задачи о ранце и пример ее решения на С++. Решение задачи о ранце на OpenMP со многими потоками.

магистерская работа, добавлен 08.03.2012

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

курсовая работа, добавлен 07.06.2014

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

курсовая работа, добавлен 13.12.2010

Классификация параллельных ВС. Системы с общей и распределенной памятью. Конвейеры операций. Производительность идеального конвейера. Суперскалярные архитектуры. VLIW-архитектура. Предсказание переходов. Матричные процессоры. Законы Амдала и Густафсона.

курсовая работа, добавлен 03.10.2008

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

дипломная работа, добавлен 25.01.2013

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

Симметричная многопроцессорность

Симметричная многопроцессорность (англ.  symmetric multiprocessing , сокращённо SMP) — архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессора сравнимой производительности подключаются единообразно к общей памяти (и периферийным устройствам) и выполняют одни и те же функции (почему, собственно, система и называется симметричной) [1] . В английском языке SMP-системы носят также название tightly coupled multiprocessors [2] , так как в этом классе систем процессоры тесно связаны друг с другом через общую шину и имеют равный доступ ко всем ресурсам вычислительной системы (памяти и устройствам ввода-вывода) и управляются все одной копией операционной системы.

Читайте так же:
Лучшие редакторы для фото на компьютер

В таксономии Флинна SMP-машины относятся к классу SM-MIMD-машин. Большинство многопроцессорных систем сегодня используют архитектуру SMP.

Содержание

Описание [ править | править код ]

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

Разные SMP-системы соединяют процессоры с общей памятью по-разному. Самый простой и дешевый подход — это соединение по общей шине (system bus) [3] [4] . В этом случае только один процессор может обращаться к памяти в каждый данный момент, что накладывает существенное ограничение на количество процессоров, поддерживаемых в таких системах. Чем больше процессоров, тем больше нагрузка на общую шину, тем дольше должен ждать каждый процессор, пока освободится шина, чтобы обратиться к памяти. Снижение общей производительности такой системы с ростом количества процессоров происходит очень быстро, поэтому обычно в таких системах количество процессоров не превышает 2-4. Примером SMP-машин с таким способом соединения процессоров являются любые многопроцессорные серверы начального уровня.

Второй способ соединения процессоров — через коммутируемое соединение (crossbar switch) [3] [5] . При таком соединении вся общая память делится на банки памяти, каждый банк памяти имеет свою собственную шину, и процессоры соединены со всеми шинами, имея доступ по ним к любому из банков памяти. Такое соединение схемотехнически более сложное, но оно позволяет процессорам обращаться к общей памяти одновременно. Это позволяет увеличить количество процессоров в системе до 8-16 без заметного снижения общей производительности. Примером таких SMP-машин являются многопроцессорные рабочие станции RS/6000.

Преимущества и недостатки [ править | править код ]

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

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

Читайте так же:
Лучшие компьютерные наушники с микрофоном

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

Ограничение на количество процессоров [ править | править код ]

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

Проблема когерентности кэш-памяти [ править | править код ]

Каждый современный процессор оборудован многоуровневой кэш-памятью для более быстрой выборки данных и машинных команд из основной памяти, которая работает медленнее, чем процессор. В многопроцессорной системе наличие кэш-памяти у процессоров снижает нагрузку на общую шину или на коммутируемое соединение, что весьма благоприятно сказывается на общей производительности системы. Но так как каждый процессор оборудован своей индивидуальной кэш-памятью, то возникает опасность, что в кэш-память одного процессора попадёт значение переменной, отличное от того, что хранится в основной памяти и в кэш-памяти другого процессора. Представим, что процессор изменяет значение переменной в своем кэше, а другой процессор запрашивает эту переменную из основной памяти, — и он (второй процессор) получит уже недействительное значение переменной. Или, например, подсистема ввода-вывода записывает в основную память новое значение переменной, а в кэш-памяти процессора все еще остается устаревшее. Разрешение этой проблемы возложено на протокол согласования кэшей (cache coherence protocol), который призван обеспечить согласованность («когерентность») кэшей всех процессоров и основной памяти без потери общей производительности [6] .

Поддержка операционной системой [ править | править код ]

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

Поддержка многопроцессорности в ОС Linux была добавлена в версии ядра 2.0 [7] и усовершенствована в версии 2.6. Линейка ОС Windows NT изначально создавалась с поддержкой многопроцессорности. (Windows 9x SMP не поддерживали.)

Альтернативы [ править | править код ]

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

Читайте так же:
Лучший ноутбук asus 2018 года

Другая концепция — асимметричное мультипроцессирование (ASMP), в котором отдельные специализированные процессоры используются для конкретных задач, и кластерная многопроцессорность (Beowulf), в которой не вся память доступна всем процессорам. Такие подходы нечасто используются (хотя высокопроизводительные 3D-чипсеты в современных видеокартах могут рассматриваться как разновидность асимметричной многопроцессорности), в то время как кластерные системы широко применяются при построении очень больших суперкомпьютеров.

PARALLEL.RU — Информационно-аналитический центр по параллельным вычислениям

Основные классы современных параллельных компьютеров

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

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

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

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

Массивно-параллельные системы (MPP)

  • один или несколько центральных процессоров (обычно RISC),
  • локальную память (прямой доступ к памяти других узлов невозможен),
  • коммуникационный процессор или сетевой адаптер
  • иногда — жесткие диски (как в SP) и/или другие устройства В/В

К системе могут быть добавлены специальные узлы ввода-вывода и управляющие узлы. Узлы связаны через некоторую коммуникационную среду (высокоскоростная сеть, коммутатор и т.п.)ПримерыIBM RS/6000 SP2, Intel PARAGON/ASCI Red, CRAY T3E, Hitachi SR8000, транспьютерные системы Parsytec.МасштабируемостьОбщее число процессоров в реальных системах достигает нескольких тысяч (ASCI Red, Blue Mountain).Операционная система

  1. Полноценная ОС работает только на управляющей машине (front-end), на каждом узле работает сильно урезанный вариант ОС, обеспечивающие только работу расположенной в нем ветви параллельного приложения. Пример: Cray T3E.
  2. На каждом узле работает полноценная UNIX-подобная ОС (вариант, близкий к кластерному подходу). Пример: IBM RS/6000 SP + ОС AIX, устанавливаемая отдельно на каждом узле.

  • Лекция об архитектуре массивно-параллельных компьютеров, на примере CRAY T3D (Вл.В.Воеводин).
  • Параллельные компьютеры с распределенной памятью (статья в ComputerWorld, #22, 1999 г.)
  • An Overview of the Intel TFLOPS Supercomputer

Симметричные мультипроцессорные системы (SMP)

Системы с неоднородным доступом к памяти (NUMA)

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

В случае, если аппаратно поддерживается когерентность кэшей во всей системе (обычно это так), говорят об архитектуре cc-NUMA (cache-coherent NUMA)ПримерыHP HP 9000 V-class в SCA-конфигурациях, SGI Origin2000, Sun HPC 10000, IBM/Sequent NUMA-Q 2000, SNI RM600.МасштабируемостьМасштабируемость NUMA-систем ограничивается объемом адресного пространства, возможностями аппаратуры поддежки когерентности кэшей и возможностями операционной системы по управлению большим числом процессоров. На настоящий момент, максимальное число процессоров в NUMA-системах составляет 256 (Origin2000).Операционная системаОбычно вся система работает под управлением единой ОС, как в SMP. Но возможны также варианты динамического «подразделения» системы, когда отдельные «разделы» системы работают под управлением разных ОС (например, Windows NT и UNIX в NUMA-Q 2000).Модель программированияАналогично SMP.

Параллельные векторные системы (PVP)

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

Как правило, несколько таких процессоров (1-16) работают одновременно над общей памятью (аналогично SMP) в рамках многопроцессорных конфигураций. Несколько таких узлов могут быть объединены с помощью коммутатора (аналогично MPP).ПримерыNEC SX-4/SX-5, линия векторно-конвейерных компьютеров CRAY: от CRAY-1, CRAY J90/T90, CRAY SV1, CRAY X1, серия Fujitsu VPP.Модель программированияЭффективное программирование подразумевает векторизацию циклов (для достижения разумной производительности одного процессора) и их распараллеливание (для одновременной загрузки нескольких процессоров одним приложением).

  • Лекция об архитектуре векторно-конвейерных супер-ЭВМ CRAY C90. (Вл.В.Воеводин)

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

АрхитектураНабор рабочих станций (или даже ПК) общего назначения, используется в качестве дешевого варианта массивно-параллельного компьютера. Для связи узлов используется одна из стандартных сетевых технологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора.

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

классы архитектур параллельных систем: с распределенной памятью (MPP) и с общей памятью (SMP) кратко

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

Раньше пытались повышать тактовую частоту.
Сейчас это не целесообразно из-за:

  • •проблемы уменьшения размера
  • •проблемы теплоотвода

Применяют параллельные вычисления

1.Компьютерные с общей памятью ( мультипроцессорные системы)

2.Компьютерные с распределенной памятью (мультикомпьютерные системы)

классы архитектур параллельных систем: с распределенной памятью (MPP) и с общей памятью (SMP)

Выделяют два класса архитектур систем:

с распределенной памятью (distributed memory) или «массивно-параллельные» (MPP) ( пример MPI)

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

классы архитектур параллельных систем: с распределенной памятью (MPP) и с общей памятью (SMP)

классы архитектур параллельных систем: с распределенной памятью (MPP) и с общей памятью (SMP)

с общей памятью(shared memory)или «симметричные мультипроцессорные» (SMP)(пример OpenMP)

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

классы архитектур параллельных систем: с распределенной памятью (MPP) и с общей памятью (SMP)

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

Первый класс – это компьютеры с общей памятью . Об этом говорит сайт https://intellect.icu . Системы, построенные по такому принципу, иногда называют мультипроцессорными "системами или просто мультипроцессорами. В системе присутствует несколько равноправных процессоров, имеющих одинаковый доступ к единой памяти. Все процессоры "разделяют" между собой общую память. Все процессоры работают с единым адресным пространством: если один процессор записал значение 79 в ячейку по адресу 1024, то другой процессор, прочитав содержимое ячейки, расположенное по адресу 1024, получит значение 79. 2

3 3 Параллельные компьютеры с общей памятью

классы архитектур параллельных систем: с распределенной памятью (MPP) и с общей памятью (SMP)

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

5 5 Параллельные компьютеры с распределенной памятью

классы архитектур параллельных систем: с распределенной памятью (MPP) и с общей памятью (SMP)

6 Blue Gene/L 6

Расположение: Ливерморская национальная лаборатория имени Лоуренса Общее число процессоров 65536 штук Состоит из 64 стоек Производительность 280,6 терафлопс В штате лаборатории — порядка 8000 сотрудников, из которых — более 3500 ученых и инженеров.

классы архитектур параллельных систем: с распределенной памятью (MPP) и с общей памятью (SMP)

Машина построена по сотовой архитектуре, то есть, из однотипных блоков, что предотвращает появление "узких мест" при расширении системы. Стандартный модуль BlueGene/L — "compute card" — состоит из двух блоков-узлов (node), модули группируются в модульную карту по 16 штук, по 16 модульных карт устанавливаются на объединительной панели (midplane) размером 43,18 х 60,96 х 86,36 см, при этом каждая такая панель объединяет 512 узлов.

классы архитектур параллельных систем: с распределенной памятью (MPP) и с общей памятью (SMP)

Две объединительные панели монтируются в серверную стойку, в которой уже насчитывается 1024 базовых блоков-узлов. На каждом вычислительном блоке (compute card) установлено по два центральных процессора и по четыре мегабайта выделенной памяти Процессор PowerPC 440 способен выполнять за такт четыре операции с плавающей запятой, что для заданной тактовой частоты соответствует пиковой производительности в 1,4 терафлопс для одной объединительной панели (midplane), если считать, что на одном узле установлено по одному процессору.

классы архитектур параллельных систем: с распределенной памятью (MPP) и с общей памятью (SMP)

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

См. также

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector