Симметричное мультипроцессирование это способ защиты от сбоев процессора

Обновлено: 07.07.2024

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

Определение

Симметричная многопроцессорная обработка (SMP — symmetrical multiprocessing) — параллельная вычислительная архитектура, в которой несколько процессоров поддерживают единую копию операционной системы и совместно используют память и другие ресурсы компьютера. Все процессоры имеют равные права доступа к памяти, системы ввода/вывода и формируют одинаковые внешние прерывания.

Технология симметричной многопроцессорной обработки относится к компьютерной архитектуре, рассчитанной на использование нескольких процессоров. Она открывает длинный ряд продуктов, который начинается технологией Cache-Coherent Non-Uniform Memory Architecture (ccNUMA), или архитектурой неоднородного доступа к памяти с когерентным кэшем, и заканчивается слабосвязанными архитектурами массивных параллельных систем и распределенными системами типа Beowulf. Последние представляют собой не что иное, как кластеры традиционных персональных компьютеров, связанных между собой при помощи таких технологий, как Ethernet, и выполняют программы, написанные специально для параллельной обработки.

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

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

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

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

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

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

Для развертывания SMP-системы требуется специальная конфигурация, объединяющая в себе операционную систему, системную плату и процессоры. SMP поддерживается большинством диалектов Unix, Linux версии 2.0 и выше, Mac OS 9, OS/2 Warp Server, Windows NT и Windows 2000. Она не поддерживается MS-DOS, Windows 95 и Windows 98. Среди многопотоковых приложений, которые могут эффективно работать в архитектуре SMP, — BackOffice Suite корпорации Microsoft, Lotus Notes и СУБД разработки Oracle, Sybase и Informix.

SMP может быть реализована на различных аппаратных RISC-платформах (UltraSPARC, Alpha, PowerPC и др.), а также на базе процессоров Intel, начиная с 486-й модели.

Права на стандарт Advanced Programmable Interrupt Controller (APIC), который применяется в системах SMP, принадлежат корпорации Intel, поэтому другие производители процессоров, в том числе Via Technologies и Advanced Micro Devices, не могут его использовать. Вместо этого они поддерживают частный стандарт OpenPIC: Via — в процессорах Cyrix 6x86 и AMD — в K6.

В предшествующем разделе описывались ситуации, подразумевающие наличие только одного процессора, и, следовательно, только одной исполняющейся задачи. На многопроцессорной же системе потенциально может быть несколько исполняющихся задач. Многопроцессорные системы поддерживаются механизмом диспетчеризации задач, большая часть которого присутствовала еще в оригинальной System/38, хотя никогда не использовалась на этой системе. Лишь в 1990 году мультипроцессирование было впервые использовано в AS/400. Оригинальная поддержка мультипроцессирования AS/400 до сих пор задействована не полностью, ее резервы предназначены для будущих расширений.

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

Ранее мы видели, что система симметричного мультипроцессирования (SMP) дает возможность ОС обрабатывать задачи на любом свободном процессоре или на всех процессорах сразу, при этом память остается общей для всех процессоров. Именно так устроена nканальная (nway) обработка на AS/400. Любой компонент ОС, включая диспетчер задач, может выполняться на любом или на всех процессорах системы.

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

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

Мы только что описали понятие сродства кэша (cache affinity). Говорят, что данная задача имеет сродство с некоторым процессором на основании содержимого его кэша. Диспетчеризация задач на многопроцессорной версии AS/400 использует комбинацию приоритета, сродства кэша и еще одной характеристики, под названием приемлемость (eligibility). Приемлемость используют, чтобы ограничить возможный набор процессоров для исполнения данной задачи. Приемлемость никогда не изменяется диспетчером задач. Если все процессоры, для которых приемлемо исполнение данной задачи, заняты задачами более высокого приоритета, то данная задача не направляется на выполнение.

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

Для диспетчеризации задачи на мультипроцессорной системе используются три поля TDE , а именно:

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

Помимо только что описанной поддержки многопроцессорных систем, AS/400 может иметь множественные TDQ. Данный механизм был включен в оригинальную System/38, чтобы обеспечить диспетчеризацию нескольких очередей, но не использовался там для этой цели. Если число процессоров возрастет настолько, что одиночная TDQ станет тормозить работу системы, то диспетчеризацию можно будет осуществлять с помощью нескольких TDQ.

Современные nканальные процессоры используют модель SMP с разделяемой памятью, в которой все процессоры работают с одной и той же памятью. В "AS/400 в XXI веке" мы рассмотрим другие модели SMP, которые найдут применение в будущих системах AS/400. Все они поддерживаются существующей структурой задач.

Асимметричное мультипроцессирование

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

Динамическое планирование приоритетов

В предыдущих разделах мы рассмотрели более понятную, но упрощенную модель диспетчеризации задач в AS/400. Со времен первой System/38 в структуру задач было внесено множество изменений для удовлетворения требований различных приложений и структур системы. Например, мы предполагали, что когданибудь системе понадобится динамически настраивать приоритет задачи во время исполнения. Предположим, что задача не получает достаточного для ее решения процессорного времени, или заблокировала некоторый системный ресурс, которого ожидает задача с большим приоритетом. Если бы система могла временно повышать и понижать приоритеты подобных задач, то можно было бы найти выход из только что описанных ситуаций. Такая возможность была добавлена в System/38 и ранние AS/400.

С появлением многопроцессорных конфигураций , и особенно в связи с нашим намерением использовать большее количество процессоров в конфигурациях SMP, было решено, что нужна более гибкая настройка приоритета задач. Группа исследователей в подразделении IBM Research в НьюЙорке работала над механизмом, который они назвали планировщик с оценкой задержки (delaycost scheduler). Специалисты из Рочестера подключились к этому проекту и вместе с IBM Research создали версию этого планировщика, которая теперь используется в SLIC на всех RISC-системах AS/400. Применяемые в планировщике алгоритмы, пожалуй, слишком сложны для этой книги. Но они вполне позволяют выполнять задачи вне порядка их приоритетов, если производительность системы при этом возрастает. В результате, загрузка RISC-процессоров становится более эффективной, особенно, в nканальных конфигурациях.

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

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

3 Какой принцип является основополагающим при создании и развитии автоматизированной информационной системы? принцип совместимости

4 Открытая информационная система это: система, созданная на основе международных стандартов

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

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

7 Общее программное обеспечение – это: система управления базами данных, экспертные системы, системы автоматизации проектирования

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

9 Текстовый процессор – это программа, предназначенная для: ввода, редактирования и форматирования текстовых данных

10 Информационная технология включает в себя: совокупность методов, производственных процессов и программно-технических средств для обработки данных

11 Основную структуру текстового документа определяет: шаблон

12 Области, расположенные в верхнем и нижнем поле каждой страницы документа, которые обычно содержат повторяющуюся информацию: колонтитул

13 Схема работы системы отображает порядок: следования операций

14 Какую программу можно использовать для проведения мультимедийной презентации? Microsoft PowerPoint

16 Пакетная технология – это: выполнение программы без вмешательства пользователя

17 Текстовый процессор входит в состав: операционной системы

18 Какое максимальное количество рабочих листов Excel может содержать рабочая книга? 256

19 Схема данных отображает: путь данных при решении задачи

20 Команды меню Формат в текстовом процессоре MS Word позволяют осуществить действия: выбор параметров абзаца и шрифта

21 Объект, позволяющий создавать формулы в документе MS Word, называется: Microsoft Equation

22 Ячейка таблицы MS Excel НЕ может содержать: рисунок

23 Автоматизированное рабочее место – это: компьютер, оснащенный предметными приложениями и установленный на рабочем месте

24 Первую вычислительную машину изобрел: Чарльз Беббидж

25 Какая единица измерения обычно связана с разрешением графики? пиксели

26 Какое периферийное устройство является запоминающим устройством, соединенным с интерфейсом USB, и позволяющим сохранять и перемещать файлы между компьютерами? флэш-накопитель

27 В развитии информационных технологий произошло следующее число революций: 3

28 предварительно обработанные данные, годные для принятия управленческих решений

29 Какая часть шифра ОС напрямую взаимодействует с оборудованием компьютера? ядро

30 Укажите правильное определение системы: система - это множество взаимосвязанных элементов или подсистем, которые сообща функционируют для достижения общей цели
Информатика тест 2 4 семестр

3 Браузеры являются: средством просмотра web-страниц

5 Услуга по размещению и хранению файлов клиента на сервере организации, предоставляющей подобную услугу – это: хостинг

6 ISR имеет общий IP-адрес, выданный ISP. Каково назначение общего IP-адреса?

позволяет внутренним хостам обмениваться данными с другими хостами в Интернет

7 К устройству ввода информации относят: клавиатура

8 Укажите, какое устройство относят к устройствам хранения информации: жесткий магнитный диск

9 Укажите устройство для подключения компьютера к сети: модем

11 Компьютер, подключенный к сети «Internet», обязательно имеет: IP-адрес

12 Домен - это: часть адреса, определяющая адрес компьютера пользователя в сети

13 Какое утверждение является истинным в отношении адресов в частной сети?

они являются более защищенными, поскольку они видимы только для локальной сети

14 К топологиям локальных сетей НЕ относятся: «круг»

15 Какое сокращение связано с использованием телефонной связи через сеть «Интернет»? VoIP

16 Какой протокол является базовым протоколом сети «Интернет»? TCP/IP

17 HTML является: средством создания Web-страниц

18Модем - это устройство, предназначенное для: передачи информации по каналам связи

19 Теги языка HTML- это: набор символов

20 Как называются программы, позволяющие просматривать Web- страницы: браузеры

22 На каком языке записываются Web-страницы? HTML

23 Гиперссылки на web-странице могут обеспечить переход: на любую web-страницу любого сервера Интернет

24 Web-страница – это: документ специального формата, опубликованный в Internet

25 Какую функцию выполняют периферийные устройства? ввод-вывод информации

26 Какой уровень иерархической модели сети, как правило, содержит сетевой трафик между компьютером и принтером, находящимися в одной сети? уровень доступа

27 Данный способов подключения к сети «Интернет» обеспечивает наибольшие возможности для доступа к информационным ресурсам: постоянное соединение по оптоволоконному каналу

28 Сеть, в которой объединены компьютеры в различных странах, на различных континентах - это: глобальная сеть

29 Оперативная память предназначена: для кратковременного хранения информации

30 Web-страницы имеют расширение: *.htm

Информатика тест 3 4 семестр

1 Обеспечение достоверности и полноты информации и методов ее обработки представляет собой: целостность

2 Программные средства защиты информации – это: средства архивации данных, антивирусные программы

3Какие потери информации бывают из-за некорректной работы программ?

a. потеря или изменение данных при ошибках ПО

b. перебои электропитания

4 Как называется умышленно искаженная информация? дезинформация

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

6 Симметричное мультипроцессирование – это: способ защиты от сбоев процессора

7 Файл загружается из сети «Интернет». После того как пользователь открывает загруженный файл, жесткий диск пользователя разрушается, а вся информация, хранящаяся на компьютере, теряется. К каком типа относится предпринятая атака? вирус

8 Каким образом злоумышленник обычно связывается с жертвой? по электронной почте

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

10 Программа, не являющаяся антивирусной: Defrag

11 Программа какого типа устанавливает и собирает личную информацию, включая информацию о пароле и профиле, с компьютера, без разрешения и без ведома пользователя? шпионящее ПО

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

13 Заражение компьютерными вирусами может произойти в процессе: работы с файлами

14 Заражению компьютерными вирусами могут подвергнуться: программы и документы

15 Наиболее распространенный криптографический код - это: код Хэмминга

16 Право Read дает вам возможность: чтения и копирования файлов из совместно используемого каталога

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

18 Коммерческая тайна - это: ограничения доступа в отдельные отрасли экономики или на конкретные производства

19 Наиболее надежным средством предотвращения потерь информации при кратковременном отключении электроэнергии? установка источников бесперебойного питания (UPS)

20 Основной документ, на основе которого проводится политика информационной безопасности - это: программа информационной безопасности

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

22 Основные предметные направления Защиты Информации: охрана государственной, коммерческой, служебной, банковской тайн, персональных данных и интеллектуальной собственности

23 Какие сбои оборудования бывают? сбои работы серверов, рабочих станций, сетевых карт

24 Виды защиты БД: защита паролем, защита пользователем

25 Какие программные средства защищают информацию на машинных носителях ЭВМ? с помощью шифрования (криптографии)

26 Шифрование информации – это: процесс ее преобразования, при котором содержание информации становится непонятным для не обладающих соответствующими полномочиями субъектов

27 Потери из-за ошибки персонала и пользователей бывают? случайное уничтожение или изменение данных

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

29 Класс программ, не относящихся к антивирусным: программы сканирования

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

Профессор Джон Д. Кубятович считает, что традиционно системы SMP содержат процессоры без кешей. Каллер и Пал-Сингх в своей книге 1998 года «Параллельная компьютерная архитектура: аппаратно-программный подход» упоминают: «Термин SMP широко используется, но вызывает некоторую путаницу. [. ] Более точное описание того, что подразумевается под SMP - это мультипроцессор с разделяемой памятью, в котором стоимость доступа к ячейке памяти одинакова для всех процессоров; то есть у нее одинаковая стоимость доступа, когда доступ фактически осуществляется к памяти. Если местоположение кэшируется, доступ будет быстрее, но время доступа к кэш-памяти и время доступа к памяти одинаковы для всех процессоров ».

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

СОДЕРЖАНИЕ

Дизайн

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

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

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

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

История

Самой ранней производственной системой с несколькими идентичными процессорами была Burroughs B5000 , которая работала примерно в 1961 году. Однако во время выполнения это было асимметрично : один процессор ограничивался прикладными программами, а другой процессор в основном обрабатывал операционную систему и аппаратные прерывания. В Burroughs D825 впервые был реализован SMP в 1962 году.

IBM предложила двухпроцессорные компьютерные системы на основе своей System / 360 Model 65 и родственных Model 67 и 67–2. На этих машинах работали операционные системы OS / 360 M65MP и TSS / 360 . Другое программное обеспечение, разработанное в университетах, особенно Michigan Terminal System (MTS), использовало оба процессора. Оба процессора могут получать доступ к каналам данных и инициировать ввод-вывод. В OS / 360 M65MP периферийные устройства обычно могут быть подключены к любому процессору, поскольку ядро ​​операционной системы работает на обоих процессорах (хотя и с «большой блокировкой» вокруг обработчика ввода-вывода). Супервизор MTS (UMMPS) может работать на обоих ЦП модели IBM System / 360 67–2. Блокировки супервизора были небольшими и использовались для защиты отдельных общих структур данных, к которым можно было получить доступ одновременно с любого процессора.

Другие мэйнфреймы, поддерживающие SMP, включали UNIVAC 1108 II , выпущенный в 1965 году, который поддерживал до трех процессоров, а также GE-635 и GE-645 , хотя GECOS в многопроцессорных системах GE-635 работал асимметрично, в отличие от ведущего-ведомого. Multics на многопроцессорных системах GE-645, которые работали симметрично.

Начиная с версии 7.0 (1972 г.), операционная система TOPS-10 от Digital Equipment Corporation реализовывала функцию SMP, самой ранней системой, работающей на SMP, была система с двумя процессорами DECSystem 1077 с двумя процессорами KI10. Позже система KL10 могла объединять до 8 процессоров в режиме SMP. В противоположность этому , РИК первый многопроцессорной VAX системы, VAX-11/782 был асимметричным, но позже VAX многопроцессорные системы были SMP.

Ранние коммерческие реализации SMP для Unix включали Sequent Computer Systems Balance 8000 (выпущенный в 1984 году) и Balance 21000 (выпущенный в 1986 году). Обе модели были основаны на процессорах National Semiconductor NS32032 с тактовой частотой 10 МГц , каждый из которых имел небольшой кэш со сквозной записью, подключенный к общей памяти для формирования системы с общей памятью . Другой ранней коммерческой реализацией SMP для Unix была система Honeywell Information Systems Italy XPS-100 на базе NUMA, разработанная Дэном Гиланом из VAST Corporation в 1985 году. Ее конструкция поддерживала до 14 процессоров, но из-за электрических ограничений самой крупной продаваемой версией была двухпроцессорная система. . Операционная система была получена и перенесена корпорацией VAST на основе кода AT&T 3B20 Unix SysVr3, используемого внутри компании AT&T.

Ранее существовали некоммерческие многопроцессорные порты UNIX, в том числе порт под названием MUNIX, созданный в Военно-морской аспирантуре к 1975 году.

Использует

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

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

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

Преимущества недостатки

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

Однако есть несколько ограничений масштабируемости SMP из-за согласованности кеша и общих объектов.

Программирование

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

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

Системы SMP также могут усложнять наборы инструкций. Однородная процессорная система обычно требует дополнительных регистров для «специальных инструкций», таких как SIMD (MMX, SSE и т. Д.), В то время как гетерогенная система может реализовывать различные типы оборудования для разных инструкций / использования.

Представление

Когда одновременно выполняется несколько программ, система SMP имеет значительно лучшую производительность, чем однопроцессор, потому что разные программы могут работать на разных процессорах одновременно. И наоборот, асимметричная многопроцессорная обработка (AMP) обычно позволяет только одному процессору запускать программу или задачу одновременно. Например, AMP можно использовать для назначения конкретных задач ЦП на основе приоритета и важности выполнения задачи. AMP был создан задолго до SMP с точки зрения обработки нескольких процессоров, что объясняет отсутствие производительности на основе приведенного примера.

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

Доступ к ОЗУ сериализован; это и проблемы с когерентностью кэша приводят к небольшому отставанию производительности от количества дополнительных процессоров в системе.

Альтернативы

Схема типичной SMP-системы. Три процессора подключены к одному модулю памяти через системную шину или кросс-переключатель.

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

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

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

Переменный SMP

Переменная симметричная многопроцессорная обработка (vSMP) - это особая технология мобильного использования, инициированная NVIDIA. Эта технология включает в себя дополнительное пятое ядро ​​в четырехъядерном устройстве, называемое ядром Companion, созданное специально для выполнения задач на более низкой частоте во время активного режима ожидания мобильного устройства, воспроизведения видео и музыки.

Проект Kal-El ( Tegra 3 ), запатентованный NVIDIA, был первым SoC (System on Chip), в котором реализована эта новая технология vSMP. Эта технология не только снижает энергопотребление мобильного устройства в активном режиме ожидания, но также максимизирует производительность четырехъядерного процессора во время активного использования для интенсивных мобильных приложений. В целом эта технология удовлетворяет потребность в увеличении времени автономной работы при активном и резервном использовании за счет снижения энергопотребления мобильных процессоров.

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

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

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

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