Симметричные мультипроцессорные системы. В SMP – системах с общей шиной и временным разделением коммуникационной системой служит общая шина, физический интерфейс
С общей шиной
В SMP – системах с общей шиной и временным разделением коммуникационной системой служит общая шина, физический интерфейс, алгоритмы обмена, арбитража, способы адресации и разделения времени в которой в основном такие же, как и в однопроцессорных системах. Общая шина позволяет легко расширять систему путем увеличения числа подключенных процессоров. Кроме того, это пассивная среда передачи и отказ одного из подключенных к ней устройств не приводит к отказу всей системы.
В то же время SMP – системам на базе общей шины свойственен основной недостаток шинной организации – невысокая производительность, которая существенно ограничивается длительностью цикла шины или производным показателем – максимальным числом циклов шины в секунду. Если суммарное число циклов шины в секунду, требуемое всеми процессорами, будет превышать максимальное число циклов шины в секунду для общей шины SMP – системы, то шина переходит в состояние насыщения. В этом состоянии увеличение числа процессоров не повышает производительность ВС. Этот недостаток ограничивает размер SMP – системы (мультипроцессора UMA) с одной шиной 16 процессорами.
Заметим, однако, что в случаях, когда основной характеристикой системы является надежность, в симметричных системах специально вводят избыточное число процессоров, ибо их дублирование, хотя и неэффективное с точки зрения роста производительности, существенно увеличивает надежность и отказоустойчивость ВС.
Одним из возможных решений проблемы насыщения шины является выделение для каждого из процессоров ВС локальных ресурсов – кэш-памяти, а также локальных оперативной памяти и устройств ввода-вывода, которые подключаются к процессору с помощью локальных шин. Этими локальными ресурсами каждый из процессоров владеет монопольно, что сокращает число обращений к общим системным ресурсам и снижает требования к пропускной способности коммуникационной системы – общей шины.
Сложной проблемой в симметричных мультипроцессорных системах является управление доступом многих равноправных и независимых процессоров к общим системным ресурсам – памяти, устройствам ввода-вывода, системной шине. Процессоры разделяют эти ресурсы и конкурируют из-за доступа к ним. Поэтому в симметричные ВС вводят специальные аппаратно-программные средства, осуществляющие арбитраж. Система арбитража получает запросы от процессоров на системные ресурсы, формирует разрешения тем или иным процессорам на основе принятых критериев, например приоритетов.
Существуют различные системы арбитража: централизованный параллельный или последовательный, централизованный или децентрализованный опрос, децентрализованный арбитраж и ряд других /25/, отличающихся сложностью, временем арбитража, возможностью перепрограммирования в процессе работы.
При централизованном арбитраже в ВС имеется специальное устройство – контроллер арбитра, ответственное за предоставление доступа к шине только одному из запросивших ведущих модулей (процессоров).
В централизованном параллельном арбитраже, схема которого изображена на рис.13.5, контроллер арбитра связан с каждым потенциальным ведущим модулем индивидуальными линиями «Запрос» и «Разрешение» шины. Получив запрос от ведущего модуля, приоритет которого выше, чем у текущего ведущего, контроллер арбитра снимает сигнал разрешения шины на входе текущего ведущего модуля и выдает сигнал разрешения шины запросившему ведущему. В свою очередь, текущий ведущий, обнаружив, что контроллер арбитра снял с его входа сигнал разрешения шины, завершает передачу информации по шине, снимает сигналы запроса и занятости шины. После этого запросивший шину ведущий модуль получает право управления шиной, т.е. доступ к системным ресурсам. Эта система арбитража выгодно отличается высоким быстродействием и гибкостью, так как допускает динамическое изменение приоритетов модулей путем перепрограммирования контроллера арбитра. Однако эта система имеет повышенную сложность и стоимость из-за большого числа линий арбитража, которые требуется ввести в системную шину.
В централизованном последовательном арбитраже, схема которого приведена на рис.13.6, запросы ведущих модулей объединяются на единственной линии запроса шины по схеме «монтажное ИЛИ».
Получив сигнал запроса шины, контроллер арбитра анализирует состояние линии занятости шины и, если шина свободна, формирует сигнал разрешения шины. Сигнал разрешения шины последовательно распространяется по цепочке от одного ведущего к другому до тех пор, пока не поступит в первый из модулей, которые запрашивали доступ к шине. Этот модуль блокирует дальнейшее распространение сигнала разрешения шины по цепочке, формирует активный сигнал занятости шины и получает управление шиной.
Основные достоинства этой системы арбитража заключаются в простоте реализации, в малом количестве используемых линий и простом наращивании числа модулей, подключаемых к шине. Недостатками централизованного последовательного арбитража являются низкие быстродействие и надежность, а также статическое (фиксированное) распределение приоритетов, определяемое положением модулей в цепочке.
Пример системы арбитража на основе централизованного опроса приведен на рис.13.7.
В этой системе, как и в предыдущей, запросы ведущих модулей объединяются на единственной линии запроса шины по схеме «монтажное ИЛИ». Получив сигнал запроса шины, контроллер арбитра анализирует состояние линии занятости шины и, если шина свободна, формирует сигналы опроса модулей. Опрос модулей может производиться путем формирования последовательности адресов модулей. Когда запрашивающий модуль распознает свой адрес, он формирует активный сигнал занятости шины и получает право на использование ее. Эта система арбитража является гибкой, так как позволяет динамически изменять приоритеты ведущих модулей путем изменения последовательности их опроса, требует сравнительно небольшого числа линий шины, но очевидно, что быстродействие этой системы арбитража невелико.
При децентрализованном, или распределенном арбитраже единый контроллер арбитра отсутствует. Вместо этого каждый ведущий модуль содержит локальный контроллер арбитра, управляющий доступом к шине своего модуля. Эти локальные контроллеры взаимодействуют друг с другом, разделяя между собой ответственность за доступ к шине. По сравнению с централизованным арбитражем децентрализованный более надежен, т.к. отсутствует единственная точка отказа.
Одна из возможных систем децентрализованного параллельного арбитража показана на рис.13.8.
Каждый ведущий модуль имеет собственный локальный арбитр, который задает свой уровень приоритета. Сигналы запроса шины от любого ведущего модуля поступают на входы всех остальных ведущих. В каждом из локальных контроллеров арбитра сигнал разрешения шины формируется следующим образом:
(разреш. шины N) = (запр. шины N); ____________
(разреш. шины N-1) = (запр. шины N-1)&(запр. шины N);
____________ _____________
(разреш. шины N-2) = (запр. шины N-2)&(запр. шины N)&(запр. шины N-1) и т.д.
Получив сигнал разрешения шины, контроллер арбитра анализирует состояние линии занятости шины и, если шина свободна, занимает шину и формирует сигнал занятости шины.
Вне зависимости от принятой системы арбитража должна быть реализована стратегия ограничения времени использования шины каждым из ведущих модулей. Одним из вариантов является разрешение ведущему занимать шину в течение одного цикла шины с предоставлением ему возможности конкуренции за шину в последующих циклах. Другим вариантом является принудительный захват контроля над шиной ведущим с более высоким уровнем приоритета при сохранении восприимчивости текущего ведущего к запросам на освобождение шины от устройств с меньшим уровнем приоритета.
Архитектура с общей шиной широко распространена в SMP – системах, построенных на микропроцессорах семейства *86, т.к. системная шина старших моделей (от Р6) этих процессоров изначально ориентирована на разделяемое управление коллективом из нескольких процессоров.
Заметим, что на практике существует и получила широкое распространение группа мультипроцессорных систем, которая занимает промежуточное положение между однопроцессорными и мультипроцессорными системами. Это асимметричные мультипроцессорные системы (asymmetric multiprocessors или ASMP). ASMP – системы отличает следующее:
· процессоры, образующие систему, являются существенно различными по характеристикам, функциональным возможностям и роли, выполняемой в ВС;
· процессоры в системе неравноправны: в качестве ведущего (host, master) выделен универсальный процессор, управляющий всеми остальными ведомыми (slave) процессорами, которые, как правило, являются специализированными (видеопроцессорами, цифровыми сигнальными процессорами, контроллерами дисковой памяти, прямого доступа к памяти и т.п.);
· на ведущем процессоре работает ОС, и этот процессор берет на себя функции распределения задач и ресурсов, а ведомые процессоры работают только как обрабатывающие устройства и никаких действий по организации вычислительного процесса не выполняют;
· доступ ведомых процессоров к общей памяти осуществляется через ведущий процессор или общую системную магистраль, к которой ведомые процессоры подключаются специализированными шинами;
· так как ОС работает только на одном ведущем процессоре, эта ОС является централизованной и по сложности близка сложности ОС однопроцессорной системы.
Ведомые специализированные процессоры имеют свои локальные шины, к которым может быть подключена локальная память и специализированные устройства ввода-вывода. ASMP – системы – это параллельные ВС, использующие мультипроцессорный способ организация вычислительного процесса по принципу «ведущий-ведомый», что существенно проще по сравнению с симметричными системами. Поэтому этот способ организации вычислительного процесса используется в недорогих рассчитанных на широкое применение типовых моделях ПК и рабочих станциях. С другой стороны, асимметричные ВС из-за большей централизации управления имеют меньшие производительность и надежность, так как процессоры не являются взаимозаменяемыми.
Дата добавления: 2016-06-13; просмотров: 801;