24551

Мультипроцессорная обработка, архитектуры мультипроцессорных систем

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-08-09

16.56 KB

21 чел.

Вопрос 14. Мультипроцессорная обработка, архитектуры мультипроцессорных систем.

§4.1.4.Мультипроцессорная обработка.

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

В настоящее время обычным стало включение нескольких процессоров в архитектуру даже персонального компьютера. Более того, многопроцессорность теперь является одним из необходимых требований, которые предъявляются к компьютерам, используемым в качестве центрального сервера более-менее крупной сети. Стало общепринятым введение в ОС функций поддержки мультипроцессорной обработки данных. Такие функции имеются во всех популярных ОС, таких как Sun Solaris 2.x, Santa Crus Operations Open Server 3.x, IBM OS/2, Microsoft Windows NT и Novell NetWare, начиная с 4.1.

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

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

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

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

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

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

Масштабирование в асимметричной архитектуре реализуется иначе, чем в симметричной. Так как требование единого корпуса отсутствует, система может состоять из нескольких устройств, каждое из которых содержит один или несколько процессоров. Это масштабирование по горизонтали. Каждое такое устройство называется кластером, а вся мультипроцессорная система – кластерной.

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

Асимметричное мультипроцессирование является наиболее простым способом организации вычислительного процесса в системах с несколькими процессорами. Этот способ часто называют также «ведущий-ведомый».

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

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

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

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

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


 

А также другие работы, которые могут Вас заинтересовать

16208. Ответы по усилителям мощности 39 KB
  Вопросы по усилителям мощности. 24. Каким образом в УМ рабочую точку транзисторов смещают в класс А АВ В Рис. 1 Рис.2 В режиме класса А выбор рабочей точки покоя производится таким образом чтобы входной сигнал полностью помещался на линейном участке выходной ВАХ транзи
16209. Ответы по Усилителям постоянного тока 54.5 KB
  Вопросы по Усилителям постоянного тока 1.Какова максимально достижимая величина коэффициента усиления по напряжению у дифференциального усилителя Если дифференциальный усилитель рассматривается как два каскада выполненных по схеме с общим эмиттером то для каждог...
16210. Векторы и матрицы 68.81 KB
  ОТЧЕТ по лабораторной работе №2 по дисциплине Программирование на тему Векторы и матрицы Вариант 24 1 Постановка задачи В массиве An наименьший элемент поместить на первое место наименьший из оставшихся на последнее место следующий по величине – на второе м
16211. Линейный поиск 72.96 KB
  ОТЧЕТ по лабораторной работе №3 по дисциплине Программирование на тему Линейный поиск Вариант 24 1 Постановка задачи В массиве Zn найти наиболее длинную цепочку стоящих подряд попарно различных элементов. ...
16212. Арифметика 70.04 KB
  ОТЧЕТ по лабораторной работе №4 по дисциплине Программирование на тему Арифметика Вариант 24 1 Постановка задачи Найти первые m более чем 2разрядных чиселпалиндромов то есть чисел десятичная запись которых читается одинаково в прямом и обратном направлениях...
16213. ПРИНЦИПЫ ПОСТРОЕНИЯ МОДУЛЬНОЙ ПРОГРАММЫ 80.5 KB
  Лабораторная работа №1 Принципы построения модульной программы Цель лабораторной работы: изучить возможность создания Unit в Delphi. Постановка задачи: Разработать программу состоящую из главной формы и отдельного Unit. Unit должен содержать набор процедур и функций для
16214. СОЗДАНИЕ ПРОСТЕЙШЕЙ ПРОГРАММЫ, ПОДДЕРЖИВАЮЩЕЙ ТЕХНОЛОГИЮ ООП 89 KB
  Лабораторная работа №2 Создание простейшей программы поддерживающей технологию ООП Цель лабораторной работы: изучить принципы построения классов. Постановка задачи: Разработать класс вычисления определенного интеграла четырьмя методами левых правых средни...
16215. СЕКЦИИ ДОСТУПА, СВОЙСТВА, РАБОТА С НЕСКОЛЬКИМИ ОБЪЕКТАМИ КЛАССА 107 KB
  Лабораторная работа №3 Секции доступа свойства работа с несколькими объектами класса Цель лабораторной работы: изучить принципы реализации инкапсуляции. Постановка задачи: На примере класса вычисления определенного интеграла разработать свойства доступа к за
16216. РЕАЛИЗАЦИЯ ПРИНЦИПОВ ПОЛИМОРФИЗМА 109 KB
  Лабораторная работа №4 Реализация принципов полиморфизма Цель лабораторной работы: изучить правила создания дочерних классов. Постановка задачи: Разработать дочерний класс вычисления определенного интеграла с различными подынтегральными функциями. Реализоват...