Справочник от Автор24
Поделись лекцией за скидку на Автор24

Системы класса MIMD (МКМД)

  • 👀 831 просмотр
  • 📌 766 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Системы класса MIMD (МКМД)» pdf
10. Системы класса MIMD (МКМД) Системы данного класса делятся, как это было отмечено выше на два основных вида – системы с общей и распределенной памятью. Обычно в качестве синонима систем первого вида используется термин «многопроцессорные вычислительные системы», второго вида «многомашинные вычислительные системы» [C6]. В МКМД системах каждый их процессор выполняет свою программу (или часть большой программы) достаточно независимо от других процессоров. Большой интерес к системам данного класса определяется двумя факторами: 1. свойства систем МКМД дают большую гибкость – при наличии адекватной поддержки со стороны аппаратных средств и программного обеспечения МКМД может работать как однопользовательская система, обеспечивая высокопроизводительную обработку данных для одной прикладной задачи, как многопрограммная система, выполняющая множество задач параллельно, и как комбинация этих возможностей; 2. система МКМД может использовать все преимущества современной микропроцессорной технологии на основе строгого учета соотношения производительность/стоимость. В действительности практически все современные МКМД системы строятся на тех же процессорах, что и персональный компьютер, рабочие станции и сервера. Одной из отличительных особенностей МКМД систем является сеть обмена, с помощью которой процессоры соединяются друг с другом или с памятью. Модель обмена для таких систем настолько важна, что многие характеристики производительности и другие оценки выражаются отношением времени обработки к времени обмена, соответствующим решаемым задачам. Существуют две основные модели межпроцессорного обмена : одна основана на передаче сообщений, другая на использование общей памяти. В многопроцессорной системе с общей памятью один процессор осуществляет запись в конкретную ячейку, а другой производит считывание из этой ячейки памяти. Чтобы обеспечить согласованность данных и синхронизацию процессов, обмен часто реализуется по принципу взаимно исключающего доступа к общей памяти методом «почтового ящика». В многомашинной системе процессоры получают доступ к совместно используемым данным посредством передачи сообщений по сети обмена. Эффективность схем коммуникаций зависит от протоколов обмена, характеристик основных сетей обмена (в том числе каналов связи), пропускной способности памяти. Таким образом, базовой моделью вычислений в МКМД системах является совокупность независимых процессов, эпизодически обращающихся к разделяемым данным. Существует достаточно большое количество вариантов этой модели. На одном конце спектра – это модель распределенных вычислений, в которой программа делится на довольно 63 большое число параллельных задач, состоящих из множества подпрограмм. На другом конце спектра – модель потоковых вычислений, в которой каждая операция в программе может рассматриваться как отдельный процесс. Такая операция ждет своих входных данных (операндов), которые должны быть переданы ей другими процессами. По их получении операция выполняется, и полученное значение передаѐтся тем процессам, которые в нѐм нуждается. На рис. 10.1 представлена упрощѐнная схема МКМД системы. - центральное устройство управления ПД (поток Р1 Р2 Р3 результатов) M1 М2 М3 - Память (обычно модульного типа) Рис. 10.1 Упрощѐнная схема системы МКМД В реализации любой модели вычислений кто-то должен управлять всем этим процессом. Это м.б. специальный процессор (тогда он должен быть мощнее, чем каждый из Р 1,2,3, так как он должен решать сложную задачу назначения). Это система с централизованным управлением. Ее минус в высокой стоимости. Роль управляющего процессора могут играть несколько процессоров (В одной из систем Cray, например, входят 8 обрабатывающих процессоров и 4 управляющих, т.е. 2х1). В ОКМД всегда одно ЦУУ, но здесь будет несколько таких устройств. Один из управляющих процессоров назначается главным – обеспечивая взаимодействие 4-х управляющих процессоров.    Минусы:  Сложная подготовка задач к параллельным вычислениям, ведь «простая» программа здесь не будет эффективна.  Сложное и дорогое ЦУУ Свойства MIMD:  Иерархия управления (управляющий процессор, в каждом процессоре свое управление)  Несколько уровней памяти (cashe 1,2,3; RAM; HD)  Иерархия коммутации (магистрали между процессорами и магистрали между узлами) Как было отмечено выше МКМД делятся на:  Системы с общей памятью (UMA)  Системы с распределенной памятью 64 Системы со «смешанной» памятью (NUMA - Non Uniform Memory Access). В системах со «смешанной» памятью модули памяти физически располагаются в разных процессорах, но адресное пространство у них общее, поэтому доступ к своей локальной памяти быстрее, чем к чужой).  11. ВС с общей памятью (UMA) К данной группе систем МКМД относятся системы с общей (разделяемой) основной памятью, объединяющие до нескольких десятков (обычно не более 32) процессоров. Сравнительно небольшое число процессоров в таких системах определяется наличием одной шины, соединяющей эти процессоры. Таким образом, при наличии у процессоров кэш-памяти достаточной ѐмкости высокопроизводительная шина и общая память могут удовлетворить обращения к ней поступающие от нескольких процессоров. Поскольку имеется единственная общая память с одним и тем же временем доступа для любого процессора, поэтому такие системы и получили название UMA (Uniform Memory Access). Довольно часто, и не всегда обосновано, при анализе систем с общей памятью (в том числе и систем на основе векторных процессоров) затраты на обмен не учитываются, так как проблемы обмена в значительной степени скрыты от программиста. Однако накладные расходы на обмен в этих системах имеются и определяются конфликтами шин, памяти и процессоров. Чем больше процессоров добавляются в систему, тем больше процессов соперничают при использовании одних и тех же ресурсов, что приводит к большему числу конфликтов. Модель системы с общей памятью очень удобна для программирования, так как мало отличается от программирования для однопроцессорной системы [4]. В случае неудовлетворительных результатов применения системы с одной шиной, число их может быть увеличено. На рис. 1.11 представлена схема такой системы. Р1 Р2 Р3 СM1 СМ2 СМ3 - Коммутационная сеть 1-ая и 2-ая шины ВМ1 ВМ2 КВВ - Канал ввода-вывода Общая память ( общее адресное пространство) Рис. 11.1 Упрощѐнная схема системы МКМД с общей памятью 65 В состав данной системы входит арбитр (на каждую шину по одному арбитру – на рисунке не показаны), который регулирует доступ процессора к шине, т.к. процессор может одновременно работать только с одной шиной (т.к. кэш-память СМ у процессора - одна). Такая организация дает положительный эффект при наличии нескольких модулей памяти –ВМ. Любой процессор в данной системе может быть управляющим.  Он анализирует паспорта задач (в каждом есть таблица связности и временные ограничения)   Решает задачу назначения (в статическом режиме), т.е. выбирает стратегию назначения (либо из паспорта, либо с помощью своей экспертной системы).   Ведѐт мониторинг параллельных вычислений. Преимущества систем с общей памятью следующие.  1. Совместимость с хорошо понятными используемые как в однопроцессорных, так и многопроцессорных системах, механизмами, которые используют для обмена общую память. 2. Простота программирования, когда модели обмена между процессами сложные или динамически меняются во время выполнения. Подобные преимущества упрощают процесс создания компиляторов. 3. Более низкая задержка обмена и лучшее использование полосы пропускания при обмене малыми порциями данных. 4. Возможность использования аппаратно управляемого кэширования для снижения частоты доступа к общей памяти. Без предполагаемой поддержки со стороны аппаратуры все обращения к разделяемой памяти потребуют привлечения операционной системы как для преобразования адресов так и защиты памяти. 12. Проблема когерентности в ВС с общей памятью В системах с общей памятью кэши могут содержать как разделяемые («общие») , так и частные данные. Частные данные – это данные, которые используются одним процессором, в то время как разделяемые данные используются многими процессорами, по существу являясь причиной обменов между ними. Когда кэшируется элемент частных данных, их значение переносится в кэш для сокращения среднего времени доступа. Поскольку никакой другой процессор не использует эти данные, этот процесс идентичен процессу для однопроцессорной машины с кэш-памятью. Если кэшируются разделяемые данные, то их значение реплицируется и может содержаться в нескольких кэшах. Поэтому кэширование данных вызывает новую проблему – когерентность кэш-памяти. КЕШ ОП X'=200 X=100 Одна и та же переменная имеет разные значения в кэш-памяти и оперативной памяти. Это и есть нарушение когерентности. Если процессор один, то рано или поздно он 66 все поправит, но если несколько процессоров и одна оперативная память, хранящая данные одной большой задачи, то налицо нарушение когерентности, причем сразу у нескольких процессоров, которым нужно сообщить об этом нарушении. Поэтому, на стадии программирования необходимо помнить об этом и предусмотреть способы смягчения этой проблемы. Существует два механизма решения этой проблемы: 1. Наблюдение – каждый процессор наблюдает за движением данных, помеченных признаком достоверности, тогда процессор обратится за данными в ОП, а не в свою кэш-память. Причем, наблюдение ведется постоянно. Этот механизм позволяет не использовать ложные данные. Механизм наблюдения за магистралью заимствован из сетей. 2. Справочник – считается единым справочником, но фактически распределен (находится у каждой СМ). В справочнике хранится информация обо всех данных. В случае недостоверности общих данных в справочнике выставляется, что это данное недостоверно и передается сообщение об этом справочникам других процессоров. Отличие этого механизма состоит в том, что мы не отлавливаем информацию, а получаем Существуют следующие механизмы замены: 1. Обнуление (во всех IBM). Если общие данные изменились в i-м процессоре, то i-й процессор инициирует (сообщает) другим процессорам, что у них этого блока нет (в любой СМ есть АЗУ, в котором хранятся номера блоков, которые есть в СМ), т.е. обнуляем часть таблицы адресов (с данными не работаем), поэтому процессор обратится к СМ и увидит, что требуемого блока нет и обратится за ним к ОП. Признак недостоверности сохраняется в ОП до тех пор пока данные не будут обновлены (процесс обновления достаточно долгий). 2. Обновление. Если данные изменены, то необходимо посмотреть в справочнике и передать всем «свежие» данные. Это быстрее, но сложнее с точки зрения аппаратуры.
«Системы класса MIMD (МКМД)» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Тебе могут подойти лекции

Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot