24551

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

Доклад

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

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

Русский

2013-08-09

16.56 KB

18 чел.

Вопрос 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

69068. Основи прив’язки даних 872.5 KB
  Прив’язка даних – це засіб, який дозволяє асоціювати джерело даних з елементом керування з метою автоматичного відображення даних у цьому елементі керування. Ключовою характеристикою прив’язки даних є її декларативний, а не програмний характер.
69069. Користувацькі елементи керування 263 KB
  Він охоплює елементи керування інкапсулює базові HTMLдескриптори і елементи керування що забезпечують багату високорівневу модель такі як календар TreeView і елементи керування даними. Але навіть самий багатий набір елементів керування не в змозі задовольнити потреби кожного розробника.
69070. Крос-платформне програмування 286.5 KB
  Крос-платформність (багатоплатформність) — можливість виконувати програмне забезпечення (ПЗ) без переписування його коду на різних апаратних платформах та під управлінням різних операційних систем (інакше кажучи, на платформах різних ОС).
69071. Компонентна ідеологія 210.54 KB
  Слід зазначити що однією з багатьох важливих переваг компонентноорієнтованого програмування КОП є можливість створення кросплатформного програмного забезпечення. В індустрії програмування технологічні нововведення приходять хвилями кожна з яких проявляється як мода на нові засоби...
69072. Методи створення компонентів. Розробка і збирання компонентів в середовищі MS .Net Framework 52.99 KB
  Офіційно про розробку нової технології було оголошено 13 січня 2000 року. В цей день керівництвом компанії була озвучена нова стратегія, яка отримала назву Next Generation Windows Services (скор. NGWS, укр. Нове покоління служб Windows).
69073. Короткий огляд мови C# 568.5 KB
  Весь виконуваний код C# повинен міститися у класі – у даному випадку класі Program. На відміну від мови C та аналогічних, у C# не можна об’явити глобальну функцію чи змінну. Клас Program міститься у просторі імен DemoApp. При створенні програми в Visual C# простір імен створюється автоматично.
69074. Огляд мови програмування С# (частина 2) Клас та структури 185.5 KB
  В рамках оголошення класу та структури описується безліч змінних різних типів набір данихчленів класу правила породження об’єктів-представників структур і класів їх основні властивості і методи застосування яких забезпечує вирішення задачі.
69075. ТЕХНОЛОГІЯ ADO .NET. ВІД’ЄДНАНІ ОБ’ЄКТИ 76.35 KB
  В попередній лекції ми розглядали роботу з даними через приєднані об’єкти, тобто через постійне з’єднання з джерелом даних. Програма відкривала з’єднання з базою даних і не закривала його принаймні до завершення роботи з джерелом даних. В цей час з’єднання з джерелом підтримувалося постійно.
69076. АРХІТЕКТУРА ТА ПРОЕКТУВАННЯ КОМПОНЕНТНИХ СИСТЕМ 153.12 KB
  У попередніх лекціях ми розглядали створення локальних (автономних) Windows-застосунків. В результаті компіляції і збирання застосунку створювався один програмний компонент у формі збірки. У вигляді локальних застосунків розробляють сервісні програми, системні утиліти...