20424

Мультипроцессоры

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-07-25

58 KB

15 чел.

0

1.3.1. Мультипроцессоры

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

Поскольку используется единая память, когда процессор А записывает слово в память, а процессор В микросекундой позже считывает слово из памяти, процессор В получает информацию, записанную в память процессором А. Память, обладающая таким поведением, называется согласованной (coherent). Проблема такой схемы состоит в том, что в случае уже 4 или 5 процессоров шина оказывается стабильно перегруженной и производительность резко падает. Решение состоит в размещении между процессором и шиной высокоскоростной кэш-памяти (cache memory), как показано на рис. 1.5. В кэше сохраняются данные, обращение к которым происходит наиболее часто. Все запросы к памяти происходят через кэш. Если запрошенные данные находятся в кэш-памяти, то на запрос процессора реагирует она и обращения к шине не выполняются. Если размер кэш-памяти достаточно велик, вероятность успеха, называемая также коэффициентом кэш-попаданий (hit rate), велика и шинный трафик в расчете на один процессор резко уменьшается, позволяя включить в систему значительно больше процессоров. Общепринятыми являются размеры кэша от 512 Кбайт до 1 Мбайт, коэффициент кэш-попаданий при этом обычно составляет 90 % и более.

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

Проблема мультипроцессорных систем шинной архитектуры состоит в их ограниченной масштабируемости, даже в случае использования кэша. Для построения мультипроцессорной системы с более чем 256 процессорами для соединения процессоров с памятью необходимы другие методы. Один из вариантов — разделить общую память на модули и связать их с процессорами через коммутирующую решетку (crossbar switch), как показано на рис. 1.6, а. Как видно из рисунка, с ее помощью каждый процессор может быть связан с любым модулем памяти. Каждое пересечение представляет собой маленький электронный узловой коммутатор (crosspoint switch), который может открываться и закрываться аппаратно. Когда процессор желает получить доступ к конкретному модулю памяти, соединяющие их узловые коммутаторы мгновенно открываются, организуя запрошенный доступ. Достоинство узловых коммутаторов в том, что к памяти могут одновременно обращаться несколько процессоров, хотя если два процессора одновременно хотят получить доступ к одному и тому же участку памяти, то одному из них придется подождать.

Недостатком коммутирующей решетки является то, что при наличии n процессоров и n модулей памяти нам потребуется n2 узловых коммутаторов. Для больших значений n это число может превысить наши возможности. Обнаружив это, человечество стало искать и нашло альтернативные коммутирующие сети, требующие меньшего количества коммутаторов. Один из примеров таких сетей — омегасеть (omega network), представленная на рис. 1.6, б. Эта сеть содержит четыре коммутатора 2x2, то есть каждый из них имеет по два входа и два выхода. Каждый коммутатор может соединять любой вход с любым выходом. Если внимательно изучить возможные положения коммутаторов, становится ясно, что любой процессор может получить доступ к любому блоку памяти. Недостаток коммутирующих сетей состоит в том, что сигнал, идущий от процессора к памяти или обратно, вынужден проходить через несколько коммутаторов. Поэтому, чтобы снизить задержки между процессором и памятью, коммутаторы должны иметь очень высокое быстродействие, а дешево это не дается.

Люди пытаются уменьшить затраты на коммутацию путем перехода к иерархическим системам. В этом случае с каждым процессором ассоциируется некоторая область памяти. Каждый процессор может быстро получить доступ к своей области памяти. Доступ к другой области памяти происходит значительно медленнее. Эта идея была реализована в машине с неунифицированным доступом к памяти (NonUniform Memory Access, NUMA). Хотя машины NUMA имеют лучшее среднее время доступа к памяти, чем машины на базе омегасетей, у них есть свои проблемы, связанные с тем, что размещение программ и данных необходимо производить так, чтобы большая часть обращений шла к локальной памяти.


 

А также другие работы, которые могут Вас заинтересовать

42693. Participating in meeting. Giving your opinion. Asking for opinions. Agreeing and disagreeing 128 KB
  Discussion You re prticipting in meeting where people hve lots of different opinions. Listen to wht people sy. Listen to wht people re sying Be discourged if people interrupt you. Four people give their opinion.
42694. Тестирование с целью определения характеристик компьютерной системы 146 KB
  4 dobe Bridge 1.0 dobe Common File Instller 1.0000 dobe Flsh Plyer 10 ctiveX 10.64 dobe Flsh Plyer 10 Plugin 10.
42695. Гидродинамика псевдосжиженого слоя 35 KB
  Гидродинамика псевдосжиженого слоя. Определение критической скорости газа Wкр скорости начала уноса слоя Gсл и расхода газа Vук при котором начинается унос твердых частиц из аппарата. Сопротивление кипящего слоя показывает дифманометр 10 который измеряет разность давлений внутри аппарата над кипящим слоем и под решёткой. После загрузки в аппарат измеряется высота слоя.
42696. Коммерческая работа по организации хозяйственных связей с поставщиками ювелирных изделий 779.5 KB
  Раскрыть сущность и содержание коммерческой работы по организации хозяйственных связей с поставщиками, их правовое регулирование; выявить факторы, влияющие на организацию хозяйственных связей с поставщиками; дать экономико-организационную характеристику ЗАО «ПроРАМПО»; провести анализ информационного обеспечения коммерческой деятельности и работы по определению потребности в товарах; охарактеризовать поставщиков ювелирных изделий;
42697. ОЗНАКОМЛЕНИЕ С ПАКЕТОМ АНАЛИЗА ЭЛЕКТРОННЫХ СХЕМ WORKBENCH 102.5 KB
  Необходимо: знать состав пакета его возможности а также используемые математические модели с помощью которых в нем описываются компоненты РЭА; уметь пользоваться меню и контекстной помощью; уметь самостоятельно набирать схемы в графическом редакторе пакета; знать и понимать принцип действия реальных измерительных приборов аналоги которых применяются в пакете; уметь объяснить отличие реальных приборов от их моделей; знать чем вызваны погрешности измерения и их теорию; уметь анализировать схемы с помощью средств пакета....
42698. Основные приемы программирования. Разветвления 78.5 KB
  h подключение библиотеки switch это оператор для выбора одного из многих продолжений cout счет вывод cse N выбор условия flot тип данных printf вывод scnf считывание defult: brek завершение условия switch= count= brek if else условие Текст программы решения задачи на языке высокого уровня С include stdfx.h int min { setlocleLC_LL RUS ;int lm = 0; для меню cout Выберите желаемое действие: endl; cout 1: Решить задачу: endl; cout 2: Выйти из приложения без решения задачи endl; cout Введите желаемое действие: ;...
42700. Алгоритмизация циклических вычислительных процессов 101 KB
  Спецификации всех разработанных процедур и/или функций. Данная программа считает заданную по условию задачи формулу, находит сумму чисел, а также наибольшее число и выводит все это на экран. Программа реализованна в связи с условиями задачи т.е создает массив нужный пользователю далее с помощью 3 разных циклов for, while (постусловием), while (предусловвием) выполняет условия задачи.
42701. Создание игры Spider 2 154 KB
  Успех вашего проекта во многом будет зависеть от выбранной вами платформой под которую будет вестись разработка, жанра игры и аудитории на которую рассчитана эта игра. Проект, процесс разработки которого, я бы хотел описать в этой курсовой работе я начал разрабатывать, потому что мне это нравится и я хотел получить опыт разработки под платформу Android