Многопроцессорная обработка информации
Автор работы: Пользователь скрыл имя, 17 Декабря 2014 в 16:00, доклад
Краткое описание
Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).
Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.
Вложенные файлы: 1 файл
Важным свойством операционных
систем является возможность распараллеливания
вычислений в рамках одной задачи. Многонитевая
ОС разделяет процессорное время не между
задачами, а между их отдельными ветвями
(нитями).
Другим важным свойством ОС
является отсутствие или наличие в ней
средств поддержки многопроцессорной
обработки - мультипроцессирование. Мультипроцессирование
приводит к усложнению всех алгоритмов
управления ресурсами.
В настоящее время становится
общепринятым введение в ОС функций поддержки
многопроцессорной обработки данных. Такие функции имеются
в операционных системах Solaris 2.x фирмы
Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы
IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.
Многопроцессорные ОС могут
классифицироваться по способу организации
вычислительного процесса в системе с
многопроцессорной архитектурой: асимметричные ОС
и симметричные ОС. Асимметричная(Asymmetric
Multiprocessing — AMP) ОС целиком выполняется
только на одном из процессоров системы,
распределяя прикладные задачи по остальным
процессорам. Симметричная ОС полностью
децентрализована и использует весь пул
процессоров, разделяя их между системными
и прикладными задачами. NT поддерживает
только архитектуру с симметричной мультипроцессорной
обработкой – SMP (англ. Symmetric Multiprocessing,
сокращённо SMP). Системы с
симметричной мультипроцессорной обработкой
позволяют коду операционной системы
выполняться на любом свободном процессоре
или на всех процессорах одновременно,
причем каждому из процессоров доступна
вся память. Чтобы гарантировать правильную
работу системы, код таких ОС должен следовать
строгим правилам. Windows NT обладает свойствами,
которые принципиально важны для мультипроцессорной
ОС:
Код ОС может выполняться на
любом из доступных процессоров и на нескольких
процессорах одновременно. За исключением
кода ядра, которое выполняет планировку
потоков и обработку прерываний, весь
код ОС может быть вытеснен потоком с более
высоким приоритетом.
В одном процессе может быть
несколько потоков управления. Потоки
позволяют процессу выполнять разные
части его программы на нескольких процессорах
одновременно.
Серверные процессы могут иметь
несколько потоков для одновременной
обработки запросов от нескольких клиентов.
Большинство многопроцессорных
систем сегодня используют архитектуру
SMP.
SMP-системы позволяют любому
процессору работать над любой
задачей независимо от того, где
в памяти хранятся данные для
этой задачи; при должной поддержке
операционной системой SMP-системы
могут легко перемещать задачи
между процессорами, эффективно
распределяя нагрузку. С другой
стороны, память гораздо медленнее
процессоров, которые к ней обращаются;
даже однопроцессорным машинам
приходится тратить значительное
время на получение данных
из памяти. В SMP ситуация ещё более
усугубляется, так как только
один процессор может обращаться
к памяти в данный момент
времени.
SMP архитектура (symmetric multiprocessing)
- cимметричная многопроцессорная архитектура.
Главной особенностью систем с архитектурой
SMP является наличие общей физической
памяти, разделяемой всеми процессорами
Память является способом передачи
сообщений между процессорами, при этом
все вычислительные устройства при обращении
к ней имеют равные права и одну и ту же
адресацию для всех ячеек памяти. Поэтому
SMP архитектура называется симметричной.
Последнее обстоятельство позволяет очень
эффективно обмениваться данными с другими
вычислительными устройствами. SMP-система
строится на основе высоко скоростной
системной шины (SGI PowerPath, Sun Gigaplane, DEC TurboLaser),
к слотам которой подключаются функциональные
блоки трех типов: процессоры (ЦП), операционная
система (ОП) и подсистема ввода/вывода
(I/O). Для подсоединения к модулям I/O используются
уже более медленные шины (PCI, VME64). Наиболее
известными SMP-системами являются машины
серий SGI Power Chalenge, DEC Alpha Server, Cray T3D. Вся система
работает под управлением единой ОС (обычно
UNIX-подобной, но для Intel-платформ поддерживается
Windows NT). ОС автоматически (в процессе работы)
распределяет процессы по процессорам,
но иногда возможна и явная привязка.
Основные преимущества
SMP-систем:
простота и универсальность
для программирования. Архитектура SMP не накладывает ограничений на модель программирования, используемую при создании приложения: обычно используется модель параллельных ветвей, когда все процессоры работают абсолютно независимо друг от друга, - однако, можно реализовать и модели, использующие межпроцессорный обмен. Использование общей памяти увеличивает скорость такого обмена, пользователь также имеет доступ сразу ко всему объему памяти. Для SMP-систем существуют сравнительно эффективные средства автоматического распараллеливания.
легкость в эксплуатации. Как правило, SMP-системы используют систему охлаждения, основанную на воздушном кондиционировании, что облегчает их техническое обслуживание.
относительно невысокая
цена.
Недостатки:
системы с общей памятью, построенные
на системной шине, плохо масштабируемы
Этот важный недостаток SMP-системы,
не позволяет считать их по-настоящему
перспективными. Причины плохой масштабируемости
состоят в том, что в данный момент шина
способна обрабатывать только одну транзакцию,
вследствие чего возникают проблемы разрешения
конфликтов при одновременном обращении
нескольких процессоров к одним и тем
же областям общей физической памяти.
Вычислительные элементы начинают друг
другу мешать. Когда произойдет такой
конфликт, зависит от скорости связи и
от количества вычислительных элементов.
В настоящее время конфликты могут происходить
при наличии 8-24-х процессоров. Кроме того,
системная шина имеет ограниченную (хоть
и высокую) пропускную способность (ПС)
и ограниченное число слотов. Все это с
очевидностью препятствует увеличению
производительности при увеличении числа
процессоров и числа подключаемых пользователей.
В реальных системах можно использовать
не более 32 процессоров. Рекорд в этом
отношении принадлежит фирме SUN. Произведенный
ею суперкомпьютер SUN Enterprise
(Sun Fire) 15000 может иметь до 72 UltraSparc III 900
МГц процессоров SMP архитектуры. Наиболее
известным суперкомпьютерным серверами
SMP-архитектуры являются также ORIGIN
серии 3000, и системы V класса компании
Hewlett Packard.
Максимальная производительность SMP системы
может составлять приблизительно 50 миллиардов
операций в секунду. Для большинства современных
приложений это приемлемо, но не для всех.При
работе с SMP системами используют так называемую
парадигму программирования с разделяемой
памятью (shared memory paradigm).
Информация о работе Многопроцессорная обработка информации