Мультипроцессорная обработка – способ организации» вычислительного процесса в системах с несколькими процессорами, при котором несколько задач (процессов, потоков) могут одновременно выполняться на разных процессорах системы.
Не следует путать мультипроцессорную обработку с мультипрограммной обработкой. В мультипрограммных системах ведется обработка нескольких программ, но при этом в процессоре в каждый момент времени выполняется только одна программа. А в мультипроцессорных системах несколько задач выполняются действительно одновременно, т.к. имеется несколько процессоров. Хотя и на каждом из процессоров может попеременно выполняться некоторый закрепленный за данным процессором набор задач.
Недостатки такой организации системы:
– усложнение всех алгоритмов управления ресурсами (например, планирование процессов не для одного, а для нескольких процессоров)
– возрастание числа конфликтов по обращению к устройствам ввода-вывода, данным, общей памяти и совместно используемым программам.
Проблемы решаются ОС путем синхронизации процессов, ведения очередей и планирования ресурсов и сама ОС должна быть спроектирована так, чтобы уменьшить существующие взаимозависимости между собственными компонентами.
Примеры ОС с мультипроцессорной – Sun Solaris 2.x, IBM OS/2, Microsoft Windows NT и т.д.
Различают симметричную и ассиметричную архитектуру таких систем.
Симметричная архитектура – однородность всех процессоров и единообразие включения процессоров в общую схему мультипроцессорной системы, разделение одной большой памяти между всеми процессорами.
Черты: возможность наращивания числа процессоров ограничена, т.к. все они пользуются одной и той же оперативной памятью и, следовательно, должны располагаться в одном корпусе – масштабируемость по вертикали до 4 или 8 процессоров; процессоры очень быстро обмениваются данными.
Асимметричная архитектура – разные процессоры могут отличаться как своими характеристиками (производительностью, надежностью и т.д.), так и функциональной ролью, которая поручается им в системе. Одни процессоры – основные вычислители, другие – управляют подсистемой ввода-вывода, третьи – еще для каких-то особых целей.
Т.к. здесь требование единого корпуса отсутствует, система может состоять из нескольких устройств, каждое из которых содержит один или несколько процессоров – масштабирование по горизонтали. Каждое такое устройство – кластером, а система – кластерная.
По способу организации вычислительного процесса мультипроцессорные системы делятся также на симметричные и ассиметричные.
Асимметричное мультипроцессирование – наиболее простой способ организации вычислительного процесса в системах с несколькими процессорами, его называют также «ведущий-ведомый».
Принцип «ведущий-ведомый» предполагает выделение одного из процессоров в качестве «ведущего», на котором работает операционная система и который управляет всеми остальными «ведомыми» процессорами. Ведущий процессор распределяет задачи и ресурсы, а ведомые процессоры работают только как обрабатывающие устройства и никаких действий по организации работы вычислительной системы не выполняют. Такая организация не намного сложнее ОС однопроцессорной системы.
Асимметричная организация вычислительного процесса может быть реализована как для симметричной мультипроцессорной архитектуры, так и для несимметричной.
Симметричное мультипроцессирование – способ организации вычислительного процесса, который может быть реализован в системах только с симметричной мультипроцессорной архитектурой.
При такой организации для всех процессоров существует общая операционная система. Все процессоры равноправно участвуют и в управлении вычислительным процессом, и в выполнении прикладных задач. Операционная система полностью децентрализована – модули ОС выполняются на любом доступном процессоре.
Как только процессор завершает выполнение очередной задачи, он передает управление планировщику задач, который выбирает из общей для всех процессоров системной очереди задачу, которая будет выполняться на данном процессоре следующей. Все ресурсы выделяются для каждой выполняемой задачи по мере возникновения в них потребностей и никак не закрепляются за процессором.
Все процессоры работают с одной и той же динамически выравниваемой нагрузкой. Одна задача может решаться сразу несколькими процессорами, если она допускает такое распараллеливание, например, путем представления в виде нескольких потоков.
Большой плюс: в случае отказа одного из процессоров симметричные системы, как правило, сравнительно просто реконфигурируются.
Симметричная и асимметричная организация вычислительного процесса в мультипроцессорной системе определяется типом операционной системы. Так, в симметричных архитектурах вычислительный процесс может быть организован как симметричным образом, так и асимметричным. Однако асимметричная архитектура непременно влечет за собой и асимметричный способ организации вычислений.
Список использованных источников:
1. Операционные системы: Учебник для вузов. 2-е изд. / А.В. Гордеев. - СПб.: Питер, 2011. - 416 с.
2. Эффективное администрирование. Ресурсы Windows Server 2010, Windows Server: Пер. с англ. - М.: Изд-во «Русская Редакция» / В.В. Мельников СПб.: БХВ - Петербург, 2009. - 768 с.
3. Эффективная работа: Windows - Сулацкая И.М.СПб.: Питер, 2008. - 1069 с.
4. Альянах И. Н. Внешние запоминающие устройства. М, 1991. с. 74.
Do'stlaringiz bilan baham: |