Организация взаимодействия процессорных модулей в многопроцессорных системах — КиберПедия 

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Организация взаимодействия процессорных модулей в многопроцессорных системах

2022-11-14 30
Организация взаимодействия процессорных модулей в многопроцессорных системах 0.00 из 5.00 0 оценок
Заказать работу

6.1 Мультипроцессорные системы и арбитраж

Эффективность организации вычислительных процессов в ЭВМ и системах во многом определяет их эксплуатационные характеристики, среди которых основными являются следующие /1/:

быстродействие (номинальное, среднее) – количество команд с фиксированной точкой (MIPS) и плавающей точкой (MFLOPS), выполняемых за одну секунду;

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

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

надежность – среднее время (в часах) безотказной работы (обозначается MTBF);

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

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

Развитие архитектуры ЭВМ от простейших фон-неймановских до современных вычислительных систем (ВС) базируется на двух основных способах организации вычислительных процессов – мультипроцессорном и мультипрограммном /1-5/.

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

Мультипроцессорные системы разделяются на два класса – симметричные и асимметричные ВС /1,2/.

Симметричные (SMP – Symmetric Multi Processors) ВС отличаются следующими особенностями:

процессоры, составляющие систему, являются одинаковыми или близкими по характеристикам;

все процессоры системы равноправны и способны выполнять одинаковый набор функций;

все процессоры имеют доступ к общей памяти системы, через которую, главным образом, осуществляется их взаимодействие;

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

все процессоры имеют доступ к общим ресурсам ввода – вывода, т.е. разделяют их;

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

Классическим примером симметричных ВС являются высокопроизводительные сервера корпоративного класса, содержащие 2,4,8,…центральных процессоров и обеспечивающие высокую степень готовности 0,99999, что соответствует допустимому времени простоя – не более 5 мин. в год.

Асимметричные (ASMP – Asymmetric Multi Processors) ВС отличает следующее:

процессоры, образующие систему являются существенно различными по характеристикам, функциональным возможностям и роли, выполняемой в ВС;

процессоры в системе неравноправны: в качестве ведущего (host, master) выделен универсальный процессор, управляющий всеми остальными ведомыми (slave) процессорами, которые, как правило, являются специализированными (цифровыми сигнальными процессорами, контроллерами дисковой памяти, прямого доступа к памяти и т.п.);

 

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

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

так как ОС работает только на одном ведущем процессоре, эта ОС является централизованной и по сложности близка сложности ОС однопроцессорной системы.

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

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

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

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

 

Арбитраж и арбитры

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

Существуют различные системы арбитража: централизованный параллельный или последовательный, централизованный или децентрализованный опрос, децентрализованный арбитраж и ряд других /2-5/, отличающихся сложностью, временем арбитража, возможностью перепрограммирования в процессе работы.

При централизованном арбитраже в ВС имеется специальное устройство – контроллер арбитра, ответственное за предоставление доступа к шине только одному из запросивших ведущих модулей (процессоров).

В централизованном параллельном арбитраже, схема которого изображена на рис.1.1., контролер арбитра связан с каждым потенциальным ведущим модулем индивидуальными линиями «Запрос» и «Разрешение» шины. Получив запрос от ведущего модуля, приоритет которого выше, чем у текущего ведущего, контроллер арбитра снимает сигнал разрешения шины на входе текущего ведущего модуля и выдает сигнал разрешения шины запросившему ведущему. В свою очередь, текущий ведущий, обнаружив, что контролер арбитра снял с его входа сигнал разрешения шины, завершает передачу информации по шине снимает сигналы запроса и занятости шины. После этого запросивший шину ведущий модуль получает право управления шиной, т.е. доступ к системным ресурсам. Эта система арбитража выгодно отличается высоким быстродействием и гибкостью, так как допускает динамическое изменение приоритетов модулей путем перепрограммирования контроллера арбитра. Однако эта система имеет повышенную сложность и стоимость из-за большого числа линий арбитража, которые требуется ввести в системную шину.

 
 


В централизованном последовательном арбитраже, схема которого приведена на рис.1.2., запросы ведущих модулей объединяются на единственной линии запроса шины по схеме «монтажное ИЛИ». Получив сигнал запроса шины, контроллер арбитра анализирует состояние линии занятости шины и, если шина свободна, формирует сигнал разрешение шины. Сигнал разрешения шины последовательно распространяется по цепочке от одного ведущего к другому до тех пор, пока не поступит в первый из модулей, которые запрашивали доступ к шине. Этот модуль блокирует дальнейшее распространение сигнала разрешения шины по цепочке, формирует активный сигнал занятости шины и получает управление шиной.

 
 


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

Пример системы арбитража на основе централизованного опроса приведен на рис.1.3. В этой системе, как и предыдущей, запросы ведущих модулей объединяются на единственной линии запроса шины по схеме «монтажное ИЛИ». Получив сигнал запроса шины, контроллер арбитра анализирует состояние линии занятости шины и, если шина свободна, формирует сигналы опроса модулей. Опрос модулей может производиться путем формирования последовательности адресов модулей. Когда запрашивающий модуль распознает свой адрес, он формирует активный сигнал занятости шины и получает право на использование ее. Эта система арбитража является гибкой, так как позволяет динамически изменять приоритеты ведущих модулей путем

 
 


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

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

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

(разреш. шины N) = (запр. шины N); ____________

(разреш. шины N-1) = (запр. шины N-1)&(запр. шины N);

____________ ______________

(разреш. шины N-2) = (запр. шины N-2)&(запр. шины N)&(запр. шины N-1) и т.д.

Получив сигнал разрешение шины, контроллер арбитра анализирует состояние линии занятости шины и, если шина свободна, занимает шину и формирует сигнал занятости шины.

 
 


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

Важной и трудно решаемой проблемой в симметричных мультипроцессорных системах является создание коммуникационной среды (системной шины, коммутатора, специальной сети), посредством которой осуществляется доступ процессоров к общим системным ресурсам и межпроцессорный обмен сообщениями. Главное требование к этой коммуникационной среде – высокая пропускная способность или скорость обмена. Типовые системные шины, например, PCI, PCI-X имеют недостаточную скорость обмена, а коммутаторы, многопортовая память и специальные высокоскоростные сети сложны и дороги для широкого применения /4,5/. Одним из возможных решений этой проблемы является выделение для каждого из процессоров ВС локальных ресурсов – памяти и каналов ввода-вывода, которые подключаются к процессору с помощью локальных шин. Этими локальными ресурсами каждый из процессоров владеет монопольно, что сокращает число обращений к общим системным ресурсам и снижает требования к пропускной способности коммуникационной среды. По сути наблюдается переход от мультипроцессорных к мультикомпьютерным системам, реализуемым на основе высокоскоростных сетей – кластерным системам /4,5/. Если в качестве коммуникационной сети используется типовая локальная сеть, такая ВС называется распределенной /4,5/.


Поделиться с друзьями:

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.024 с.