ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.10.2023
Просмотров: 604
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
АРХИТЕКТУРЫ, ХАРАКТЕРИСТИКИ, КЛАССИФИКАЦИЯ ЭВМ
3. ФУНКЦИОНАЛЬНАЯ И СТРУКТУРНАЯ
4. ПРИНЦИПЫ ОРГАНИЗАЦИИ ПОДСИСТЕМЫ ПАМЯТИ ЭВМ И ВС
ОРГАНИЗАЦИЯ СИСТЕМНОГО ИНТЕРФЕЙСА И ВВОДА/ВЫВОДА ИНФОРМАЦИИ
МНОГОПРОЦЕССОРНЫЕ И МНОГОМАШИННЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ
оперативная память и т.д.). В результате аппаратные затраты возрастают чуть ли не в квадратичной зависимости, а производительность системы упорно «не желает» увели- чиваться пропорционально числу процессоров. То, что могут себе поз- волить дорогостоящие и сложные мэйнфреймы и суперкомпьютеры, не годится для компактных многопроцессорных серверов.
Для простой и «дешевой» поддержки многопроцессорной органи- зации была предложена архитектура SMP – мультипроцессирование с разделением памяти, предполагающая объединение процессоров на общей шине оперативной памяти. За аппаратную простоту реализации средств SMP приходится расплачиваться процессорным временем ожи- дания в очереди к шине оперативной памяти. В большинстве случаев пользователи готовы добавить в сервер один или более процессоров (но редко – более четырёх) в надежде увеличить производительность си- стемы. Стоимость этой операции ничтожна по сравнению со стоимо- стью всего сервера, а результат чаще всего оправдывает ожидания поль- зователя.
Пропускную способность памяти в таких системах можно значи- тельно увеличить путём применения больших многоуровневых кэшей. При этом кэши могут содержать как разделяемые, так и частные дан- ные. Частные данные – это данные, которые используются одним про- цессором, в то время как разделяемые данные используются многими процессорами, по существу обеспечивая обмен между ними. Если кэ- шируются разделяемые данные, то они реплицируются и могут содер- жаться в нескольких кэшах. Кроме сокращения задержки доступа и тре- буемой полосы пропускания, такая репликация данных способствует также общему сокращению количества обменов. Однако кэширование разделяемых данных вызывает новую проблему: когерентность кэш- памяти. Эта проблема возникает из-за того, что значение элемента дан- ных в памяти, используемое двумя разными процессорами, доступно этим процессорам только через их индивидуальные кэши. На рис. 6.2
показан простой пример, иллюстрирующий эту проблему, где А и В – кэшированные копии элементов А и В в основной памяти. Когерентное (адекватное) состояние кэша и основной памяти, когда А = А & В = B, изображено на рис. 6.2, а. Во втором случае (рис. 6.2, б) предполагается использование кэш-памяти с обратной записью, когда ЦП записывает
значение 550 в ячейку А. В результате А содержит новое значение, а в основной памяти осталось старое значение – 100. При попытке вы- вода Аиз памяти будет получено старое значение.
В третьем случае (рис. 6.2, в) подсистема ввода/вывода вводит в ячейку памяти В новое значение 440, а в кэш-памяти осталось старое значение В.
ЦП
ЦП
ЦП
а б в
Кэш
А B
Память
А
B
Ввод/вывод
Кэш
А B
Память
А
B
Ввод/вывод
Кэш
А B
Память
А
B
Ввод/вывод
Рис. 6.2. Кэш и память когерентны: A = A & B = B (a), кэш и память некогерентны: A ≠ A(б), кэш и память некогерентны: В ≠ В(в)
Обычно в малых мультипроцессорах (с небольшим количеством про- цессоров) используется аппаратный механизм, называемый протоколом когерентности кэш-памяти, позволяющий решить эту проблему.
Основное преимущество SMP – относительная простота про- граммирования. В ситуации, когда все процессоры имеют одинаково быстрый доступ к общей памяти, вопрос о том, какой из процессоров
какие вычисления будет выполнять, не столь принципиален, и значи- тельная часть вычислительных алгоритмов, разработанных для после- довательных компьютеров, может быть ускорена с помощью распарал- леливающих и векторизирующих трансляторов.
Архитектура SMP стала своего рода стандартом для всех совре- менных многопроцессорных серверов.
Существует несколько способов построения крупномасштабных систем с распределённой памятью.
Системы с массовым параллелизмом могут
содержать десятки, сотни и тысячи процессоров, объединённых коммутационными сетями самой различной формы – от простейшей двумерной решетки до гипер- куба. Достоинства такой архитектуры: во-первых, она использует стан- дартные микропроцессоры; во-вторых, если требуется высокая тера- флопсная производительность, то можно добавить в систему необходи- мое количество процессоров; в-третьих, если ограничены финансы или заранее известна требуемая вычислительная мощность, то легко подо- брать оптимальную конфигурацию.
Однако есть и решающий «минус», сводящий многие «плюсы» на нет. Дело в том, что межпроцессорное взаимодействие в компьютерах этого класса идет намного медленнее, чем происходит локальная обра- ботка данных самими процессорами. Именно поэтому написать эффек- тивную программу для таких компьютеров очень сложно, а для некото- рых алгоритмов иногда просто невозможно.
но по архитектуре SMP). Для достижения требуемой вычислительной мощности узлы объединяются высокоскоростными каналами.
Эффективность распараллеливания процессов во многих случаях сильно зависит от топологии соединения процессорных узлов. Идеаль- ной является топология, в которой любой узел мог бы напрямую свя- заться с любым другим узлом. Однако в кластерных системах это тех- нически трудно реализуемо. Обычно процессорные узлы в современных кластерных системах образуют или двумерную решетку, или гиперкуб.
Для синхронизации параллельно выполняющихся в узлах процес- сов необходим обмен сообщениями, которые должны доходить из лю-
бого узла системы в любой другой узел. При этом важной характери- стикой является максимальное расстояние между узлами. Если сравни- вать по этому параметру двумерную решетку и гиперкуб, то при увели- чении числа узлов топология гиперкуба является более выгодной.
Время передачи информации от узла к узлу зависит от стартовой задержки и скорости передачи. Прогресс в производительности процес- соров гораздо больше, чем в пропускной способности каналов связи. За время передачи процессорные узлы успевают выполнить большое коли- чество команд. Поэтому инфраструктура каналов связи является одной из главных компонент кластерной или МРР-системы.
Благодаря маштабируемости именно кластерные системы являются сегодня лидерами по достигнутой производительности.
Архитектура SMP
Для простой и «дешевой» поддержки многопроцессорной органи- зации была предложена архитектура SMP – мультипроцессирование с разделением памяти, предполагающая объединение процессоров на общей шине оперативной памяти. За аппаратную простоту реализации средств SMP приходится расплачиваться процессорным временем ожи- дания в очереди к шине оперативной памяти. В большинстве случаев пользователи готовы добавить в сервер один или более процессоров (но редко – более четырёх) в надежде увеличить производительность си- стемы. Стоимость этой операции ничтожна по сравнению со стоимо- стью всего сервера, а результат чаще всего оправдывает ожидания поль- зователя.
Пропускную способность памяти в таких системах можно значи- тельно увеличить путём применения больших многоуровневых кэшей. При этом кэши могут содержать как разделяемые, так и частные дан- ные. Частные данные – это данные, которые используются одним про- цессором, в то время как разделяемые данные используются многими процессорами, по существу обеспечивая обмен между ними. Если кэ- шируются разделяемые данные, то они реплицируются и могут содер- жаться в нескольких кэшах. Кроме сокращения задержки доступа и тре- буемой полосы пропускания, такая репликация данных способствует также общему сокращению количества обменов. Однако кэширование разделяемых данных вызывает новую проблему: когерентность кэш- памяти. Эта проблема возникает из-за того, что значение элемента дан- ных в памяти, используемое двумя разными процессорами, доступно этим процессорам только через их индивидуальные кэши. На рис. 6.2
показан простой пример, иллюстрирующий эту проблему, где А и В – кэшированные копии элементов А и В в основной памяти. Когерентное (адекватное) состояние кэша и основной памяти, когда А = А & В = B, изображено на рис. 6.2, а. Во втором случае (рис. 6.2, б) предполагается использование кэш-памяти с обратной записью, когда ЦП записывает
значение 550 в ячейку А. В результате А содержит новое значение, а в основной памяти осталось старое значение – 100. При попытке вы- вода Аиз памяти будет получено старое значение.
В третьем случае (рис. 6.2, в) подсистема ввода/вывода вводит в ячейку памяти В новое значение 440, а в кэш-памяти осталось старое значение В.
ЦП
ЦП
ЦП
а б в
|
100 |
|
200 |
|
Кэш
А B
|
100 |
|
200 |
|
Память
А
B
Ввод/вывод
Кэш
|
550 |
|
200 |
|
А B
|
100 |
|
200 |
|
Память
А
B
Ввод/вывод
Кэш
|
100 |
|
200 |
|
А B
|
100 |
|
440 |
|
Память
А
B
Ввод/вывод
Рис. 6.2. Кэш и память когерентны: A = A & B = B (a), кэш и память некогерентны: A ≠ A(б), кэш и память некогерентны: В ≠ В(в)
Обычно в малых мультипроцессорах (с небольшим количеством про- цессоров) используется аппаратный механизм, называемый протоколом когерентности кэш-памяти, позволяющий решить эту проблему.
Основное преимущество SMP – относительная простота про- граммирования. В ситуации, когда все процессоры имеют одинаково быстрый доступ к общей памяти, вопрос о том, какой из процессоров
какие вычисления будет выполнять, не столь принципиален, и значи- тельная часть вычислительных алгоритмов, разработанных для после- довательных компьютеров, может быть ускорена с помощью распарал- леливающих и векторизирующих трансляторов.
Архитектура SMP стала своего рода стандартом для всех совре- менных многопроцессорных серверов.
-
Слабосвязанные многопроцессорные системы
Существует несколько способов построения крупномасштабных систем с распределённой памятью.
-
Многомашинные системы. В таких системах отдельные ком- пьютеры объединяются либо с помощью сетевых средств, либо с помо- щью общей внешней памяти (обычно – дисковые накопители большой емкости). -
Системы с массовым параллелизмом МРР (Massively Parallel Processor). Идея построения систем этого класса тривиальна: берутся серийные микропроцессоры, снабжаются каждый своей локальной па- мятью, соединяются посредством некоторой коммуникационной среды, например сетью.
Системы с массовым параллелизмом могут
содержать десятки, сотни и тысячи процессоров, объединённых коммутационными сетями самой различной формы – от простейшей двумерной решетки до гипер- куба. Достоинства такой архитектуры: во-первых, она использует стан- дартные микропроцессоры; во-вторых, если требуется высокая тера- флопсная производительность, то можно добавить в систему необходи- мое количество процессоров; в-третьих, если ограничены финансы или заранее известна требуемая вычислительная мощность, то легко подо- брать оптимальную конфигурацию.
Однако есть и решающий «минус», сводящий многие «плюсы» на нет. Дело в том, что межпроцессорное взаимодействие в компьютерах этого класса идет намного медленнее, чем происходит локальная обра- ботка данных самими процессорами. Именно поэтому написать эффек- тивную программу для таких компьютеров очень сложно, а для некото- рых алгоритмов иногда просто невозможно.
-
Кластерные системы. Данное направление, строго говоря, не является самостоятельным, а, скорее, представляет собой комбинацию из архитектур SMP и МРР. Из нескольких стандартных микропроцессо- ров и общей для них памяти формируется вычислительный узел (обыч-
но по архитектуре SMP). Для достижения требуемой вычислительной мощности узлы объединяются высокоскоростными каналами.
Эффективность распараллеливания процессов во многих случаях сильно зависит от топологии соединения процессорных узлов. Идеаль- ной является топология, в которой любой узел мог бы напрямую свя- заться с любым другим узлом. Однако в кластерных системах это тех- нически трудно реализуемо. Обычно процессорные узлы в современных кластерных системах образуют или двумерную решетку, или гиперкуб.
Для синхронизации параллельно выполняющихся в узлах процес- сов необходим обмен сообщениями, которые должны доходить из лю-
бого узла системы в любой другой узел. При этом важной характери- стикой является максимальное расстояние между узлами. Если сравни- вать по этому параметру двумерную решетку и гиперкуб, то при увели- чении числа узлов топология гиперкуба является более выгодной.
Время передачи информации от узла к узлу зависит от стартовой задержки и скорости передачи. Прогресс в производительности процес- соров гораздо больше, чем в пропускной способности каналов связи. За время передачи процессорные узлы успевают выполнить большое коли- чество команд. Поэтому инфраструктура каналов связи является одной из главных компонент кластерной или МРР-системы.
Благодаря маштабируемости именно кластерные системы являются сегодня лидерами по достигнутой производительности.