Общая структура многоядерных мультипроцессорных систем

Глава 37. Многоядерные мультипроцессорные системы

Общая структура многоядерных мультипроцессорных систем

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

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

Многоядерные мультипроцессорные системы (МПС) в общем случае состоят из (рис. 37.1):

нескольких многоядерных процессоров. Каждое ядро имеет в своем составе несколько уровней кэш-памяти.

оперативной памяти и подсистемы ввода-вывода, разделяемыми всеми ядрами процессоров;

коммутационной подсистемы между процессорами, оперативной памятью и подсистемой ввода-вывода.

Рис. 37.1. Упрощенная структура МПС

В процессоре, как правило, также имеется:

последний уровень кэш-памяти, общий для всех ядер;

многоканальный контроллер оперативной памяти, общий для всех ядер;

контроллеры для связи с периферией;

контроллеры интерфейсов для связи с другими процессорами в МПС.

МПС работает под управлением единой операционной системы.

Классификация МПС

По структуре коммуникационной подсистемы различают МПС:

с общей шиной;

с коммутатором;

с прямыми (непосредственными) связями;

с комбинацией общей шины и коммутатора;

с комбинацией непосредственных связей и коммутатора.

По способам работы с оперативной памятью МПС могут быть:

с логически и физически общей оперативной памятью с равным по времени доступом к любой ячейке памяти (Uniform Memory Access –UMA);

с логически и физически общей оперативной памятью, но с не равным по времени доступом к любой ячейке памяти (NonUniform Memory Access – NUMA). Среди NUMA МПС различают МПС без аппаратной поддержки когерентности кэш-памятей и с аппаратной поддержкой когерентности кэш-памятей (CC-NUMA МПС).

По функциям операционной системы различают:

МПС с равноправным участием всех процессоров (ядер) системы в выполнении функций операционной системы;

МПС с выделенным главным (ведущим) процессором (ядром), который выполняет функции операционной системы. Все остальные (ведомые) процессоры выполняют приложения.

По совокупности всех рассмотренных классификационных параметров МПС делят на симметричные и не симметричные МПС.

Симметричные МПС

В симметричной многоядерной мультипроцессорной системе:

все процессоры и ядра идентичные;

все ядра разделяют общую оперативную память;

время доступа каждого ядра в любую область оперативной памяти одинаково;

одна операционная система;

операционная система равномерно распределяет нагрузку на ядра;

для выполнения приложения могут использоваться несколько ядер;

может применяться та же модель программирования, что и в одноядерной системе;

каждое ядро может выполнять любые процедуры операционной системы, в том числе и по управлению вводом-выводом;

для наращивания мощности (масштабирования) системы достаточно добавить в нее еще несколько процессоров (соответственно, n*k ядер, где: n – количество добавленных процессоров; k – количество ядер в одном процессоре). Однако необходимо реально оценивать, насколько может возрасти производительность МПС при добавлении ядер и неизменности пропускной способности общей оперативной памяти.

Структура симметричной МПС аналогична структуре МПС, приведенной на рис. 37.1.

Основной недостаток симметричных МПС -существуютпределы для наращивания количества ядер при неизменности пропускной способности общей оперативной памяти.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: