ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 692

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

NUMA-мультипроцессоры. Число про­цессоров в UMA-мультипроцессорах с оди­ночной шиной как правило ограничивается от 16 до 32, а для того чтобы использовать в одной мультипроцессорной системе более 100 процессоров, необходимо использовать другое решение. В архитектуре UMA счи­тается, что все модули памяти организуют доступ за одинаковое время. Если изменить подобную организацию доступа, то получа­ем концепцию мультипроцессоров с неод­нородным доступом к памяти (NonUniform Memory Access, NUMA).

Как в архитектуре UMA, мультипроцес­соры NUMA имеют общее адресное про­странство для каждого процессора, но с той разницей, что доступ к локальным модулям памяти выполняется быстрее, чем к уда­ленным [3, 4]. Соответственно, все UMA- программы будут выполняться на NUMA- машинах, но с худшей производительностью, чем на UMA-машине с аналогичной такто­вой частотой. В системах NUMA есть три основные характеристики, которые позво­ляют различать NUMA-мультипроцессоры от иных мультипроцессоров[2]: имеется общее адресное пространство, доступное для всех процессоров; обращение к удален­ной памяти выполняется командами LOAD и STORE; обращение к удаленной памяти производится медленнее, чем обращение к локальной.

Время обращения к удаленной памяти, которое не замаскировано кэшированием (нет кэш), то подобная система имеет назва­ние NC-NUMA (No Caching NUMA - NUMA без кэширования). При наличии согласован­ных кэш, система будет иметь назвние CC

NUMA (Coherent Cache NUMA - NUMA с согласованными кэшами). Разработчики вычислительных систем обычно называют подобную систему аппаратной распреде­ленной общей памятью. Данный мульти­процессор включает в себя набор процес­соров, где каждый имеет свою памятью, доступ к которой выполнялся по локальной шине. Также, процессоры соединены друг с другом системной шиной. При организа­ции доступа к памяти, запрос направляется к диспетчеру памяти, который определяет, имеется ли необходимое слово в локальной памяти или нет. Если да, то запрос отправ­ляется по локальной шине, если нет, запрос отправляется по системной шине в ту си­стему, в которой имеется вышеуказанное слово. Исходя из этого, для второго про­цесса запроса необходимо намного больше времени, чем для первого. Соответственно обработка программы, размещенной, в уда­ленной памяти, занимало в 10 раз больше времени, чем обработка той же программы, размещенной локально.

Так как в NC-NUMA-машине нет кэш­памяти, то непосредственно обеспечивается согласованность памяти. Если каждое слово памяти имеет возможность храниться толь­ко в одном месте, следовательно, отсутству­ет ситуация наличии копии с устаревшими данными.


CC-NUMA-мультипроцессоры. Один из часто используемых принципов к постро­ению сложных мультипроцессоров, принад­лежащих к системам CC-NUMA, применен в мультипроцессоре на основе каталога. Главный смысл заключается в хранении базы данных с информацией о том, где рас­полагается каждая строка кэша и ее статус. При доступе к строке кэша в базу данных отправляется запрос о нахождении строки и является она «чистой» или «грязной» (мо­дифицированной). Т.к. опрос базы данных необходимо выполнять при исполнении любой команды доступа к памяти, следо­вательно, необходимо специализированное аппаратное обеспечение для поддержки базы данных, которое может обработать за­прос за доли шинного цикла.

COMA-мультипроцессоры. Исходя из того, что доступ к удаленной памяти об­рабатывается намного медленнее, чем к ло­кальной в NUMA- и CC-NUMA-машинах, необходимо иное архитектурное решение. Данным решением на сегодня является си­стема, в которой основная память каждого процессора применяется в качестве кэш­памяти. Название этой системы COMA (Cache Only Memory Access - доступ толь­ко к кэш-памяти). В COMA-машине физи­ческое адресное пространство разделяется на строки кэша, которые по запросу сво­бодно передаются в системе. Для каждого блока памяти нет своей машин. Память, которая при необходимости привлекает строки, называется притягивающей. При­менение основной памяти в качестве емкого кэша увеличивает процент кэш-попаданий, следовательно, и производительность. В COMA-машинах имеется два проблем­ных вопроса, каким образом располагаются строки кэша и что делать, когда удаляемая из памяти строка является конечной копией.

SUMA-мультипроцессоры. В одной из серии процессоров фирмы AMD приме­няется архитектурная организация, сочета­ющая преимущества UMA и NUMA систем, что дает возможность реализовывать гибкие и масштабируемые мультипроцессорные системы. В подобной системе (рисунок 3) для каждого процессорного узла встраи­вается контроллер памяти, также разрабо­тана специализированная шина с высокой пропускной способностью HyperTransport (HT), которая организует обмен между про­цессором и памятью без значительных за­держек. В результате компания AMD назва­ла эту архитектуру SUMA (Slightly Uniform Memory Architecture - почти однородная па­мять) [4, 5].

Главное достоинство архитектуры SUMA это последовательная межпроцес­сорная шина HyperTransport, для связи про­цессоров по типу точка-точка применяется одна часть соединений HT, другая часть необходима для связи с периферийными устройствами. Изначально AMD проектиро­вала шину HyperTransport для архитектуры чипов типа AMD64, специализированных процессоров со встроенным контроллером памяти. Шина HyperTransport гарантирует пропускную способность сопоставимую с пропускной способностью оперативной памяти, а также наименьшие задержки при обмене данных по шине.


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

Некоторыми из основных задач, при проектировании многопроцессорных вычислительных систем с общей шиной, яв­ляются разрешение конфликтных ситуаций во время доступа процессоров к памяти, уменьшение задержек на шине при выпол­нении операций обмена данными, а также масштабируемость системы. При построе­нии МПС применяются различные методы доступа в подсистему «процессор-память». Анализ применяемых методов доступа к памяти обозначил ряд имеющихся про­блем. Методы, использующие общую па­мять, реализуются в виде архитектур типа UMA, а те системы, которые используют принцип разделения памяти, находят при­менения в архитектурах типа NUMA и ее модификаций. Первый метод позволяет процессорам за равный промежуток време­ни предоставить доступ к каждому модулю памяти. Таким образом, возможен контроль над производительностью системы, но если процессоров более трех, то возникает про­блемы урегулирования доступа к общей шине. Второй метод, позволяет регулиро­вать масштабируемость системы, но из-за неоднородности памяти, доступ к удален­ной памяти намного медленнее, чем к ло­кальной, что понижает производительность системы. Исходя из этого, могут возникать значительные задержки при обращении к памяти, простои или отказы в работе про­цессоров при предельных нагрузках и/или ограниченном времени ожидания. Однако, практическое решение проблем доступа в подсистему «процессор-память» является достаточно сложным и имеет неоднознач­ный ответ. В данной области необходимо учитывать, что в реальных системах, име­ются ограничения на количество процес­соров и систем коммутации в шине обмена процессора с памятью, связанную с доро­говизной реализации. Задача разработки методов доступа в подсистему «процессор- память», особенно как для архитектур с об­щей памятью, так и с разделяемой памятью связанных со сбором, обработкой и пере­дачей информации с многочисленных ис­точников является чрезвычайно актуальной и важной.


1.2 Мультипроцессорные компьютеры

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

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

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

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

1) Принцип разомкнутого управления. Состоит в том, что программа управления жестко задана в задающем устройстве или внешним воздействием и управление не учитывает влияние возмущений на параметры процессов.

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

3) Принцип обратной связи. Управляющее воздействие корректируется в зависимости от выходной величины.

Виды систем управления:

1) Системы стабилизации. Обеспечивают неизменное значение управляемой величины при всех видах возмущений.

2) Программные системы. Изменение управляющего воздействия на основе заложенной программы.


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

4) Самонастраивающиеся системы.

5) Экстремальные системы. Системы, в которых выходная величина должна всегда принимать экстремальное значение из всех возможных.

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

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

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

Мульти компьютеры – это совокупность объединенных сетью отдельных вычислительных модулей, каждый из которых управляется собственной операционной системой. Узлы мульти компьютера не имеют общих структур кроме сети, обладают высокой степенью автономности и могут состоять из отдельных компьютеров или представлять собой различные комбинации кластеров. Для распределенной операционной системы мульти компьютер выглядит как виртуальный однопроцессорный ресурс; взаимодействие процессов реализуется с помощью явно заданных операций связи между отдельными вычислителями. Обычно в мульти компьютере реализуется согласованный сетевой протокол, и нет единой очереди выполняющихся процессов.

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

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